redfish

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2021 License: BSD-3-Clause Imports: 9 Imported by: 76

Documentation

Index

Constants

View Source
const MessageIDSectionLength = 4

Variables

View Source
var SupportedEventTypes = map[string]EventType{
	"Alert":                    AlertEventType,
	"ResourceAdded":            ResourceAddedEventType,
	"ResourceRemovedEventType": ResourceRemovedEventType,
	"ResourceUpdated":          ResourceUpdatedEventType,
	"StatusChange":             StatusChangeEventType,
}

SupportedEventTypes contains a map of supported EventType

Functions

func AllowedVolumesUpdateApplyTimes added in v0.6.0

func AllowedVolumesUpdateApplyTimes(c common.Client, link string) ([]common.OperationApplyTime, error)

AllowedVolumesUpdateApplyTimes returns the set of allowed apply times to request when setting the volumes values

func CreateEventDestination added in v0.6.0

func CreateEventDestination(
	c common.Client,
	uri string,
	destination string,
	eventTypes []EventType,
	httpHeaders map[string]string,
	protocol EventDestinationProtocol,
	context string,
	oem interface{},
) (string, error)

CreateEventDestination will create a EventDestination instance. destination should contain the URL of the destination for events to be sent. eventTypes is a list of EventType to subscribe to. httpHeaders is optional and gives the opportunity to specify any arbitrary HTTP headers required for the event POST operation. protocol should be the communication protocol of the event endpoint, usually RedfishEventDestinationProtocol context is a required client-supplied string that is sent with the event notifications oem is optional and gives the opportunity to specify any OEM specific properties, it should contain the vendor specific struct that goes inside the Oem session. It returns the new subscription URI if the event subscription is created with success or any error encountered.

func DeleteEventDestination added in v0.6.0

func DeleteEventDestination(c common.Client, uri string) (err error)

DeleteEventDestination will delete a EventDestination.

func DeleteSession

func DeleteSession(c common.Client, sessionURL string) (err error)

DeleteSession deletes a session using the location as argument

Types

type AccountProviderTypes added in v0.5.0

type AccountProviderTypes string

AccountProviderTypes is

const (

	// RedfishServiceAccountProviderTypes shall be a DMTF Redfish
	// Specification-comformant service.  The ServiceAddresses format shall
	// contain a set of URIs that correspond to a Redfish Account Service.
	RedfishServiceAccountProviderTypes AccountProviderTypes = "RedfishService"
	// ActiveDirectoryServiceAccountProviderTypes shall be a Microsoft Active
	// Directory Technical Specification-comformant service.  The
	// ServiceAddresses format shall contain a set of fully qualified domain
	// names (FQDN) or NetBIOS names that links to the set of domain servers
	// for the Active Directory Service.
	ActiveDirectoryServiceAccountProviderTypes AccountProviderTypes = "ActiveDirectoryService"
	// LDAPServiceAccountProviderTypes shall be an RFC4511-conformant
	// service.  The ServiceAddresses format shall contain a set of fully
	// qualified domain names (FQDN) that links to the set of LDAP servers
	// for the Service.
	LDAPServiceAccountProviderTypes AccountProviderTypes = "LDAPService"
	// OEMAccountProviderTypes An OEM-specific external authentication or
	// directory service.
	OEMAccountProviderTypes AccountProviderTypes = "OEM"
)

type AccountService

type AccountService struct {
	common.Entity
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AccountLockoutCounterResetAfter shall contain the
	// period of time, in seconds, from the last failed login attempt when
	// the AccountLockoutThreshold counter, which counts the number of failed
	// login attempts, is reset to `0`.  Then, AccountLockoutThreshold
	// failures are required before the account is locked.  This value shall
	// be less than or equal to the AccountLockoutDuration value.  The
	// threshold counter also resets to `0` after each successful login.  If
	// the AccountLockoutCounterResetEnabled value is `false`, this property
	// shall be ignored.
	AccountLockoutCounterResetAfter int
	// AccountLockoutCounterResetEnabled shall indicate
	// whether the threshold counter is reset after the
	// AccountLockoutCounterResetAfter expires.  If `true`, it is reset.  If
	// `false`, only a successful login resets the threshold counter and if
	// the user reaches the AccountLockoutThreshold limit, the account shall
	// be locked out indefinitely and only an administrator-issued reset
	// clears the threshold counter.  If this property is absent, the default
	// is `true`.
	AccountLockoutCounterResetEnabled bool
	// AccountLockoutDuration shall contain the period of
	// time, in seconds, that an account is locked after the number of failed
	// login attempts reaches the AccountLockoutThreshold value, within the
	// AccountLockoutCounterResetAfter window of time.  The value shall be
	// greater than or equal to the AccountLockoutResetAfter value.  If this
	// value is `0`, no lockout shall occur.  If
	// AccountLockoutCounterResetEnabled value is `false`, this property
	// shall be ignored.
	AccountLockoutDuration int
	// AccountLockoutThreshold shall contain the threshold
	// of failed login attempts before a user account is locked.  If `0`, the
	// account shall never be locked.
	AccountLockoutThreshold int

	// activeDirectory shall contain the first Active
	// Directory external account provider that this Account Service
	// supports.  If the Account Service supports one or more Active
	// Directory services as an external account provider, this entity shall
	// be populated by default.  This entity shall not be present in the
	// AdditionalExternalAccountProviders Resource Collection.
	// activeDirectory string
	// additionalExternalAccountProviders shall contain the
	// additional external account providers that this Account Service uses.
	// additionalExternalAccountProviders string
	// AuthFailureLoggingThreshold shall contain the
	// threshold for when an authorization failure is logged.  This value
	// represents a modulo function.  The failure shall be logged every `n`th
	// occurrence, where `n` represents this property.
	AuthFailureLoggingThreshold int
	// Description provides a description of this resource.
	Description string
	// LDAP shall contain the first LDAP external account
	// provider that this Account Service supports.  If the Account Service
	// supports one or more LDAP services as an external account provider,
	// this entity shall be populated by default.  This entity shall not be
	// present in the AdditionalExternalAccountProviders Resource Collection.
	LDAP ExternalAccountProvider
	// LocalAccountAuth shall govern how the Service uses
	// the Accounts Resource Collection within this Account Service as part
	// of authentication.  The enumerated values describe the details for
	// each mode.
	LocalAccountAuth LocalAccountAuth
	// MaxPasswordLength shall contain the maximum password
	// length that the implementation allows for this Account Service.
	MaxPasswordLength int
	// MinPasswordLength shall contain the minimum password
	// length that the implementation allows for this Account Service.
	MinPasswordLength int

	// ServiceEnabled shall indicate whether the Account
	// Service is enabled.  If `true`, it is enabled.  If `false`, it is
	// disabled and users cannot be created, deleted, or modified, and new
	// sessions cannot be started.  However, established sessions may still
	// continue to run.  Any service, such as the Session Service, that
	// attempts to access the disabled Account Service fails.  However, this
	// does not affect HTTP Basic Authentication connections.
	ServiceEnabled bool
	// Status shall contain any status or health properties
	// of the Resource.
	Status common.Status
	// contains filtered or unexported fields
}

AccountService contains properties for managing user accounts. The properties are common to all user accounts, such as password requirements, and control features such as account lockout. The schema also contains links to the collections of Manager Accounts and Roles.

func GetAccountService

func GetAccountService(c common.Client, uri string) (*AccountService, error)

GetAccountService will get the AccountService instance from the Redfish service.

func (*AccountService) Accounts

func (accountservice *AccountService) Accounts() ([]*ManagerAccount, error)

Accounts get the accounts from the account service

func (*AccountService) Roles

func (accountservice *AccountService) Roles() ([]*Role, error)

Roles gets the roles from the account service

func (*AccountService) UnmarshalJSON

func (accountservice *AccountService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals an AccountService object from the raw JSON.

func (*AccountService) Update added in v0.5.0

func (accountservice *AccountService) Update() error

Update commits updates to this object's properties to the running system.

type AccountTypes added in v0.5.0

type AccountTypes string

AccountTypes is the type of the account.

const (

	// RedfishAccountTypes Allow access to the Redfish Service.
	RedfishAccountTypes AccountTypes = "Redfish"
	// SNMPAccountTypes Allow access to SNMP services.
	SNMPAccountTypes AccountTypes = "SNMP"
	// OEMAccountTypes OEM account type.
	OEMAccountTypes AccountTypes = "OEM"
)

type AddressState

type AddressState string

AddressState is the state of the address.

const (
	// PreferredAddressState This address is currently within both it's valid
	// and preferred lifetimes as defined in RFC 4862.
	PreferredAddressState AddressState = "Preferred"
	// DeprecatedAddressState This address is currently within it's valid
	// lifetime, but is now outside of it's preferred lifetime as defined in
	// RFC 4862.
	DeprecatedAddressState AddressState = "Deprecated"
	// TentativeAddressState This address is currently undergoing Duplicate
	// Address Detection testing as defined in RFC 4862 section 5.4.
	TentativeAddressState AddressState = "Tentative"
	// FailedAddressState This address has failed Duplicate Address Detection
	// testing as defined in RFC 4862 section 5.4 and is not currently in
	// use.
	FailedAddressState AddressState = "Failed"
)

type AlarmTrips

type AlarmTrips struct {
	// AddressParityError shall be true if an Address Parity Error was detected
	// which could not be corrected by retry.
	AddressParityError bool
	// CorrectableECCError shall be true if the correctable error threshold
	// crossing alarm trip was detected.
	CorrectableECCError bool
	// SpareBlock shall be true if the spare block capacity crossing alarm trip
	// was detected.
	SpareBlock bool
	// Temperature shall be true if a temperature threshold alarm trip was detected.
	Temperature bool
	// UncorrectableECCError shall be true if the uncorrectable error threshold
	// alarm trip was detected.
	UncorrectableECCError bool
}

AlarmTrips shall contain properties describing the types of alarms that have been raised by the memory. These alarms shall be reset when the system resets. Note that if they are re-discovered they can be reasserted.

type Assembly

type Assembly struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Assemblies shall be the definition for assembly records for a Redfish
	// implementation.
	Assemblies []AssemblyData
	// Assemblies@odata.count is
	AssembliesCount int `json:"Assemblies@odata.count"`
	// Description provides a description of this resource.
	Description string
	// contains filtered or unexported fields
}

Assembly is used to represent an assembly information resource for a Redfish implementation.

func GetAssembly

func GetAssembly(c common.Client, uri string) (*Assembly, error)

GetAssembly will get a Assembly instance from the service.

func ListReferencedAssemblys

func ListReferencedAssemblys(c common.Client, link string) ([]*Assembly, error)

ListReferencedAssemblys gets the collection of Assembly from a provided reference.

func (*Assembly) UnmarshalJSON added in v0.5.0

func (assembly *Assembly) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Assembly object from the raw JSON.

func (*Assembly) Update added in v0.5.0

func (assembly *Assembly) Update() error

Update commits updates to this object's properties to the running system.

type AssemblyData

type AssemblyData struct {
	// BinaryDataURI shall be a URI at which the Service provides for the
	// download of the OEM-specific binary image of the assembly data. An HTTP
	// GET from this URI shall return a response payload of MIME time
	// application/octet-stream. An HTTP PUT to this URI, if supported by the
	// Service, shall replace the binary image of the assembly.
	BinaryDataURI string
	// Description provides a description of this resource.
	Description string
	// EngineeringChangeLevel shall be the Engineering Change Level (ECL) or
	// revision of the assembly.
	EngineeringChangeLevel string
	// MemberID shall uniquely identify the member within the collection.
	MemberID string
	// Model shall be the name by which the manufacturer generally refers to the
	// assembly.
	Model string
	// Name provides the name of the resource.
	Name string
	// PartNumber shall be the part number of the assembly.
	PartNumber string
	// PhysicalContext shall be a description of the physical context for this
	// assembly data.
	PhysicalContext string
	// Producer shall be the name of the company which supplied or manufactured
	// this assembly. This value shall be equal to the 'Manufacturer' field in a
	// PLDM FRU structure, if applicable, for this assembly.
	Producer string
	// ProductionDate shall be the date of production or manufacture for this
	// assembly. The time of day portion of the property shall be '00:00:00Z' if
	// the time of day is unknown.
	ProductionDate string
	// SKU shall be the name of the assembly.
	SKU string
	// SerialNumber is used to identify the assembly.
	SerialNumber string
	// SparePartNumber shall be the name of the assembly.
	SparePartNumber string
	// Status is This property shall contain any status or health properties
	// of the resource.
	Status common.Status
	// Vendor shall be the name of the company which provides the final product
	// that includes this assembly. This value shall be equal to the 'Vendor'
	// field in a PLDM FRU structure, if applicable, for this assembly.
	Vendor string
	// Version shall be the version of the assembly as determined by the vendor
	// or supplier.
	Version string
}

AssemblyData is information about an assembly.

type AuthToken

type AuthToken struct {
	Token     string
	Session   string
	Username  string
	Password  string
	BasicAuth bool
}

AuthToken contains the authentication and session information.

func CreateSession

func CreateSession(c common.Client, uri, username, password string) (auth *AuthToken, err error)

CreateSession creates a new session and returns the token and id

type Authentication added in v0.5.0

type Authentication struct {

	// AuthenticationType is used to connect to the external account
	// provider.
	AuthenticationType AuthenticationTypes
	// KerberosKeytab shall contain a Base64-encoded version
	// of the Kerberos keytab for this Service.  A PATCH or PUT operation
	// writes the keytab.  The value shall be `null` in responses.
	KerberosKeytab string
	// Password shall contain the password for this Service.
	// A PATCH or PUT operation writes the password.  The value shall be
	// `null` in responses.
	Password string
	// Token shall contain the token for this Service.  A
	// PATCH or PUT operation writes the token.  The value shall be `null` in
	// responses.
	Token string
	// Username shall contain the user name for this
	// Service.
	Username string
}

Authentication is shall contain the information required to authenticate to the external service.

type AuthenticationMethod

type AuthenticationMethod string

AuthenticationMethod is the method used for authentication.

const (
	// NoneAuthenticationMethod No iSCSI authentication is used.
	NoneAuthenticationMethod AuthenticationMethod = "None"
	// CHAPAuthenticationMethod iSCSI Challenge Handshake Authentication
	// Protocol (CHAP) authentication is used.
	CHAPAuthenticationMethod AuthenticationMethod = "CHAP"
	// MutualCHAPAuthenticationMethod iSCSI Mutual Challenge Handshake
	// Authentication Protocol (CHAP) authentication is used.
	MutualCHAPAuthenticationMethod AuthenticationMethod = "MutualCHAP"
)

type AuthenticationMode

type AuthenticationMode string

AuthenticationMode is the method used for authentication.

const (

	// AuthNoneAuthenticationMode Requests without any sort of authentication
	// are allowed.
	AuthNoneAuthenticationMode AuthenticationMode = "AuthNone"
	// BasicAuthAuthenticationMode Requests using HTTP Basic Authentication
	// are allowed.
	BasicAuthAuthenticationMode AuthenticationMode = "BasicAuth"
	// RedfishSessionAuthAuthenticationMode Requests using Redfish Session
	// Authentication are allowed.
	RedfishSessionAuthAuthenticationMode AuthenticationMode = "RedfishSessionAuth"
	// OemAuthAuthenticationMode Requests using OEM authentication mechanisms
	// are allowed.
	OemAuthAuthenticationMode AuthenticationMode = "OemAuth"
)

type AuthenticationTypes added in v0.5.0

type AuthenticationTypes string

AuthenticationTypes is

const (

	// TokenAuthenticationTypes An opaque authentication token.
	TokenAuthenticationTypes AuthenticationTypes = "Token"
	// KerberosKeytabAuthenticationTypes A Kerberos keytab.
	KerberosKeytabAuthenticationTypes AuthenticationTypes = "KerberosKeytab"
	// UsernameAndPasswordAuthenticationTypes A user name and password
	// combination.
	UsernameAndPasswordAuthenticationTypes AuthenticationTypes = "UsernameAndPassword"
	// OEMAuthenticationTypes An OEM-specific authentication mechanism.
	OEMAuthenticationTypes AuthenticationTypes = "OEM"
)

type BaseModuleType

type BaseModuleType string

BaseModuleType is the type of module.

const (
	// RDIMMBaseModuleType Registered DIMM.
	RDIMMBaseModuleType BaseModuleType = "RDIMM"
	// UDIMMBaseModuleType UDIMM.
	UDIMMBaseModuleType BaseModuleType = "UDIMM"
	// SODIMMBaseModuleType SO_DIMM.
	SODIMMBaseModuleType BaseModuleType = "SO_DIMM"
	// LRDIMMBaseModuleType Load Reduced.
	LRDIMMBaseModuleType BaseModuleType = "LRDIMM"
	// MiniRDIMMBaseModuleType Mini_RDIMM.
	MiniRDIMMBaseModuleType BaseModuleType = "Mini_RDIMM"
	// MiniUDIMMBaseModuleType Mini_UDIMM.
	MiniUDIMMBaseModuleType BaseModuleType = "Mini_UDIMM"
	// SORDIMM72bBaseModuleType SO_RDIMM_72b.
	SORDIMM72bBaseModuleType BaseModuleType = "SO_RDIMM_72b"
	// SOUDIMM72bBaseModuleType SO_UDIMM_72b.
	SOUDIMM72bBaseModuleType BaseModuleType = "SO_UDIMM_72b"
	// SODIMM16bBaseModuleType SO_DIMM_16b.
	SODIMM16bBaseModuleType BaseModuleType = "SO_DIMM_16b"
	// SODIMM32bBaseModuleType SO_DIMM_32b.
	SODIMM32bBaseModuleType BaseModuleType = "SO_DIMM_32b"
	// DieBaseModuleType A die within a package.
	DieBaseModuleType BaseModuleType = "Die"
)

type Bios

type Bios struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AttributeRegistry is the Resource ID of the Attribute Registry that has
	// the system-specific information about a BIOS resource.
	AttributeRegistry string
	// This property shall contain the list of BIOS attributes and their values
	// as determined by the manufacturer or provider. This object shall
	// describe BIOS attribute settings as additional properties. If the object
	// specifies a BIOS Attribute Registry, attributes shall be looked up in
	// that Attribute Registry by their attribute name. Attributes in this
	// Attribute Registry with the AttributeType of Enumeration shall use valid
	// ValueName values in this object, as listed in that Attribute Registry.
	Attributes BiosAttributes
	// Attributes are additional properties in this object, and can be looked up
	// in the Attribute Registry by their AttributeName.
	// Attributes string
	// Description provides a description of this resource.
	Description string
	// contains filtered or unexported fields
}

Bios is used to represent BIOS attributes.

func GetBios

func GetBios(c common.Client, uri string) (*Bios, error)

GetBios will get a Bios instance from the service.

func ListReferencedBioss

func ListReferencedBioss(c common.Client, link string) ([]*Bios, error)

ListReferencedBioss gets the collection of Bios from a provided reference.

func (*Bios) AllowedAttributeUpdateApplyTimes added in v0.6.0

func (bios *Bios) AllowedAttributeUpdateApplyTimes() []common.ApplyTime

AllowedAttributeUpdateApplyTimes returns the set of allowed apply times to request when setting the Bios attribute values.

func (*Bios) ChangePassword

func (bios *Bios) ChangePassword(passwordName, oldPassword, newPassword string) error

ChangePassword shall change the selected BIOS password.

func (*Bios) ResetBios

func (bios *Bios) ResetBios() error

ResetBios shall perform a reset of the BIOS attributes to their default values. A system reset may be required for the default values to be applied. This action may impact other resources.

func (*Bios) UnmarshalJSON

func (bios *Bios) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals an Bios object from the raw JSON.

func (*Bios) UpdateBiosAttributes added in v0.6.0

func (bios *Bios) UpdateBiosAttributes(attrs BiosAttributes) error

UpdateBiosAttributes is used to update attribute values.

type BiosAttributes added in v0.4.0

type BiosAttributes map[string]interface{}

BiosAttributes handles the Bios attribute values that may be any of several types and adds some basic helper methods to make accessing values easier.

func (BiosAttributes) Bool added in v0.4.0

func (ba BiosAttributes) Bool(name string) bool

Bool gets the value as a boolean or returns false.

func (BiosAttributes) Float64 added in v0.4.0

func (ba BiosAttributes) Float64(name string) float64

Float64 gets the value as a float64 or 0 if that is not possible.

func (BiosAttributes) Int added in v0.4.0

func (ba BiosAttributes) Int(name string) int

Int gets the value as an integer or 0 if that is not possible.

func (BiosAttributes) String added in v0.4.0

func (ba BiosAttributes) String(name string) string

String gets the string representation of the attribute value.

type Boot

type Boot struct {
	// AliasBootOrder shall be an ordered array
	// of boot source aliases (of type BootSource) representing the
	// persistent Boot Order of this computer system.
	AliasBootOrder []string `json:",omitempty"`
	// BootNext shall be the
	// BootOptionReference of the UEFI Boot Option for one time boot, as
	// defined by the UEFI Specification. The valid values for this property
	// are specified in the values of the BootOrder array.
	// BootSourceOverrideEnabled = Continuous is not supported for UEFI
	// BootNext as this setting is defined in UEFI as a one-time boot only.
	BootNext string `json:",omitempty"`

	// BootOrder shall be an ordered array of
	// BootOptionReference strings representing the persistent Boot Order of
	// this computer system. For UEFI systems, this is the UEFI BootOrder as
	// defined by the UEFI Specification.
	BootOrder []string `json:",omitempty"`
	// BootOrderPropertySelection shall
	// indicate which boot order property the system uses when specifying the
	// persistent boot order.
	BootOrderPropertySelection string `json:",omitempty"`
	// BootSourceOverrideEnabled shall be Once
	// if this is a one time boot override and Continuous if this selection
	// should remain active until cancelled. If the property value is set to
	// Once, the value will be reset back to Disabled after the
	// BootSourceOverrideTarget actions have been completed. Changes to this
	// property do not alter the BIOS persistent boot order configuration.
	BootSourceOverrideEnabled BootSourceOverrideEnabled `json:",omitempty"`
	// BootSourceOverrideMode shall be Legacy
	// for non-UEFI BIOS boot or UEFI for UEFI boot from boot source
	// specified in BootSourceOverrideTarget property.
	BootSourceOverrideMode BootSourceOverrideMode `json:",omitempty"`
	// BootSourceOverrideTarget shall contain
	// the source to boot the system from, overriding the normal boot order.
	// The valid values for this property are specified through the
	// Redfish.AllowableValues annotation. Pxe indicates to PXE boot from the
	// primary NIC; Floppy, Cd, Usb, Hdd indicates to boot from their devices
	// respectively. BiosSetup indicates to boot into the native BIOS screen
	// setup. Utilities and Diags indicate to boot from the local utilities
	// or diags partitions. UefiTarget indicates to boot from the UEFI device
	// path found in UefiTargetBootSourceOverride. UefiBootNext indicates to
	// boot from the UEFI BootOptionReference found in BootNext. Changes to
	// this property do not alter the BIOS persistent boot order
	// configuration.
	BootSourceOverrideTarget BootSourceOverrideTarget `json:",omitempty"`
	// UefiTargetBootSourceOverride shall be
	// the UEFI device path of the override boot target. The valid values for
	// this property are specified through the Redfish.AllowableValues
	// annotation. BootSourceOverrideEnabled = Continuous is not supported
	// for UEFI Boot Source Override as this setting is defined in UEFI as a
	// one time boot only. Changes to this property do not alter the BIOS
	// persistent boot order configuration.
	UefiTargetBootSourceOverride string `json:",omitempty"`
	// contains filtered or unexported fields
}

Boot contains properties which describe boot information for a system.

func (*Boot) UnmarshalJSON

func (boot *Boot) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Boot object from the raw JSON.

type BootMode

type BootMode string

BootMode is the boot operation mode.

const (
	// DisabledBootMode Do not indicate to UEFI/BIOS that this device is
	// bootable.
	DisabledBootMode BootMode = "Disabled"
	// PXEBootMode Boot this device using the embedded PXE support. Only
	// applicable if the NetworkDeviceFunctionType is set to Ethernet.
	PXEBootMode BootMode = "PXE"
	// ISCSIBootMode Boot this device using the embedded iSCSI boot support
	// and configuration. Only applicable if the NetworkDeviceFunctionType
	// is set to iSCSI.
	ISCSIBootMode BootMode = "iSCSI"
	// FibreChannelBootMode Boot this device using the embedded Fibre Channel
	// support and configuration. Only applicable if the
	// NetworkDeviceFunctionType is set to FibreChannel.
	FibreChannelBootMode BootMode = "FibreChannel"
	// FibreChannelOverEthernetBootMode Boot this device using the embedded
	// Fibre Channel over Ethernet (FCoE) boot support and configuration.
	// Only applicable if the NetworkDeviceFunctionType is set to
	// FibreChannelOverEthernet.
	FibreChannelOverEthernetBootMode BootMode = "FibreChannelOverEthernet"
)

type BootOrderTypes

type BootOrderTypes string

BootOrderTypes is the choice of boot order property to use when controller the persistent boot order for this computer system.

const (

	// BootOrderBootOrderTypes indicates an ordered array of persistent boot
	// order for this system.
	BootOrderBootOrderTypes BootOrderTypes = "BootOrder"
	// AliasBootOrderBootOrderTypes  indicates an ordered array of aliased
	// persistent boot order for this system.
	AliasBootOrderBootOrderTypes BootOrderTypes = "AliasBootOrder"
)

type BootSourceOverrideEnabled

type BootSourceOverrideEnabled string

BootSourceOverrideEnabled describes the state of the Boot Source Override feature.

const (

	// DisabledBootSourceOverrideEnabled the system will boot normally.
	DisabledBootSourceOverrideEnabled BootSourceOverrideEnabled = "Disabled"
	// OnceBootSourceOverrideEnabled on its next boot cycle, the system will
	// boot (one time) to the Boot Source Override Target. The value of
	// BootSourceOverrideEnabled is then reset back to Disabled.
	OnceBootSourceOverrideEnabled BootSourceOverrideEnabled = "Once"
	// ContinuousBootSourceOverrideEnabled the system will boot to the target
	// specified in the BootSourceOverrideTarget until this property is set
	// to Disabled.
	ContinuousBootSourceOverrideEnabled BootSourceOverrideEnabled = "Continuous"
)

type BootSourceOverrideMode

type BootSourceOverrideMode string

BootSourceOverrideMode is the BIOS mode (Legacy or UEFI) to be used.

const (

	// LegacyBootSourceOverrideMode the system will boot in non-UEFI boot
	// mode to the Boot Source Override Target.
	LegacyBootSourceOverrideMode BootSourceOverrideMode = "Legacy"
	// UEFIBootSourceOverrideMode the system will boot in UEFI boot mode to
	// the Boot Source Override Target.
	UEFIBootSourceOverrideMode BootSourceOverrideMode = "UEFI"
)

type BootSourceOverrideTarget

type BootSourceOverrideTarget string

BootSourceOverrideTarget the current boot source to be used at next boot instead of the normal boot device, if BootSourceOverrideEnabled is true.

const (
	// NoneBootSourceOverrideTarget boot from the normal boot device
	NoneBootSourceOverrideTarget BootSourceOverrideTarget = "None"
	// PxeBootSourceOverrideTarget boot from the Pre-Boot EXecution (PXE) environment.
	PxeBootSourceOverrideTarget BootSourceOverrideTarget = "Pxe"
	// FloppyBootSourceOverrideTarget boot from the floppy disk drive
	FloppyBootSourceOverrideTarget BootSourceOverrideTarget = "Floppy"
	// CdBootSourceOverrideTarget boot from the CD/DVD disc
	CdBootSourceOverrideTarget BootSourceOverrideTarget = "Cd"
	// UsbBootSourceOverrideTarget boot from a USB device as specified by the system BIOS
	UsbBootSourceOverrideTarget BootSourceOverrideTarget = "Usb"
	// HddBootSourceOverrideTarget boot from a hard drive
	HddBootSourceOverrideTarget BootSourceOverrideTarget = "Hdd"
	// BiosSetupBootSourceOverrideTarget boot to the BIOS Setup Utility
	BiosSetupBootSourceOverrideTarget BootSourceOverrideTarget = "BiosSetup"
	// UtilitiesBootSourceOverrideTarget boot the manufacturer's Utilities program(s)
	UtilitiesBootSourceOverrideTarget BootSourceOverrideTarget = "Utilities"
	// DiagsBootSourceOverrideTarget boot the manufacturer's Diagnostics program
	DiagsBootSourceOverrideTarget BootSourceOverrideTarget = "Diags"
	// UefiShellBootSourceOverrideTarget boot to the UEFI Shell.
	UefiShellBootSourceOverrideTarget BootSourceOverrideTarget = "UefiShell"
	// UefiTargetBootSourceOverrideTarget boot to the UEFI Device specified in the UefiTargetBootSourceOverride property.
	UefiTargetBootSourceOverrideTarget BootSourceOverrideTarget = "UefiTarget"
	// SDCardBootSourceOverrideTarget boot from an SD Card
	SDCardBootSourceOverrideTarget BootSourceOverrideTarget = "SDCard"
	// UefiHTTPBootSourceOverrideTarget boot from a UEFI HTTP network location
	UefiHTTPBootSourceOverrideTarget BootSourceOverrideTarget = "UefiHttp"
	// RemoteDriveBootSourceOverrideTarget boot from a remote drive (e.g. iSCSI).
	RemoteDriveBootSourceOverrideTarget BootSourceOverrideTarget = "RemoteDrive"
	// UefiBootNextBootSourceOverrideTarget boot to the UEFI Device specified in the BootNext property
	UefiBootNextBootSourceOverrideTarget BootSourceOverrideTarget = "UefiBootNext"
)

type BootTargets

type BootTargets struct {
	// BootPriority shall be the relative priority for this entry in the boot
	// targets array. Lower numbers shall represent higher priority, with zero being the highest priority.
	// The BootPriority shall be unique for all entries of the BootTargets
	// array.
	BootPriority int
	// LUNID shall be the Logical Unit Number
	// (LUN) ID to boot from on the device referred to by the corresponding
	// WWPN.
	LUNID string
	// WWPN shall be World-Wide Port Name
	// (WWPN) to boot from.
	WWPN string
}

BootTargets shall describe a Fibre Channel boot target configured for a network device function.

func (*BootTargets) UnmarshalJSON

func (boottargets *BootTargets) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a BootTargets object from the raw JSON.

type CSLinks struct {
	// Chassis shall reference a resource of
	// type Chassis that represents the physical container associated with
	// this resource.
	Chassis common.Links
	// ChassisCount is
	ChassisCount int `json:"Chassis@odata.count"`
	// ConsumingComputerSystems shall be an array of references
	// to ComputerSystems that are realized, in whole or in part, from this
	// ComputerSystem.
	ConsumingComputerSystems common.Links
	// ConsumingComputerSystemsCount is
	ConsumingComputerSystemsCount int `json:"ConsumingComputerSystems@odata.count"`
	// CooledBy shall be an array of IDs
	// containing pointers consistent with JSON pointer syntax to the
	// resource that powers this computer system.
	CooledBy common.Links
	// CooledByCount is
	CooledByCount int `json:"CooledBy@odata.count"`
	// Endpoints shall be a reference to the
	// resources that this system is associated with and shall reference a
	// resource of type Endpoint.
	Endpoints common.Links
	// EndpointsCount is
	EndpointsCount int `json:"Endpoints@odata.count"`
	// ManagedBy shall reference a resource of
	// type manager that represents the resource with management
	// responsibility for this resource.
	ManagedBy common.Links
	// ManagedByCount is
	ManagedByCount int `json:"ManagedBy@odata.count"`
	// PoweredBy shall be an array of IDs
	// containing pointers consistent with JSON pointer syntax to the
	// resource that powers this computer system.
	PoweredBy common.Links
	// PoweredByCount is the number of PoweredBy objects.
	PoweredByCount int `json:"PoweredBy@odata.count"`
	// ResourceBlocks is used in this Computer System.
	ResourceBlocks common.Links
	// ResourceBlocksCount is the number of ResourceBlocks.
	ResourceBlocksCount int `json:"ResourceBlocks@odata.count"`
	// SupplyingComputerSystems shall be an array of references
	// to ComputerSystems that contribute, in whole or in part, to the
	// implementation of this ComputerSystem.
	SupplyingComputerSystems common.Links
	// SupplyingComputerSystemsCount is the number of SupplyingComputerSystems.
	SupplyingComputerSystemsCount int `json:"SupplyingComputerSystems@odata.count"`
}

CSLinks are references to resources that are related to, but not contained by (subordinate to), this resource.

type CacheSummary

type CacheSummary struct {
	// PersistentCacheSizeMiB shall contain the amount of
	// cache memory that is persistent as measured in mebibytes. This size
	// shall be less than or equal to the TotalCacheSizeMib.
	PersistentCacheSizeMiB int
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// TotalCacheSizeMiB shall contain the amount of
	// configured cache memory as measured in mebibytes.
	TotalCacheSizeMiB int
}

CacheSummary shall contain properties which describe the cache memory for a storage controller.

type Chassis

type Chassis struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AssetTag shall contain an identifying string that
	// tracks the chassis for inventory purposes.
	AssetTag string
	// ChassisType shall indicate the physical form factor
	// for the type of chassis.
	ChassisType ChassisType
	// DepthMm shall represent the depth (length) of the
	// chassis, in millimeters, as specified by the manufacturer.
	DepthMm float64
	// Description provides a description of this resource.
	Description string
	// EnvironmentalClass shall contain the ASHRAE
	// Environmental Class for this chassis, as defined by ASHRAE Thermal
	// Guidelines for Data Processing Environments. These classes define
	// respective environmental limits that include temperature, relative
	// humidity, dew point, and maximum allowable elevation.
	EnvironmentalClass EnvironmentalClass
	// HeightMm shall represent the height of the chassis,
	// in millimeters, as specified by the manufacturer.
	HeightMm float64
	// IndicatorLED shall contain the indicator light state
	// for the indicator light associated with this system.
	IndicatorLED common.IndicatorLED
	// Location shall contain location information of the
	// associated chassis.
	Location common.Location
	// Manufacturer shall contain the name of the
	// organization responsible for producing the chassis. This organization
	// might be the entity from whom the chassis is purchased, but this is
	// not necessarily true.
	Manufacturer string
	// Model shall contain the name by which the
	// manufacturer generally refers to the chassis.
	Model string
	// PartNumber shall contain a part number assigned by
	// the organization that is responsible for producing or manufacturing
	// the chassis.
	PartNumber string
	// PhysicalSecurity shall contain the sensor state of
	// the physical security.
	PhysicalSecurity PhysicalSecurity
	// PowerState shall contain the power state of the
	// chassis.
	PowerState PowerState
	// SKU shall contain the stock-keeping unit number for
	// this chassis.
	SKU string
	// SerialNumber shall contain a manufacturer-allocated
	// number that identifies the chassis.
	SerialNumber string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// UUID shall contain the universal unique identifier
	// number for this chassis.
	UUID string
	// WeightKg shall represent the published mass, commonly
	// referred to as weight, of the chassis, in kilograms.
	WeightKg float64
	// WidthMm shall represent the width of the chassis, in
	// millimeters, as specified by the manufacturer.
	WidthMm float64

	// SupportedResetTypes, if provided, is the reset types this chassis supports.
	SupportedResetTypes []ResetType
	// contains filtered or unexported fields
}

Chassis represents the physical components of a system. This resource represents the sheet-metal confined spaces and logical zones such as racks, enclosures, chassis and all other containers. Subsystems (like sensors) that operate outside of a system's data plane (meaning the resources are not accessible to software running on the system) are linked either directly or indirectly through this resource.

func GetChassis

func GetChassis(c common.Client, uri string) (*Chassis, error)

GetChassis will get a Chassis instance from the Redfish service.

func ListReferencedChassis

func ListReferencedChassis(c common.Client, link string) ([]*Chassis, error)

ListReferencedChassis gets the collection of Chassis from a provided reference.

func (*Chassis) ComputerSystems

func (chassis *Chassis) ComputerSystems() ([]*ComputerSystem, error)

ComputerSystems returns the collection of systems from this chassis

func (*Chassis) ManagedBy

func (chassis *Chassis) ManagedBy() ([]*Manager, error)

ManagedBy gets the collection of managers of this chassis

func (*Chassis) NetworkAdapters

func (chassis *Chassis) NetworkAdapters() ([]*NetworkAdapter, error)

NetworkAdapters gets the collection of network adapters of this chassis

func (*Chassis) Power

func (chassis *Chassis) Power() (*Power, error)

Power gets the power information for the chassis

func (*Chassis) Reset

func (chassis *Chassis) Reset(resetType ResetType) error

Reset shall reset the chassis. This action shall not reset Systems or other contained resource, although side effects may occur which affect those resources.

func (*Chassis) Thermal

func (chassis *Chassis) Thermal() (*Thermal, error)

Thermal gets the thermal temperature and cooling information for the chassis

func (*Chassis) UnmarshalJSON

func (chassis *Chassis) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Chassis object from the raw JSON.

func (*Chassis) Update added in v0.5.0

func (chassis *Chassis) Update() error

Update commits updates to this object's properties to the running system.

type ChassisType

type ChassisType string

ChassisType is a physical form of the chassis

const (
	// BladeChassisType is an enclosed or semi-enclosed, typically vertically-oriented, system
	// chassis which must be plugged into a multi-system chassis to function normally.
	BladeChassisType ChassisType = "Blade"
	// CardChassisType is a loose device or circuit board intended to be installed in a system
	// or other enclosure.
	CardChassisType ChassisType = "Card"
	// CartridgeChassisType is a small self-contained system intended to be plugged into a multi-system
	// chassis.
	CartridgeChassisType ChassisType = "Cartridge"
	// ComponentChassisType is a small chassis, card, or device which contains devices for a particular
	// subsystem or function.
	ComponentChassisType ChassisType = "Component"
	// DrawerChassisType is an enclosed or semi-enclosed, typically horizontally-oriented, system
	// chassis which may be slid into a multi-system chassis.
	DrawerChassisType ChassisType = "Drawer"
	// EnclosureChassisType is a generic term for a chassis that does not fit any other description.
	EnclosureChassisType ChassisType = "Enclosure"
	// ExpansionChassisType is a chassis which expands the capabilities or capacity of another
	// chassis.
	ExpansionChassisType ChassisType = "Expansion"
	// IPBasedDriveChassisType is a chassis in a drive form factor with IP-based network connections.
	IPBasedDriveChassisType ChassisType = "IPBasedDrive"
	// ModuleChassisType is a small, typically removable, chassis or card which contains devices
	// for a particular subsystem or function.
	ModuleChassisType ChassisType = "Module"
	// OtherChassisType is a chassis that does not fit any of these definitions.
	OtherChassisType ChassisType = "Other"
	// PodChassisType is a collection of equipment racks in a large, likely transportable, container.
	PodChassisType ChassisType = "Pod"
	// RackChassisType is an equipment rack, typically a 19-inch wide freestanding unit.
	RackChassisType ChassisType = "Rack"
	// RackGroupChassisType is a group of racks which form a single entity or share infrastructure.
	RackGroupChassisType ChassisType = "RackGroup"
	// RackMountChassisType is a single system chassis designed specifically for mounting in an
	// equipment rack.
	RackMountChassisType ChassisType = "RackMount"
	// RowChassisType is a collection of equipment racks.
	RowChassisType ChassisType = "Row"
	// ShelfChassisType is an enclosed or semi-enclosed, typically horizontally-oriented, system
	// chassis which must be plugged into a multi-system chassis to function normally.
	ShelfChassisType ChassisType = "Shelf"
	// SidecarChassisType is a chassis that mates mechanically with another chassis to expand
	// its capabilities or capacity.
	SidecarChassisType ChassisType = "Sidecar"
	// SledChassisType is an enclosed or semi-enclosed, system chassis which must be plugged into
	// a multi-system chassis to function normally similar to a blade type chassis.
	SledChassisType ChassisType = "Sled"
	// StandAloneChassisType is a single, free-standing system, commonly called a tower or desktop
	// chassis.
	StandAloneChassisType ChassisType = "StandAlone"
	// StorageEnclosureChassisType is a chassis which encloses storage.
	StorageEnclosureChassisType ChassisType = "StorageEnclosure"
	// ZoneChassisType is a logical division or portion of a physical chassis that contains multiple
	// devices or systems that cannot be physically separated.
	ZoneChassisType ChassisType = "Zone"
)

type CommandConnectTypesSupported

type CommandConnectTypesSupported string

CommandConnectTypesSupported is the command connection type.

const (

	// SSHCommandConnectTypesSupported The controller supports a Command
	// Shell connection using the SSH protocol.
	SSHCommandConnectTypesSupported CommandConnectTypesSupported = "SSH"
	// TelnetCommandConnectTypesSupported The controller supports a Command
	// Shell connection using the Telnet protocol.
	TelnetCommandConnectTypesSupported CommandConnectTypesSupported = "Telnet"
	// IPMICommandConnectTypesSupported The controller supports a Command
	// Shell connection using the IPMI Serial-over-LAN (SOL) protocol.
	IPMICommandConnectTypesSupported CommandConnectTypesSupported = "IPMI"
	// OemCommandConnectTypesSupported The controller supports a Command
	// Shell connection using an OEM-specific protocol.
	OemCommandConnectTypesSupported CommandConnectTypesSupported = "Oem"
)

type CommandShell

type CommandShell struct {
	// ConnectTypesSupported shall be an array of the enumerations provided here.
	// SSH shall be included if the Secure Shell (SSH) protocol is supported.
	// Telnet shall be included if the Telnet protocol is supported. IPMI shall
	// be included if the IPMI (Serial-over-LAN) protocol is supported.
	ConnectTypesSupported []CommandConnectTypesSupported
	// MaxConcurrentSessions shall contain the maximum number of concurrent
	// service sessions supported by the implementation.
	MaxConcurrentSessions uint32
	// ServiceEnabled is used for the service. The value shall be true if
	// enabled and false if disabled.
	ServiceEnabled bool
}

CommandShell shall describe a Command Shell service of a manager.

type CompositionService

type CompositionService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AllowOverprovisioning shall be a boolean indicating whether this service
	// is allowed to overprovision a composition relative to the composition request.
	AllowOverprovisioning bool
	// AllowZoneAffinity shall be a boolean indicating whether a client is
	// allowed to request that given composition request is fulfilled by a
	// specified Resource Zone.
	AllowZoneAffinity bool
	// Description provides a description of this resource.
	Description string

	// ServiceEnabled shall be a boolean indicating whether this service is enabled.
	ServiceEnabled bool
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

CompositionService is used to represent the Composition Service Properties for a Redfish implementation.

func GetCompositionService

func GetCompositionService(c common.Client, uri string) (*CompositionService, error)

GetCompositionService will get a CompositionService instance from the service.

func ListReferencedCompositionServices

func ListReferencedCompositionServices(c common.Client, link string) ([]*CompositionService, error)

ListReferencedCompositionServices gets the collection of CompositionService from a provided reference.

func (*CompositionService) UnmarshalJSON

func (compositionservice *CompositionService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals CompositionService object from the raw JSON.

func (*CompositionService) Update added in v0.5.0

func (compositionservice *CompositionService) Update() error

Update commits updates to this object's properties to the running system.

type ComputerSystem

type ComputerSystem struct {
	common.Entity

	// ODataContext is the @odata.context
	ODataContext string `json:"@odata.context"`
	// ODataType is the @odata.type
	ODataType string `json:"@odata.type"`

	// AssetTag shall contain the value of the asset tag of the system.
	AssetTag string

	// BIOSVersion shall be the version string
	// of the currently installed and running BIOS (for x86 systems). For
	// other systems, the value may contain a version string representing the
	// primary system firmware.
	BIOSVersion string `json:"BiosVersion"`
	// Boot describes boot information for the current resource.
	Boot Boot
	// Description is the resource description.
	Description string

	// HostName shall be the host name for this
	// system, as reported by the operating system or hypervisor. This value
	// is typically provided to the Manager by a service running in the host
	// operating system.
	HostName string
	// HostWatchdogTimer shall contain properties which
	// describe the host watchdog timer functionality for this
	// ComputerSystem.
	HostWatchdogTimer WatchdogTimer
	// hostedServices shall describe services supported by this computer system.
	// hostedServices string
	// HostingRoles shall be the hosting roles supported by this computer system.
	HostingRoles []string

	// IndicatorLED shall contain the indicator
	// light state for the indicator light associated with this system.
	IndicatorLED common.IndicatorLED

	// Manufacturer shall contain a value that represents the manufacturer of the system.
	Manufacturer string

	// MemorySummary is This object shall contain properties which describe
	// the central memory for the current resource.
	MemorySummary MemorySummary
	// Model shall contain the information
	// about how the manufacturer references this system. This is typically
	// the product name, without the manufacturer name.
	Model string
	// Name is the resource name.
	Name string

	// PCIeDevicesCount is the number of PCIeDevices.
	PCIeDevicesCount int `json:"PCIeDevices@odata.count"`

	// PCIeFunctionsCount is the number of PCIeFunctions.
	PCIeFunctionsCount int `json:"PCIeFunctions@odata.count"`
	// PartNumber shall contain the part number
	// for the system as defined by the manufacturer.
	PartNumber string
	// PowerRestorePolicy is the desired
	// PowerState of the system when power is applied to the system. A value
	// of 'LastState' shall return the system to the PowerState it was in
	// when power was lost.
	PowerRestorePolicy PowerState
	// PowerState shall contain the power state of the system.
	PowerState PowerState
	// ProcessorSummary shall contain properties which
	// describe the central processors for the current resource.
	ProcessorSummary ProcessorSummary

	// Redundancy references a redundancy
	// entity that specifies a kind and level of redundancy and a collection
	// (RedundancySet) of other ComputerSystems that provide the specified
	// redundancy to this ComputerSystem.
	Redundancy string
	// RedundancyCount is the number of Redundancy objects.
	RedundancyCount string `json:"Redundancy@odata.count"`
	// SKU shall contain the Stock Keeping Unit (SKU) for the system.
	SKU string

	// SerialNumber shall contain the serial number for the system.
	SerialNumber string

	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status

	// SubModel shall contain the information
	// about the sub-model (or config) of the system. This shall not include
	// the model/product name or the manufacturer name.
	SubModel string
	// SystemType indicates the kind of system that this resource represents.
	SystemType SystemType
	// TrustedModules shall contain an array of objects with
	// properties which describe the trusted modules for the current resource.
	TrustedModules []TrustedModules
	// UUID is used to contain a universal unique identifier number for the
	// system. RFC4122 describes methods that can be used to create the
	// value. The value should be considered to be opaque. Client software
	// should only treat the overall value as a universally unique identifier
	// and should not interpret any sub-fields within the UUID. If the system
	// supports SMBIOS, the value of the property should be formed by
	// following the SMBIOS 2.6+ recommendation for converting the SMBIOS
	// 16-byte UUID structure into the redfish canonical xxxxxxxx-xxxx-xxxx-
	// xxxx-xxxxxxxxxxxx string format so that the property value matches the
	// byte order presented by current OS APIs such as WMI and dmidecode.
	UUID string

	// SupportedResetTypes, if provided, is the reset types this system supports.
	SupportedResetTypes []ResetType

	// ManagedBy An array of references to the Managers responsible for this system.
	// This is temporary until a proper method can be implemented to actually
	// retrieve those objects directly.
	ManagedBy []string
	// contains filtered or unexported fields
}

ComputerSystem is used to represent resources that represent a computing system in the Redfish specification.

func GetComputerSystem

func GetComputerSystem(c common.Client, uri string) (*ComputerSystem, error)

GetComputerSystem will get a ComputerSystem instance from the service.

func ListReferencedComputerSystems

func ListReferencedComputerSystems(c common.Client, link string) ([]*ComputerSystem, error)

ListReferencedComputerSystems gets the collection of ComputerSystem from a provided reference.

func (*ComputerSystem) Bios

func (computersystem *ComputerSystem) Bios() (*Bios, error)

Bios gets the Bios information for this ComputerSystem.

func (*ComputerSystem) EthernetInterfaces

func (computersystem *ComputerSystem) EthernetInterfaces() ([]*EthernetInterface, error)

EthernetInterfaces get this system's ethernet interfaces.

func (*ComputerSystem) LogServices

func (computersystem *ComputerSystem) LogServices() ([]*LogService, error)

LogServices get this system's log services.

func (*ComputerSystem) Memory

func (computersystem *ComputerSystem) Memory() ([]*Memory, error)

Memory gets this system's memory.

func (*ComputerSystem) MemoryDomains

func (computersystem *ComputerSystem) MemoryDomains() ([]*MemoryDomain, error)

MemoryDomains gets this system's memory domains.

func (*ComputerSystem) NetworkInterfaces

func (computersystem *ComputerSystem) NetworkInterfaces() ([]*NetworkInterface, error)

NetworkInterfaces returns a collection of network interfaces in this system.

func (*ComputerSystem) PCIeDevices

func (computersystem *ComputerSystem) PCIeDevices() ([]*PCIeDevice, error)

PCIeDevices gets all PCIeDevices for this system.

func (*ComputerSystem) PCIeFunctions

func (computersystem *ComputerSystem) PCIeFunctions() ([]*PCIeFunction, error)

PCIeFunctions gets all PCIeFunctions for this system.

func (*ComputerSystem) Processors

func (computersystem *ComputerSystem) Processors() ([]*Processor, error)

Processors returns a collection of processors from this system

func (*ComputerSystem) Reset

func (computersystem *ComputerSystem) Reset(resetType ResetType) error

Reset shall perform a reset of the ComputerSystem. For systems which implement ACPI Power Button functionality, the PushPowerButton value shall perform or emulate an ACPI Power Button push. The ForceOff value shall remove power from the system or perform an ACPI Power Button Override (commonly known as a 4-second hold of the Power Button). The ForceRestart value shall perform a ForceOff action followed by a On action.

func (*ComputerSystem) SecureBoot

func (computersystem *ComputerSystem) SecureBoot() (*SecureBoot, error)

SecureBoot gets the secure boot information for the system.

func (*ComputerSystem) SetBoot

func (computersystem *ComputerSystem) SetBoot(b Boot) error

SetBoot set a boot object based on a payload request

func (*ComputerSystem) SetDefaultBootOrder

func (computersystem *ComputerSystem) SetDefaultBootOrder() error

SetDefaultBootOrder shall set the BootOrder array to the default settings.

func (*ComputerSystem) SimpleStorages

func (computersystem *ComputerSystem) SimpleStorages() ([]*SimpleStorage, error)

SimpleStorages gets all simple storage services of this system.

func (*ComputerSystem) Storage

func (computersystem *ComputerSystem) Storage() ([]*Storage, error)

Storage gets the storage associated with this system.

func (*ComputerSystem) UnmarshalJSON

func (computersystem *ComputerSystem) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ComputerSystem object from the raw JSON.

func (*ComputerSystem) Update added in v0.5.0

func (computersystem *ComputerSystem) Update() error

Update commits updates to this object's properties to the running system.

type ConnectedEntity

type ConnectedEntity struct {
	// entityLink shall be a reference to an entity of the
	// type specified by the description of the value of the EntityType
	// property.
	// entityLink common.Link
	// EntityPciID shall be the PCI ID of the connected PCIe entity.
	EntityPciID PciID `json:"entityPciId"`
	// entityRole shall indicate if the specified entity is an initiator,
	// target, or both.
	EntityRole EntityRole
	// entityType shall indicate if type of connected entity.
	EntityType EntityType
	// GenZ shall contain the Gen-Z related properties for the entity.
	GenZ GenZ
	// Identifiers for the remote entity shall be unique in
	// the context of other resources that can reached over the connected
	// network.
	Identifiers []common.Identifier
}

ConnectedEntity shall represent a remote resource that is connected to a network accessible to an endpoint.

type ConnectedVia added in v0.7.0

type ConnectedVia string

ConnectedVia are the ways the media may be connected.

const (

	// NotConnectedConnectedVia No current connection.
	NotConnectedConnectedVia ConnectedVia = "NotConnected"
	// URIConnectedVia Connected to a URI location.
	URIConnectedVia ConnectedVia = "URI"
	// AppletConnectedVia Connected to a client application.
	AppletConnectedVia ConnectedVia = "Applet"
	// OemConnectedVia Connected through an OEM-defined method.
	OemConnectedVia ConnectedVia = "Oem"
)

type ControllerCapabilities

type ControllerCapabilities struct {
	// DataCenterBridging shall contain capability, status,
	// and configuration values related to Data Center Bridging (DCB) for
	// this controller.
	DataCenterBridging struct {
		Capable bool
	}
	// NPAR shall contain capability, status, and
	// configuration values related to NIC partitioning for this controller.
	NPAR struct {
		// NparCapable shall indicate the ability of a
		// controller to support NIC function partitioning.
		NparCapable bool
		// NparEnabled shall indicate whether or not NIC
		// function partitioning is active on this controller.
		NparEnabled bool
	}
	// NPIV shall contain N_Port ID Virtualization (NPIV)
	// capabilities for this controller.
	NPIV struct {
		// MaxDeviceLogins shall be the maximum
		// number of N_Port ID Virtualization (NPIV) logins allowed
		// simultaneously from all ports on this controller.
		MaxDeviceLogins int
		// MaxPortLogins shall be the maximum
		// number of N_Port ID Virtualization (NPIV) logins allowed per physical
		// port on this controller.
		MaxPortLogins int
	}
	// NetworkDeviceFunctionCount shall be the
	// number of physical functions available on this controller.
	NetworkDeviceFunctionCount int
	// NetworkPortCount shall be the number of
	// physical ports on this controller.
	NetworkPortCount int
	// VirtualizationOffload shall contain capability, status,
	// and configuration values related to virtualization offload for this
	// controller.
	VirtualizationOffload struct {
		// SRIOV shall contain Single-Root Input/Output Virtualization (SR-IOV)
		// capabilities.
		SRIOV struct {
			// SRIOVVEPACapable shall be a boolean indicating whether this
			// controller supports Single Root Input/Output Virtualization
			// (SR-IOV) in Virtual Ethernet Port Aggregator (VEPA) mode.
			SRIOVVEPACapable bool
		}
		// VirtualFunction shall describe the capability, status, and
		// configuration values related to the virtual function for this controller.
		VirtualFunction struct {
			// DeviceMaxCount shall be the maximum number of Virtual Functions
			// (VFs) supported by this controller.
			DeviceMaxCount int
			// MinAssignmentGroupSize shall be the minimum number of Virtual
			// Functions (VFs) that can be allocated or moved between physical
			// functions for this controller.
			MinAssignmentGroupSize int
			// NetworkPortMaxCount shall be the maximum number of Virtual
			// Functions (VFs) supported per network port for this controller.
			NetworkPortMaxCount int
		}
	}
}

ControllerCapabilities shall describe the capabilities of a controller.

type Controllers

type Controllers struct {
	// ControllerCapabilities shall contain the capabilities of this controller.
	ControllerCapabilities ControllerCapabilities
	// FirmwarePackageVersion shall be the version number of the user-facing
	// firmware package.
	FirmwarePackageVersion string
	// Identifiers shall contain a list of all known durable names for the
	// associated network adapter.
	Identifiers []common.Identifier
	// Location shall contain location information of the associated network
	// adapter controller.
	Location common.Location
	// PCIeInterface is used to connect this PCIe-based controller to its host.
	PCIeInterface PCIeInterface

	// NetworkDeviceFunctionsCount is the number of network device functions.
	NetworkDeviceFunctionsCount int

	// NetworkPortsCount is the number of network ports.
	NetworkPortsCount int

	// PCIeDevicesCount is the number of PCIeDevices.
	PCIeDevicesCount int
	// contains filtered or unexported fields
}

Controllers shall describe a network controller ASIC that makes up part of a NetworkAdapter.

func (*Controllers) UnmarshalJSON

func (controllers *Controllers) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Controllers object from the raw JSON.

type CurrentPeriod

type CurrentPeriod struct {
	// BlocksRead shall be number of blocks read since reset.
	BlocksRead uint
	// BlocksWritten shall be number of blocks written since reset.
	BlocksWritten uint
}

CurrentPeriod shall describe the metrics of the memory since last time the ClearCurrentPeriod Action was performed or the system reset.

type DHCPv4Configuration

type DHCPv4Configuration struct {
	// DHCPEnabled shall indicate whether DHCP v4 is enabled for this
	// EthernetInterface.
	DHCPEnabled bool
	// UseDNSServers shall indicate whether the interface will use
	// DHCPv4-supplied DNS servers.
	UseDNSServers bool
	// UseDomainName shall indicate whether the interface will use a
	// DHCPv4-supplied domain name.
	UseDomainName bool
	// UseGateway shall indicate whether the interface will use a
	// DHCPv4-supplied gateway.
	UseGateway bool
	// UseNTPServers shall indicate whether the interface will use
	// DHCPv4-supplied NTP servers.
	UseNTPServers bool
	// UseStaticRoutes shall indicate whether the interface will use a
	// DHCPv4-supplied static routes.
	UseStaticRoutes bool
}

DHCPv4Configuration describes the configuration of DHCP v4.

type DHCPv6Configuration

type DHCPv6Configuration struct {
	// OperatingMode is used to configure addresses, and when it is enabled,
	// stateless mode is also implicitly enabled.
	OperatingMode DHCPv6OperatingMode
	// UseDNSServers shall indicate whether the interface will use
	// DHCPv6-supplied DNS servers.
	UseDNSServers bool
	// UseDomainName shall indicate whether the interface will use a domain name
	// supplied through  DHCPv6 stateless mode.
	UseDomainName bool
	// UseNTPServers shall indicate whether the interface will use
	// DHCPv6-supplied NTP servers.
	UseNTPServers bool
	// UseRapidCommit shall indicate whether the interface will use DHCPv6 rapid
	// commit mode for stateful mode address assignments.
	UseRapidCommit bool
}

DHCPv6Configuration describes the configuration of DHCP v6.

type DHCPv6OperatingMode

type DHCPv6OperatingMode string

DHCPv6OperatingMode is the IPv6 DHCP mode.

const (
	// StatefulDHCPv6OperatingMode shall operate in stateful mode on this
	// interface. DHCPv6 stateful mode is used to configure addresses, and
	// when it is enabled, stateless mode is also implicitly enabled.
	StatefulDHCPv6OperatingMode DHCPv6OperatingMode = "Stateful"
	// StatelessDHCPv6OperatingMode shall operate in  stateless mode on this
	// interface.  DHCPv6 stateless mode allows configuring the interface
	// using DHCP options but does not configure addresses. It is always
	// enabled by default whenever DHCPv6 Stateful mode is also enabled.
	StatelessDHCPv6OperatingMode DHCPv6OperatingMode = "Stateless"
	// DisabledDHCPv6OperatingMode shall be disabled for this interface.
	DisabledDHCPv6OperatingMode DHCPv6OperatingMode = "Disabled"
)

type DataCenterBridging

type DataCenterBridging struct {
	// Capable shall be a boolean indicating whether this controller is capable
	// of Data Center Bridging (DCB).
	Capable bool
}

DataCenterBridging shall describe the capability, status, and configuration values related to Data Center Bridging (DCB) for a controller.

type DeliveryRetryPolicy added in v0.5.0

type DeliveryRetryPolicy string

DeliveryRetryPolicy is the retry policy for delivery failure.

const (

	// TerminateAfterRetriesDeliveryRetryPolicy The subscription is
	// terminated after the maximum number of retries is reached.
	TerminateAfterRetriesDeliveryRetryPolicy DeliveryRetryPolicy = "TerminateAfterRetries"
	// SuspendRetriesDeliveryRetryPolicy The subscription is suspended after
	// the maximum number of retries is reached.
	SuspendRetriesDeliveryRetryPolicy DeliveryRetryPolicy = "SuspendRetries"
	// RetryForeverDeliveryRetryPolicy shall continue even after the after
	// the maximum number of retries is reached.
	RetryForeverDeliveryRetryPolicy DeliveryRetryPolicy = "RetryForever"
)

type Device

type Device struct {
	// CapacityBytes shall represent the size (in bytes) of the Storage Device.
	CapacityBytes int64
	// Manufacturer shall indicate the name of the manufacturer of this storage device.
	Manufacturer string
	// Model shall indicate the model information as provided by the manufacturer
	// of this storage device.
	Model string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
}

Device shall describe a storage device visible to SimpleStorage.

type DeviceClass

type DeviceClass string

DeviceClass is the device class.

const (
	// UnclassifiedDeviceDeviceClass An unclassified device.
	UnclassifiedDeviceDeviceClass DeviceClass = "UnclassifiedDevice"
	// MassStorageControllerDeviceClass A mass storage controller.
	MassStorageControllerDeviceClass DeviceClass = "MassStorageController"
	// NetworkControllerDeviceClass A network controller.
	NetworkControllerDeviceClass DeviceClass = "NetworkController"
	// DisplayControllerDeviceClass A display controller.
	DisplayControllerDeviceClass DeviceClass = "DisplayController"
	// MultimediaControllerDeviceClass A multimedia controller.
	MultimediaControllerDeviceClass DeviceClass = "MultimediaController"
	// MemoryControllerDeviceClass A memory controller.
	MemoryControllerDeviceClass DeviceClass = "MemoryController"
	// BridgeDeviceClass A bridge.
	BridgeDeviceClass DeviceClass = "Bridge"
	// CommunicationControllerDeviceClass A communication controller.
	CommunicationControllerDeviceClass DeviceClass = "CommunicationController"
	// GenericSystemPeripheralDeviceClass A generic system peripheral.
	GenericSystemPeripheralDeviceClass DeviceClass = "GenericSystemPeripheral"
	// InputDeviceControllerDeviceClass An input device controller.
	InputDeviceControllerDeviceClass DeviceClass = "InputDeviceController"
	// DockingStationDeviceClass A docking station.
	DockingStationDeviceClass DeviceClass = "DockingStation"
	// ProcessorDeviceClass A processor.
	ProcessorDeviceClass DeviceClass = "Processor"
	// SerialBusControllerDeviceClass A serial bus controller.
	SerialBusControllerDeviceClass DeviceClass = "SerialBusController"
	// WirelessControllerDeviceClass A wireless controller.
	WirelessControllerDeviceClass DeviceClass = "WirelessController"
	// IntelligentControllerDeviceClass An intelligent controller.
	IntelligentControllerDeviceClass DeviceClass = "IntelligentController"
	// SatelliteCommunicationsControllerDeviceClass A satellite
	// communications controller.
	SatelliteCommunicationsControllerDeviceClass DeviceClass = "SatelliteCommunicationsController"
	// EncryptionControllerDeviceClass An encryption controller.
	EncryptionControllerDeviceClass DeviceClass = "EncryptionController"
	// SignalProcessingControllerDeviceClass A signal processing controller.
	SignalProcessingControllerDeviceClass DeviceClass = "SignalProcessingController"
	// ProcessingAcceleratorsDeviceClass A processing accelerators.
	ProcessingAcceleratorsDeviceClass DeviceClass = "ProcessingAccelerators"
	// NonEssentialInstrumentationDeviceClass A non-essential
	// instrumentation.
	NonEssentialInstrumentationDeviceClass DeviceClass = "NonEssentialInstrumentation"
	// CoprocessorDeviceClass A coprocessor.
	CoprocessorDeviceClass DeviceClass = "Coprocessor"
	// UnassignedClassDeviceClass An unassigned class.
	UnassignedClassDeviceClass DeviceClass = "UnassignedClass"
	// OtherDeviceClass A other class. The function Device Class Id needs to
	// be verified.
	OtherDeviceClass DeviceClass = "Other"
)

type DeviceType

type DeviceType string

DeviceType is

const (
	// SingleFunctionDeviceType A single-function PCIe device.
	SingleFunctionDeviceType DeviceType = "SingleFunction"
	// MultiFunctionDeviceType A multi-function PCIe device.
	MultiFunctionDeviceType DeviceType = "MultiFunction"
	// SimulatedDeviceType A PCIe device which is not currently physically
	// present, but is being simulated by the PCIe infrastructure.
	SimulatedDeviceType DeviceType = "Simulated"
)

type Drive

type Drive struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`

	// AssetTag is used to track the drive for inventory purposes.
	AssetTag string
	// BlockSizeBytes shall contain size of the smallest addressable unit of the
	// associated drive.
	BlockSizeBytes int
	// CapableSpeedGbs shall contain fastest capable bus speed of the associated
	// drive.
	CapableSpeedGbs float32
	// CapacityBytes shall contain the raw size in bytes of the associated drive.
	CapacityBytes int64
	// Description provides a description of this resource.
	Description string
	// EncryptionAbility shall contain the encryption ability for the associated
	// drive.
	EncryptionAbility EncryptionAbility
	// EncryptionStatus shall contain the encryption status for the associated
	// drive.
	EncryptionStatus EncryptionStatus
	// FailurePredicted shall contain failure information as defined by the
	// manufacturer for the associated drive.
	FailurePredicted bool
	// HotspareReplacementMode shall specify if a commissioned hotspare will
	// continue to serve as a hotspare once the failed drive is replaced.
	HotspareReplacementMode HotspareReplacementModeType
	// HotspareType is used as part of a Volume.
	HotspareType HotspareType
	// Identifiers shall contain a list of all known durable
	// names for the associated drive.
	Identifiers []common.Identifier
	// IndicatorLED shall contain the indicator light state for the indicator
	// light associated with this drive.
	IndicatorLED common.IndicatorLED
	// Location shall contain location information of the associated drive.
	Location []common.Location
	// Manufacturer shall be the name of the organization responsible for
	// producing the drive. This organization might be the entity from whom the
	// drive is purchased, but this is not necessarily true.
	Manufacturer string
	// MediaType shall contain the type of media contained in the associated
	// drive.
	MediaType MediaType
	// Model shall be the name by which the manufacturer generally refers to the
	// drive.
	Model string
	// Multipath shall indicate whether the drive is
	// accessible by an initiator from multiple paths allowing for failover
	// capabilities upon a path failure.
	Multipath bool
	// NegotiatedSpeedGbs shall contain current bus speed of the associated
	// drive.
	NegotiatedSpeedGbs float32
	// Operations shall contain a list of all operations currently running on
	// the Drive.
	Operations []common.Operations
	// PartNumber shall be a part number assigned by the organization that is
	// responsible for producing or manufacturing the drive.
	PartNumber string
	// PhysicalLocation shall contain location information of the associated
	// drive.
	PhysicalLocation common.Location
	// PredictedMediaLifeLeftPercent shall contain an indicator of the
	// percentage of life remaining in the Drive's media.
	PredictedMediaLifeLeftPercent float32
	// Protocol shall contain the protocol the associated drive is using to
	// communicate to the storage controller for this system.
	Protocol common.Protocol
	// Revision shall contain the revision as defined by the manufacturer for
	// the associated drive.
	Revision string
	// RotationSpeedRPM shall contain rotation speed of the associated drive.
	RotationSpeedRPM float32
	// SKU shall be the stock-keeping unit number for this drive.
	SKU string
	// SerialNumber is used to identify the drive.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// StatusIndicator shall contain the status indicator state for the status
	// indicator associated with this drive. The valid values for this property
	// are specified through the Redfish.AllowableValues annotation.
	StatusIndicator StatusIndicator
	// WriteCacheEnabled shall indicate whether the drive
	// write cache is enabled.
	WriteCacheEnabled bool

	// EndpointsCount is the number of endpoints.
	EndpointsCount int `json:"Endpoints@odata.count"`

	// Volumes is the number of associated volumes.
	VolumesCount int

	// PCIeFunctionCount is the number of PCIeFunctions.
	PCIeFunctionCount int
	// storagePools      []string
	StoragePoolsCount int
	// contains filtered or unexported fields
}

Drive is used to represent a disk drive or other physical storage medium for a Redfish implementation.

func GetDrive

func GetDrive(c common.Client, uri string) (*Drive, error)

GetDrive will get a Drive instance from the service.

func ListReferencedDrives

func ListReferencedDrives(c common.Client, link string) ([]*Drive, error)

ListReferencedDrives gets the collection of Drives from a provided reference.

func (*Drive) Assembly

func (drive *Drive) Assembly() (*Assembly, error)

Assembly gets the Assembly for this drive.

func (*Drive) Chassis

func (drive *Drive) Chassis() (*Chassis, error)

Chassis gets the containing chassis for this drive.

func (*Drive) Endpoints

func (drive *Drive) Endpoints() ([]*Endpoint, error)

Endpoints references the Endpoints that this drive is associated with.

func (*Drive) PCIeFunctions

func (drive *Drive) PCIeFunctions() ([]*PCIeFunction, error)

PCIeFunctions references the PCIeFunctions that this drive is associated with.

func (*Drive) SecureErase

func (drive *Drive) SecureErase() error

SecureErase shall perform a secure erase of the drive.

func (*Drive) UnmarshalJSON

func (drive *Drive) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Drive object from the raw JSON.

func (*Drive) Update added in v0.5.0

func (drive *Drive) Update() error

Update commits updates to this object's properties to the running system.

func (*Drive) Volumes

func (drive *Drive) Volumes() ([]*Volume, error)

Volumes references the Volumes that this drive is associated with.

type EncryptionAbility

type EncryptionAbility string

EncryptionAbility is the drive's encryption ability.

const (

	// NoneEncryptionAbility indicates the drive is not capable of self encryption.
	NoneEncryptionAbility EncryptionAbility = "None"
	// SelfEncryptingDriveEncryptionAbility indicates the drive is capable of self
	// encryption per the Trusted Computing Group's Self Encrypting Drive
	// Standard.
	SelfEncryptingDriveEncryptionAbility EncryptionAbility = "SelfEncryptingDrive"
	// OtherEncryptionAbility indicates the drive is capable of self encryption through
	// some other means.
	OtherEncryptionAbility EncryptionAbility = "Other"
)

type EncryptionStatus

type EncryptionStatus string

EncryptionStatus is the drive's encryption state.

const (
	// UnecryptedEncryptionStatus indicates the drive is not currently encrypted.
	// note: this typo occurred in the spec and was deprecated in redfish v1.1
	UnecryptedEncryptionStatus EncryptionStatus = "Unecrypted"
	// UnlockedEncryptionStatus indicates the drive is currently encrypted but the data
	// is accessible to the user unencrypted.
	UnlockedEncryptionStatus EncryptionStatus = "Unlocked"
	// LockedEncryptionStatus indicates the drive is currently encrypted and the data
	// is not accessible to the user, however the system has the ability to
	// unlock the drive automatically.
	LockedEncryptionStatus EncryptionStatus = "Locked"
	// ForeignEncryptionStatus indicates the drive is currently encrypted, the data is
	// not accessible to the user, and the system requires user intervention
	// to expose the data.
	ForeignEncryptionStatus EncryptionStatus = "Foreign"
	// UnencryptedEncryptionStatus indicates the drive is not currently encrypted.
	UnencryptedEncryptionStatus EncryptionStatus = "Unencrypted"
)

type EncryptionTypes

type EncryptionTypes string

EncryptionTypes is the type of encryption used by the volume.

const (
	// NativeDriveEncryptionEncryptionTypes indicates the volume is is utilizing the
	// native drive encryption capabilities of the drive hardware.
	NativeDriveEncryptionEncryptionTypes EncryptionTypes = "NativeDriveEncryption"
	// ControllerAssistedEncryptionTypes indicates the volume is is being encrypted by the
	// storage controller entity.
	ControllerAssistedEncryptionTypes EncryptionTypes = "ControllerAssisted"
	// SoftwareAssistedEncryptionTypes indicates the volume is is being encrypted by
	// software running on the system or the operating system.
	SoftwareAssistedEncryptionTypes EncryptionTypes = "SoftwareAssisted"
)

type Endpoint

type Endpoint struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ConnectedEntities shall contain all the entities which this endpoint
	// allows access to.
	ConnectedEntities []ConnectedEntity
	// Description provides a description of this resource.
	Description string
	// EndpointProtocol shall contain the protocol this endpoint uses to
	// communicate with other endpoints on this fabric.
	EndpointProtocol common.Protocol
	// HostReservationMemoryBytes shall be the amount of memory in Bytes that
	// the Host should allocate to connect to this endpoint.
	HostReservationMemoryBytes int64
	// IPTransportDetails shall contain the details for each IP transport
	// supported by this endpoint.
	IPTransportDetails []IPTransportDetails
	// Identifiers shall be unique in the context of other endpoints that can
	// reached over the connected network.
	Identifiers []common.Identifier
	// Name is the name of the resource or array element.
	Name string
	// PciID shall be the PCI ID of the endpoint.
	PciID PciID `json:"PciId"`
	// Redundancy is used to show how this endpoint is grouped with other
	// endpoints to form redundancy sets.
	Redundancy []Redundancy
	// RedundancyCount is the number of Redundancy objects.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status

	// MutuallyExclusiveEndpointsCount is the number of MutuallyExclusiveEndpoints.
	MutuallyExclusiveEndpointsCount int

	// NetworkDeviceFunctionCount is the number of NetworkDeviceFunctions.
	NetworkDeviceFunctionCount int

	// PortsCount is the number of Ports.
	PortsCount int
	// addressPools shall contain an array of links to
	// resources of type AddressPool with which this endpoint is associated.
	// addressPools []string
	// AddressPoolsCount is the number of AddressPools.
	AddressPoolsCount int
	// connectedPorts shall contain an array of links to
	// resources of type Port that represent ports associated with this
	// endpoint.
	// connectedPorts []string
	// ConnectedPortCount is the number of ConnectedPorts.
	ConnectedPortsCount int
	// contains filtered or unexported fields
}

Endpoint is used to represent a fabric endpoint for a Redfish implementation.

func GetEndpoint

func GetEndpoint(c common.Client, uri string) (*Endpoint, error)

GetEndpoint will get a Endpoint instance from the service.

func ListReferencedEndpoints

func ListReferencedEndpoints(c common.Client, link string) ([]*Endpoint, error)

ListReferencedEndpoints gets the collection of Endpoint from a provided reference.

func (*Endpoint) UnmarshalJSON

func (endpoint *Endpoint) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Endpoint object from the raw JSON.

type EntityRole

type EntityRole string

EntityRole is the role of the endpoint.

const (
	// InitiatorEntityRole means the entity is acting as an initiator.
	InitiatorEntityRole EntityRole = "Initiator"
	// TargetEntityRole means the entity is acting as a target.
	TargetEntityRole EntityRole = "Target"
	// BothEntityRole means the entity is acting as both an initiator and a target.
	BothEntityRole EntityRole = "Both"
)

type EntityType

type EntityType string

EntityType is the type of endpoint.

const (
	// StorageInitiatorEntityType means the entity is a storage initiator. The
	// EntityLink property (if present) should be a Storage.StorageController
	// entity.
	StorageInitiatorEntityType EntityType = "StorageInitiator"
	// RootComplexEntityType means the entity is a PCI(e) root complex. The
	// EntityLink property (if present) should be a
	// ComputerSystem.ComputerSystem entity.
	RootComplexEntityType EntityType = "RootComplex"
	// NetworkControllerEntityType means the entity is a network controller. The
	// EntityLink property (if present) should be an
	// EthernetInterface.EthernetInterface entity.
	NetworkControllerEntityType EntityType = "NetworkController"
	// DriveEntityType means the entity is a disk drive. The EntityLink property
	// (if present) should be a Drive.Drive entity.
	DriveEntityType EntityType = "Drive"
	// StorageExpanderEntityType means the entity is a storage expander. The
	// EntityLink property (if present) should be a Chassis.Chassis entity.
	StorageExpanderEntityType EntityType = "StorageExpander"
	// DisplayControllerEntityType means the entity is a display controller.
	DisplayControllerEntityType EntityType = "DisplayController"
	// BridgeEntityType means the entity is a PCI(e) bridge.
	BridgeEntityType EntityType = "Bridge"
	// ProcessorEntityType means the entity is a processor device.
	ProcessorEntityType EntityType = "Processor"
	// VolumeEntityType means the entity is a volume. The EntityLink property (if
	// present) should be a Volume.Volume entity.
	VolumeEntityType EntityType = "Volume"
	// AccelerationFunctionEntityType means the entity is an acceleration function
	// realized through a device, such as an FPGA. The EntityLink property
	// (if present) should be a AccelerationFunction.AccelerationFunction
	// entity.
	AccelerationFunctionEntityType EntityType = "AccelerationFunction"
	// MediaControllerEntityType means the entity is a media controller. The
	// EntityLink property, if present, should be a MediaController type.
	MediaControllerEntityType EntityType = "MediaController"
	// MemoryChunkEntityType means the entity is a memory chunk. The EntityLink
	// property, if present, should be a MemoryChunk type.
	MemoryChunkEntityType EntityType = "MemoryChunk"
	// SwitchEntityType means the entity is a switch, not an expander. Use
	// `Expander` for expanders. The EntityLink property, if present, should
	// be a Switch type.
	SwitchEntityType EntityType = "Switch"
	// FabricBridgeEntityType means the entity is a fabric bridge. The EntityLink
	// property, if present, should be a FabricAdapter type.
	FabricBridgeEntityType EntityType = "FabricBridge"
)

type EnvironmentalClass added in v0.5.0

type EnvironmentalClass string

EnvironmentalClass is

const (

	// A1EnvironmentalClass ASHRAE Environmental Class 'A1'.
	A1EnvironmentalClass EnvironmentalClass = "A1"
	// A2EnvironmentalClass ASHRAE Environmental Class 'A2'.
	A2EnvironmentalClass EnvironmentalClass = "A2"
	// A3EnvironmentalClass ASHRAE Environmental Class 'A3'.
	A3EnvironmentalClass EnvironmentalClass = "A3"
	// A4EnvironmentalClass ASHRAE Environmental Class 'A4'.
	A4EnvironmentalClass EnvironmentalClass = "A4"
)

type ErrorCorrection

type ErrorCorrection string

ErrorCorrection is the type of error correction used.

const (
	// NoECCErrorCorrection No ECC available.
	NoECCErrorCorrection ErrorCorrection = "NoECC"
	// SingleBitECCErrorCorrection Single bit Data error can be corrected by
	// ECC.
	SingleBitECCErrorCorrection ErrorCorrection = "SingleBitECC"
	// MultiBitECCErrorCorrection Multi-bit Data errors can be corrected by
	// ECC.
	MultiBitECCErrorCorrection ErrorCorrection = "MultiBitECC"
	// AddressParityErrorCorrection Address Parity errors can be corrected.
	AddressParityErrorCorrection ErrorCorrection = "AddressParity"
)

type Ethernet

type Ethernet struct {
	// MACAddress shall be the effective
	// current MAC Address of this network device function. If an assignable
	// MAC address is not supported, this is a read only alias of the
	// PermanentMACAddress.
	MACAddress string
	// MTUSize is The Maximum Transmission Unit (MTU) configured for this
	// Network Device Function. This value serves as a default for the OS
	// driver when booting. The value only takes-effect on boot.
	MTUSize int
	// PermanentMACAddress shall be the Permanent MAC Address of this network
	// device function (physical function). This value is typically programmed
	// during the manufacturing time. This address is not assignable.
	PermanentMACAddress string
	// contains filtered or unexported fields
}

Ethernet shall describe the Ethernet capabilities, status, and configuration values for a network device function.

func (*Ethernet) UnmarshalJSON

func (ethernet *Ethernet) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Ethernet object from the raw JSON.

type EthernetDeviceType added in v0.5.0

type EthernetDeviceType string

EthernetDeviceType is the device type.

const (

	// PhysicalEthernetDeviceType shall indicate a physical traditional
	// network interface.
	PhysicalEthernetDeviceType EthernetDeviceType = "Physical"
	// VirtualEthernetDeviceType shall indicate a network device function has
	// multiple VLANs and is representing one of them as a virtual Ethernet
	// interface.  The NetworkDeviceFunction property within Links shall
	// contain the locator for the parent network device function.
	VirtualEthernetDeviceType EthernetDeviceType = "Virtual"
)

type EthernetInterface

type EthernetInterface struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AutoNeg shall be true if auto negotiation of speed and duplex is enabled
	// on this interface and false if it is disabled.
	AutoNeg bool
	// DHCPv4 shall contain the configuration of DHCP v4.
	DHCPv4 DHCPv4Configuration
	// DHCPv6 shall contain the configuration of DHCP v6.
	DHCPv6 DHCPv6Configuration
	// Description provides a description of this resource.
	Description string
	// EthernetInterfaceType shall contain the type of interface.
	EthernetInterfaceType EthernetDeviceType
	// FQDN shall be the fully qualified domain name for this interface.
	FQDN string
	// FullDuplex shall represent the duplex status of the Ethernet connection
	// on this interface.
	FullDuplex bool
	// HostName shall be host name for this interface.
	HostName string
	// IPv4Addresses is used to represent the IPv4 connection characteristics
	// for this interface. It is recommended that this property be regarded as
	// read-only, with configuration of static addresses performed by
	// updating the values within IPv4StaticAddresses. Services may reject
	// updates to this array for this reason.
	IPv4Addresses []IPv4Address
	// IPv4StaticAddresses is used to represent all IPv4 static addresses
	// assigned (but not necessarily in use) to this interface. Addresses in
	// use by this interface shall also appear in the IPv4Addresses property.
	IPv4StaticAddresses []IPv4Address
	// IPv6AddressPolicyTable is used to represent the Address Selection
	// Policy Table as defined in RFC 6724.
	IPv6AddressPolicyTable []IPv6AddressPolicyEntry
	// IPv6Addresses is used to represent the IPv6 connection characteristics
	// for this interface.
	IPv6Addresses []IPv6Address
	// IPv6DefaultGateway shall be the current
	// IPv6 default gateway address that is in use on this interface.
	IPv6DefaultGateway string
	// IPv6StaticAddresses is used to represent the IPv6 static connection
	// characteristics for this interface.
	IPv6StaticAddresses []IPv6StaticAddress
	// IPv6StaticDefaultGateways is The values in this array shall represent
	// the IPv6 static default gateway addresses for this interface.
	IPv6StaticDefaultGateways []IPv6GatewayStaticAddress
	// InterfaceEnabled shall be a boolean
	// indicating whether this interface is enabled.
	InterfaceEnabled bool
	// LinkStatus shall be the link status of this interface (port).
	LinkStatus LinkStatus
	// MACAddress shall be the effective
	// current MAC Address of this interface. If an assignable MAC address is
	// not supported, this is a read only alias of the PermanentMACAddress.
	MACAddress string
	// MTUSize shall be the size in bytes of largest Protocol Data Unit (PDU)
	// that can be passed in an Ethernet (MAC) frame on this interface.
	MTUSize int
	// MaxIPv6StaticAddresses shall indicate the number of array items supported
	// by IPv6StaticAddresses.
	MaxIPv6StaticAddresses int
	// NameServers used on this interface.
	NameServers []string
	// Oem object used on this interface.
	Oem interface{}
	// PermanentMACAddress shall be the Permanent MAC Address of this interface
	// (port). This value is typically programmed during the manufacturing time.
	// This address is not assignable.
	PermanentMACAddress string
	// SpeedMbps shall be the link speed of the interface in Mbps.
	SpeedMbps int
	// StatelessAddressAutoConfig is This object shall contain the IPv4 and
	// IPv6 Stateless Address Automatic Configuration (SLAAC) properties for
	// this interface.
	StatelessAddressAutoConfig StatelessAddressAutoConfiguration
	// StaticNameServers is used when DHCP provisioning is not in enabled for
	// name server configuration. As an implementation option they may also
	// be used in addition to DHCP provided addresses, or in cases where the
	// DHCP server provides no DNS assignments.
	StaticNameServers []string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// UefiDevicePath shall be the UEFI device path to the device which
	// implements this interface (port).
	UefiDevicePath string
	// VLAN shall be the VLAN for this interface.  If this interface supports
	// more than one VLAN, the VLAN property shall not be present and the VLANS
	// collection link shall be present instead.
	VLAN VLAN

	// EndpointsCount is the number of endpoints.
	EndpointsCount int
	// contains filtered or unexported fields
}

EthernetInterface is used to represent NIC resources.

func GetEthernetInterface

func GetEthernetInterface(c common.Client, uri string) (*EthernetInterface, error)

GetEthernetInterface will get a EthernetInterface instance from the service.

func ListReferencedEthernetInterfaces

func ListReferencedEthernetInterfaces(c common.Client, link string) ([]*EthernetInterface, error)

ListReferencedEthernetInterfaces gets the collection of EthernetInterface from a provided reference.

func (*EthernetInterface) UnmarshalJSON

func (ethernetinterface *EthernetInterface) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a EthernetInterface object from the raw JSON.

func (*EthernetInterface) Update added in v0.5.0

func (ethernetinterface *EthernetInterface) Update() error

Update commits updates to this object's properties to the running system.

type EventDestination

type EventDestination struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Context shall contain a client supplied context that will remain with the
	// connection through the connections lifetime.
	Context string
	// DeliveryRetryPolicy shall indicate the subscription
	// delivery retry policy for events where the subscription type is
	// RedfishEvent. If this property is not present, the policy shall be
	// assumed to be TerminateAfterRetries.
	DeliveryRetryPolicy DeliveryRetryPolicy
	// Description provides a description of this resource.
	Description string
	// Destination shall contain a URI to the destination where the events will
	// be sent.
	Destination string
	// EventFormatType shall indicate the the content types of the message that
	// this service will send to the EventDestination. If this property is not
	// present, the EventFormatType shall be assumed to be Event.
	EventFormatType EventFormatType
	// EventTypes contains the types of events
	// that will be sent to the destination.
	EventTypes []EventType
	// HTTPHeaders shall contain an object consisting of the names and values of
	// of HTTP header to be included with every event POST to the Event
	// Destination. This property shall be null or an empty array on a GET. An
	// empty array is the preferred return value on GET.
	HTTPHeaders []HTTPHeaderProperty `json:"HttpHeaders"`
	// IncludeOriginOfCondition shall indicate whether the
	// event payload sent to the subscription destination will expand the
	// OriginOfCondition property to include the resource or object
	// referenced by the OriginOfCondition property.
	IncludeOriginOfCondition bool
	// MessageIDs shall specify an array of MessageIds that are the only
	// allowable values for the MessageId property within an EventRecord sent to
	// the subscriber. Events with MessageIds not contained in this array shall
	// not be sent to the subscriber. If this property is absent or the array is
	// empty, the service shall send Events with any MessageId to the subscriber.
	MessageIDs []string `json:"MessageIds"`
	// metricReportDefinitions shall specify an array of
	// metric report definitions that are the only allowable generators of
	// metric reports for this subscription. Metric reports originating from
	// metric report definitions not contained in this array shall not be
	// sent to the subscriber. If this property is absent or the array is
	// empty, the service shall send metric reports originating from any
	// metric report definition to the subscriber.
	// metricReportDefinitions []string
	// MetricReportDefinitions@odata.count is
	MetricReportDefinitionsCount int `json:"MetricReportDefinitions@odata.count"`
	// originResources shall specify an array of Resources, Resource Collections,
	// or Referenceable Members that are the only allowable values for the
	// OriginOfCondition property within an EventRecord sent to the subscriber.
	// Events originating from Resources, Resource Collections, or Referenceable
	// Members not contained in this array shall not be sent to the subscriber.
	// If this property is absent or the array is empty, the service shall send
	// Events originating from any Resource, Resource Collection, or
	// Referenceable Member to the subscriber.
	// originResources []string
	// OriginResourcesCount is the number of OriginResources.
	OriginResourcesCount int `json:"OriginResources@odata.count"`
	// Protocol is used to indicate that the event type shall adhere to that
	// defined in the Redfish specification.
	Protocol EventDestinationProtocol
	// RegistryPrefixes is The value of this property is the array of the
	// Prefixes of the Message Registries that contain the MessageIds in the
	// Events that shall be sent to the EventDestination. If this property
	// is absent or the array is empty, the service shall send Events with
	// MessageIds from any Message Registry.
	RegistryPrefixes []string
	// ResourceTypes shall specify an array of Resource Type values. When an
	// event is generated, if the OriginOfCondition's Resource Type matches a
	// value in this array, the event shall be sent to the event destination
	// (unless it would be filtered by other property conditions such as
	// RegistryPrefix). If this property is absent or the array is empty, the
	// service shall send Events from any Resource Type to the subscriber. The
	// value of this property shall be only the general namespace for the type
	// and not the versioned value. For example, it shall not be Task.v1_2_0.Task
	// and instead shall just be Task. To specify that a client is subscribing
	// for Metric Reports, the EventTypes property should include 'MetricReport'.
	ResourceTypes []string
	// SNMP shall contain the settings for an SNMP event destination.
	SNMP SNMPSettings
	// Status shall contain the status of the subscription.
	Status common.Status
	// SubordinateResources is When set to true and OriginResources is
	// specified, indicates the subscription shall be for events from the
	// OriginsResources specified and all subordinate resources. When set to
	// false and OriginResources is specified, indicates subscription shall
	// be for events only from the OriginResources. If OriginResources is
	// not specified, it has no relevance.
	SubordinateResources bool
	// SubscriptionType shall indicate the type of subscription for events. If
	// this property is not present, the SubscriptionType shall be assumed to be
	// RedfishEvent.
	SubscriptionType SubscriptionType
	// contains filtered or unexported fields
}

EventDestination is used to represent the target of an event subscription, including the types of events subscribed and context to provide to the target in the Event payload.

func GetEventDestination

func GetEventDestination(c common.Client, uri string) (*EventDestination, error)

GetEventDestination will get a EventDestination instance from the service.

func ListReferencedEventDestinations

func ListReferencedEventDestinations(c common.Client, link string) ([]*EventDestination, error)

ListReferencedEventDestinations gets the collection of EventDestination from a provided reference.

func (*EventDestination) UnmarshalJSON

func (eventdestination *EventDestination) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a EventDestination object from the raw JSON.

func (*EventDestination) Update added in v0.5.0

func (eventdestination *EventDestination) Update() error

Update commits updates to this object's properties to the running system.

type EventDestinationProtocol

type EventDestinationProtocol string

EventDestinationProtocol is the communication protocol of the event destination.

const (

	// RedfishEventDestinationProtocol The destination follows the Redfish
	// specification for event notifications.
	RedfishEventDestinationProtocol EventDestinationProtocol = "Redfish"
	// SNMPv1EventDestinationProtocol shall indicate the destination follows
	// the RFC1157-defined SNMPv1 protocol.
	SNMPv1EventDestinationProtocol EventDestinationProtocol = "SNMPv1"
	// SNMPv2cEventDestinationProtocol shall indicate the destination follows
	// the SNMPv2c protocol as defined by RFC1441 and RFC1452.
	SNMPv2cEventDestinationProtocol EventDestinationProtocol = "SNMPv2c"
	// SNMPv3EventDestinationProtocol shall indicate the destination follows
	// the SNMPv3 protocol as defined by RFC3411 and RFC3418.
	SNMPv3EventDestinationProtocol EventDestinationProtocol = "SNMPv3"
	// SMTPEventDestinationProtocol shall indicate the destination follows
	// the RFC5321-defined SMTP specification.
	SMTPEventDestinationProtocol EventDestinationProtocol = "SMTP"
)

type EventFormatType

type EventFormatType string

EventFormatType is

const (

	// EventEventFormatType The subscription destination will receive JSON
	// Bodies of the Resource Type Event.
	EventEventFormatType EventFormatType = "Event"
	// MetricReportEventFormatType The subscription destination will receive
	// JSON Bodies of the Resource Type MetricReport.
	MetricReportEventFormatType EventFormatType = "MetricReport"
)

type EventService

type EventService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// DeliveryRetryAttempts shall be the
	// number of retries attempted for any given event to the subscription
	// destination before the subscription is terminated.  This retry is at
	// the service level, meaning the HTTP POST to the Event Destination was
	// returned by the HTTP operation as unsuccessful (4xx or 5xx return
	// code) or an HTTP timeout occurred this many times before the Event
	// Destination subscription is terminated.
	DeliveryRetryAttempts int
	// DeliveryRetryIntervalSeconds shall be the interval in seconds between the
	// retry attempts for any given event
	// to the subscription destination.
	DeliveryRetryIntervalSeconds int
	// Description provides a description of this resource.
	Description string
	// EventFormatTypes shall indicate the
	// content types of the message that this service can send to the event
	// destination.  If this property is not present, the EventFormatType
	// shall be assumed to be Event.
	EventFormatTypes []EventFormatType
	// EventTypesForSubscription is the types of Events
	// that can be subscribed to.
	EventTypesForSubscription []EventType
	// IncludeOriginOfConditionSupported shall indicate
	// whether the service supports including the resource payload of the
	// origin of condition in the event payload.  If `true`, event
	// subscriptions are allowed to specify the IncludeOriginOfCondition
	// property.
	IncludeOriginOfConditionSupported bool
	// RegistryPrefixes is the array of the Prefixes of the Message Registries
	// that shall be allowed for an Event Subscription.
	RegistryPrefixes []string
	// ResourceTypes is used for an Event Subscription.
	ResourceTypes []string
	// SMTP shall contain settings for SMTP event delivery.
	SMTP SMTP
	// SSEFilterPropertiesSupported shall contain a set of properties that
	// indicate which properties are supported in the $filter query parameter
	// for the URI indicated by the ServerSentEventUri property.
	SSEFilterPropertiesSupported SSEFilterPropertiesSupported
	// ServerSentEventURI shall be a URI that specifies an HTML5 Server-Sent
	// Event conformant endpoint.
	ServerSentEventURI string `json:"ServerSentEventUri"`
	// ServiceEnabled shall be a boolean indicating whether this service is enabled.
	ServiceEnabled bool
	// Status is This property shall contain any status or health properties of
	// the resource.
	Status common.Status
	// SubordinateResourcesSupported is When set to true, the service is
	// indicating that it supports the SubordinateResource property on Event
	// Subscriptions and on generated Events.
	SubordinateResourcesSupported bool
	// contains filtered or unexported fields
}

EventService is used to represent an event service for a Redfish implementation.

func GetEventService

func GetEventService(c common.Client, uri string) (*EventService, error)

GetEventService will get a EventService instance from the service.

func ListReferencedEventServices

func ListReferencedEventServices(c common.Client, link string) ([]*EventService, error)

ListReferencedEventServices gets the collection of EventService from a provided reference.

func (*EventService) CreateEventSubscription added in v0.6.0

func (eventservice *EventService) CreateEventSubscription(
	destination string,
	eventTypes []EventType,
	httpHeaders map[string]string,
	protocol EventDestinationProtocol,
	context string,
	oem interface{},
) (string, error)

CreateEventSubscription creates the subscription using the event service. destination should contain the URL of the destination for events to be sent. eventTypes is a list of EventType to subscribe to. httpHeaders is optional and gives the opportunity to specify any arbitrary HTTP headers required for the event POST operation. protocol should be the communication protocol of the event endpoint, usually RedfishEventDestinationProtocol context is a required client-supplied string that is sent with the event notifications oem is optional and gives the opportunity to specify any OEM specific properties, it should contain the vendor specific struct that goes inside the Oem session. It returns the new subscription URI if the event subscription is created with success or any error encountered.

func (*EventService) DeleteEventSubscription added in v0.6.0

func (eventservice *EventService) DeleteEventSubscription(uri string) error

DeleteEventSubscription deletes a specific subscription using the event service.

func (*EventService) GetEventSubscription added in v0.6.0

func (eventservice *EventService) GetEventSubscription(uri string) (*EventDestination, error)

GetEventSubscription gets a specific subscription using the event service.

func (*EventService) GetEventSubscriptions added in v0.6.0

func (eventservice *EventService) GetEventSubscriptions() ([]*EventDestination, error)

GetEventSubscriptions gets all the subscriptions using the event service.

func (*EventService) SubmitTestEvent

func (eventservice *EventService) SubmitTestEvent(message string) error

SubmitTestEvent shall add a test event to the event service with the event data specified in the action parameters. This message should then be sent to any appropriate ListenerDestination targets.

func (*EventService) UnmarshalJSON

func (eventservice *EventService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a EventService object from the raw JSON.

func (*EventService) Update added in v0.5.0

func (eventservice *EventService) Update() error

Update commits updates to this object's properties to the running system.

type EventSeverity

type EventSeverity string

EventSeverity is

const (

	// OKEventSeverity Informational or operating normally.
	OKEventSeverity EventSeverity = "OK"
	// WarningEventSeverity A condition requiring attention.
	WarningEventSeverity EventSeverity = "Warning"
	// CriticalEventSeverity A critical condition requiring immediate
	// attention.
	CriticalEventSeverity EventSeverity = "Critical"
)

type EventType added in v0.6.0

type EventType string

EventType is

const (
	// AlertEventType indicates a condition exists which requires attention.
	AlertEventType EventType = "Alert"
	// ResourceAddedEventType indicates a resource has been added.
	ResourceAddedEventType EventType = "ResourceAdded"
	// ResourceRemovedEventType indicates a resource has been removed.
	ResourceRemovedEventType EventType = "ResourceRemoved"
	// ResourceUpdatedEventType indicates a resource has been updated.
	ResourceUpdatedEventType EventType = "ResourceUpdated"
	// StatusChangeEventType indicates the status of this resource has changed.
	StatusChangeEventType EventType = "StatusChange"
)

func (EventType) IsValidEventType added in v0.6.0

func (et EventType) IsValidEventType() bool

IsValidEventType will check if it is a valid EventType

type ExternalAccountProvider added in v0.5.0

type ExternalAccountProvider struct {

	// Authentication shall contain the authentication
	// information for the external account provider.
	Authentication Authentication
	// certificates shall contain a link to a Resource
	// Collection of certificates of the CertificateCollection type that the
	// external account provider uses.
	// certificates string
	// ldapService shall contain any additional mapping
	// information needed to parse a generic LDAP service.  This property
	// should only be present inside the LDAP property.
	// ldapService string
	// PasswordSet shall contain `true` if a valid value was
	// provided for the Password property.  Otherwise, the property shall
	// contain `false`.
	PasswordSet bool
	// RemoteRoleMapping is used to convert the external account providers
	// account information to the local Redfish Role.
	RemoteRoleMapping []RoleMapping
	// ServiceAddresses shall contain the addresses of the
	// account providers to which this external account provider links.  The
	// format of this field depends on the type of external account provider.
	// Each item in the array shall contain a single address.  Services may
	// define their own behavior for managing multiple addresses.
	ServiceAddresses []string
	// ServiceEnabled shall indicate whether this service is
	// enabled.
	ServiceEnabled bool
}

ExternalAccountProvider shall contain properties that represent external account provider services that can provide accounts for this manager to use for authentication.

type FPGA

type FPGA struct {
	// ExternalInterfaces shall be an array of objects that describe the
	// external connectivity of the FPGA.
	ExternalInterfaces []FpgaInterface
	// FirmwareID shall contain a string describing the FPGA firmware
	// identifier.
	FirmwareID string `json:"FirmwareId"`
	// FirmwareManufacturer shall contain a string describing the FPGA firmware
	// manufacturer.
	FirmwareManufacturer string
	// FirmwareVersion shall contain a string describing the FPGA firmware
	// version.
	FirmwareVersion string
	// FpgaType shall be a type of the FPGA device.
	FpgaType FpgaType
	// HostInterface shall be an object that describes the connectivity to the
	// host for system software to use.
	HostInterface FpgaInterface
	// Model shall be a model of the FPGA device.
	Model string
	// PCIeVirtualFunctions shall be an integer that describes the number of
	// PCIe Virtual Functions configured within the FPGA.
	PCIeVirtualFunctions int
	// ProgrammableFromHost shall indicate
	// whether the FPGA firmware can be reprogrammed from the host using
	// system software. If set to false, system software shall not be able
	// to program the FPGA firmware from the host interface. In either
	// state, a management controller may be able to program the FPGA
	// firmware using the sideband interface.
	ProgrammableFromHost bool
	// ReconfigurationSlots shall be an array
	// of the structures describing the FPGA reconfiguration slots that can
	// be programmed with the acceleration functions.
	ReconfigurationSlots []FpgaReconfigurationSlot
}

FPGA shall contain the properties of the FPGA device represented by a Processor.

type Fan

type Fan struct {
	common.Entity

	// HotPluggable shall indicate whether the
	// device can be inserted or removed while the underlying equipment
	// otherwise remains in its current operational state. Devices indicated
	// as hot-pluggable shall allow the device to become operable without
	// altering the operational state of the underlying equipment. Devices
	// that cannot be inserted or removed from equipment in operation, or
	// devices that cannot become operable without affecting the operational
	// state of that equipment, shall be indicated as not hot-pluggable.
	HotPluggable bool
	// IndicatorLED shall contain the indicator light state for the indicator
	// light associated with this fan.
	IndicatorLED common.IndicatorLED
	// Location shall contain location information of the associated fan.
	Location common.Location
	// LowerThresholdCritical shall indicate the Reading is below the normal
	// range but is not yet fatal. The units shall be the same units as the
	// related Reading property.
	LowerThresholdCritical float32
	// LowerThresholdFatal shall indicate the Reading is below the normal range
	// and is fatal. The units shall be the same units as the related Reading property.
	LowerThresholdFatal float32
	// LowerThresholdNonCritical shall indicate the Reading is below the normal
	// range but is not critical. The units shall be the same units as the related Reading property.
	LowerThresholdNonCritical float32
	// Manufacturer shall be the name of the organization responsible for producing
	// the fan. This organization might be the entity from whom the fan is
	// purchased, but this is not necessarily true.
	Manufacturer string
	// MaxReadingRange shall indicate the
	// highest possible value for Reading. The units shall be the same units
	// as the related Reading property.
	MaxReadingRange float32
	// MemberID shall uniquely identify the member within the collection. For
	// services supporting Redfish v1.6 or higher, this value shall be the
	// zero-based array index.
	MemberID string `json:"MemberId"`
	// MinReadingRange shall indicate the
	// lowest possible value for Reading. The units shall be the same units
	// as the related Reading property.
	MinReadingRange float32
	// Model shall contain the model information as defined by the manufacturer
	// for the associated fan.
	Model string
	// PartNumber shall contain the part number as defined by the manufacturer
	// for the associated fan.
	PartNumber string
	// PhysicalContext shall be a description of the affected device or region
	// within the chassis to which this fan is associated.
	PhysicalContext string
	// Reading shall be the current value of the fan sensor's reading.
	Reading float32
	// ReadingUnits shall be the units in which the fan's reading and thresholds are measured.
	ReadingUnits ReadingUnits
	// Redundancy is used to show redundancy for fans and other elements in
	// this resource. The use of IDs within these arrays shall reference the
	// members of the redundancy groups.
	Redundancy []Redundancy
	// RedundancyCount is the number of Redundancy elements.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// SensorNumber shall be a numerical identifier for this fan speed sensor
	// that is unique within this resource.
	SensorNumber int
	// SerialNumber shall contain the serial number as defined by the
	// manufacturer for the associated fan.
	SerialNumber string
	// SparePartNumber shall contain the spare or replacement part number as
	// defined by the manufacturer for the associated fan.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UpperThresholdCritical shall indicate the Reading is above the normal
	// range but is not yet fatal. The units shall be the same units as the
	// related Reading property.
	UpperThresholdCritical float32
	// UpperThresholdFatal shall indicate the Reading is above the normal range
	// and is fatal. The units shall be the same units as the related Reading property.
	UpperThresholdFatal float32
	// UpperThresholdNonCritical shall indicate the Reading is above the normal
	// range but is not critical. The units shall be the same units as the
	// related Reading property.
	UpperThresholdNonCritical float32
	// contains filtered or unexported fields
}

Fan is

func (*Fan) UnmarshalJSON

func (fan *Fan) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Fan object from the raw JSON.

type FibreChannel

type FibreChannel struct {
	// AllowFIPVLANDiscovery is used to determine the FCoE VLAN ID selected
	// by the network device function for the FCoE connection. If true, and
	// the FIP VLAN Discovery succeeds, the FCoEActiveVLANId property shall
	// reflect the FCoE VLAN ID to be used for all FCoE traffic. If false,
	// or if the FIP VLAN Discovery protocol fails, the FCoELocalVLANId shall
	// be used for all FCoE traffic and the FCoEActiveVLANId shall reflect
	// the FCoELocalVLANId.
	AllowFIPVLANDiscovery bool
	// BootTargets shall be an array of Fibre
	// Channel boot targets configured for this network device function.
	BootTargets []BootTargets
	// FCoEActiveVLANId is used for FCoE traffic. When the FCoE link is down
	// this value shall be null. When the FCoE link is up this value shall
	// be either the FCoELocalVLANId property or a VLAN discovered via the
	// FIP protocol.
	FCoEActiveVLANId int
	// FCoELocalVLANId is used for FCoE traffic to this network device
	// function during boot unless AllowFIPVLANDiscovery is true and a valid
	// FCoE VLAN ID is found via the FIP VLAN Discovery Protocol.
	FCoELocalVLANId int
	// FibreChannelID shall indicate the Fibre Channel Id assigned by the switch
	// for this interface.
	FibreChannelID string `json:"FibreChannelId"`
	// PermanentWWNN shall be the permanent World-Wide Node Name (WWNN) of this
	// network device function (physical function). This value is typically
	// programmed during the manufacturing time. This address is not assignable.
	PermanentWWNN string
	// PermanentWWPN shall be the permanent World-Wide Port Name (WWPN) of this
	// network device function (physical function). This value is typically
	// programmed during the manufacturing time. This address is not assignable.
	PermanentWWPN string
	// WWNN shall be the effective current World-Wide Node Name (WWNN) of this
	// network device function (physical function). If an assignable WWNN is not
	// supported, this is a read only alias of the PermanentWWNN.
	WWNN string
	// WWNSource shall be the configuration source of the World-Wide Names
	// (WWNs) for this connection (WWPN and WWNN).
	WWNSource WWNSource
	// WWPN shall be the effective current World-Wide Port Name (WWPN) of this
	// network device function (physical function). If an assignable WWPN is not
	// supported, this is a read only alias of the PermanentWWPN.
	WWPN string
}

FibreChannel shall describe the Fibre Channel capabilities, status, and configuration values for a network device function.

type FlowControl

type FlowControl string

FlowControl is type of flow control for the port.

const (
	// NoneFlowControl No IEEE 802.3x flow control is enabled on this port.
	NoneFlowControl FlowControl = "None"
	// TXFlowControl IEEE 802.3x flow control may be initiated by this
	// station.
	TXFlowControl FlowControl = "TX"
	// RXFlowControl IEEE 802.3x flow control may be initiated by the link
	// partner.
	RXFlowControl FlowControl = "RX"
	// TXRXFlowControl IEEE 802.3x flow control may be initiated by this
	// station or the link partner.
	TXRXFlowControl FlowControl = "TX_RX"
)

type FpgaInterface

type FpgaInterface struct {
	// Ethernet shall be an object the
	// describes the Ethernet related information about this FPGA interface.
	Ethernet EthernetInterface
	// InterfaceType shall be an enum that
	// describes the type of interface to the FPGA.
	InterfaceType FpgaInterfaceType
}

FpgaInterface shall contain information about the interface to the FPGA.

type FpgaInterfaceType

type FpgaInterfaceType string

FpgaInterfaceType is

const (

	// QPIFpgaInterfaceType The Intel QuickPath Interconnect.
	QPIFpgaInterfaceType FpgaInterfaceType = "QPI"
	// UPIFpgaInterfaceType The Intel UltraPath Interconnect.
	UPIFpgaInterfaceType FpgaInterfaceType = "UPI"
	// PCIeFpgaInterfaceType A PCI Express interface.
	PCIeFpgaInterfaceType FpgaInterfaceType = "PCIe"
	// EthernetFpgaInterfaceType An Ethernet interface.
	EthernetFpgaInterfaceType FpgaInterfaceType = "Ethernet"
	// OEMFpgaInterfaceType An OEM defined interface.
	OEMFpgaInterfaceType FpgaInterfaceType = "OEM"
)

type FpgaReconfigurationSlot

type FpgaReconfigurationSlot struct {
	// AccelerationFunction shall be a reference to the acceleration function
	// resources provided by the code programmed into a reconfiguration slot and
	// shall reference a resource of type AccelerationFunction.
	// TODO: Get link to resource.
	// accelerationFunction string
	// ProgrammableFromHost shall indicate
	// whether the reconfiguration slot can be reprogrammed from the host
	// using system software. If set to false, system software shall not be
	// able to program the reconfiguration slot from the host interface. In
	// either state, a management controller may be able to program the
	// reconfiguration slot using the sideband interface.
	ProgrammableFromHost bool
	// SlotID shall be the FPGA reconfiguration slot identifier.
	SlotID string `json:"SlotId"`
	// UUID is used to contain a universal unique identifier number for the
	// reconfiguration slot.
	UUID string
}

FpgaReconfigurationSlot shall contain information about the FPGA reconfiguration slot.

type FpgaType

type FpgaType string

FpgaType is The FPGA type.

const (

	// IntegratedFpgaType The FPGA device integrated with other processor in
	// the single chip.
	IntegratedFpgaType FpgaType = "Integrated"
	// DiscreteFpgaType The discrete FPGA device.
	DiscreteFpgaType FpgaType = "Discrete"
)

type FunctionType

type FunctionType string

FunctionType is the function type.

const (
	// PhysicalFunctionType A physical PCie function.
	PhysicalFunctionType FunctionType = "Physical"
	// VirtualFunctionType A virtual PCIe function.
	VirtualFunctionType FunctionType = "Virtual"
)

type GCID added in v0.5.0

type GCID struct {

	// CID shall contain the 12 bit component identifier
	// portion of the GCID of the entity.
	CID string
	// SID shall contain the 16 bit subnet identifier
	// portion of the GCID of the entity.
	SID string
}

GCID shall contain the Gen-Z Core Specification-defined Global Component ID.

type GenZ added in v0.5.0

type GenZ struct {

	// AccessKey shall contain the Gen-Z Core Specification-
	// defined 6 bit Access Key for the entity.
	AccessKey string
	// GCID shall contain the Gen-Z Core Specification-
	// defined Global Component ID for the entity.
	GCID GCID
	// RegionKey shall contain the Gen-Z Core Specification-
	// defined 32 bit Region Key for the entity.
	RegionKey string
}

GenZ shall contain the Gen-Z related properties for an entity.

type GraphicalConnectTypesSupported

type GraphicalConnectTypesSupported string

GraphicalConnectTypesSupported is graphical connection type.

const (

	// KVMIPGraphicalConnectTypesSupported The controller supports a
	// Graphical Console connection using a KVM-IP (redirection of Keyboard,
	// Video, Mouse over IP) protocol.
	KVMIPGraphicalConnectTypesSupported GraphicalConnectTypesSupported = "KVMIP"
	// OemGraphicalConnectTypesSupported The controller supports a Graphical
	// Console connection using an OEM-specific protocol.
	OemGraphicalConnectTypesSupported GraphicalConnectTypesSupported = "Oem"
)

type GraphicalConsole

type GraphicalConsole struct {
	// ConnectTypesSupported shall be an array of the enumerations provided here.
	// RDP shall be included if the Remote Desktop (RDP) protocol is supported.
	// KVMIP shall be included if a vendor-define KVM-IP protocol is supported.
	ConnectTypesSupported []GraphicalConnectTypesSupported
	// MaxConcurrentSessions shall contain the maximum number of concurrent
	// service sessions supported by the implementation.
	MaxConcurrentSessions uint32
	// ServiceEnabled is used for the service. The value shall be true if
	// enabled and false if disabled.
	ServiceEnabled bool
}

GraphicalConsole shall describe a Graphical Console service of a manager.

type HTTPHeaderProperty

type HTTPHeaderProperty map[string][]string

HTTPHeaderProperty shall a names and value of an HTTP header to be included with every event POST to the Event Destination.

type HealthData

type HealthData struct {
	// AlarmTrips shall contain properties describe the types of alarms that
	// have been raised by the memory.
	AlarmTrips AlarmTrips
	// DataLossDetected shall be data loss detection status, with true
	// indicating data loss detected.
	DataLossDetected bool
	// LastShutdownSuccess shall be the status of the  last shutdown, with true
	// indicating success.
	LastShutdownSuccess bool
	// PerformanceDegraded shall be performance degraded mode status, with true
	// indicating performance degraded.
	PerformanceDegraded bool
	// PredictedMediaLifeLeftPercent shall contain an indicator
	// of the percentage of life remaining in the media.
	PredictedMediaLifeLeftPercent float32
	// RemainingSpareBlockPercentage shall be the remaining spare blocks in percentage.
	RemainingSpareBlockPercentage float32
}

HealthData shall contain properties which describe the HealthData metrics for the current resource.

type HostInterface

type HostInterface struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AuthNoneRoleID is used when no authentication on this interface is
	// performed. This property shall be absent if AuthNone is not supported
	// by the service for the AuthenticationModes property.
	AuthNoneRoleID string `json:"AuthNoneRoleId"`
	// AuthenticationModes shall be an array consisting of the authentication
	// modes allowed on this interface.
	AuthenticationModes []AuthenticationMode
	// Description provides a description of this resource.
	Description string
	// ExternallyAccessible is used by external clients, and this property
	// will have the value set to true.
	ExternallyAccessible bool
	// FirmwareAuthEnabled shall be a boolean
	// indicating whether firmware authentication for this interface is
	// enabled.
	FirmwareAuthEnabled bool
	// FirmwareAuthRoleID shall be the ID of the Role resource that is
	// configured for firmware authentication on this interface.
	FirmwareAuthRoleID string `json:"FirmwareAuthRoleId"`

	// HostInterfaceType shall be an enumeration describing type of the interface.
	HostInterfaceType HostInterfaceType
	// InterfaceEnabled shall be a boolean indicating whether this interface is
	// enabled.
	InterfaceEnabled bool
	// KernelAuthEnabled shall be a boolean indicating whether kernel
	// authentication for this interface is enabled.
	KernelAuthEnabled bool
	// KernelAuthRoleID shall be the ID of the Role resource that is configured
	// for kernel authentication on this interface.
	KernelAuthRoleID string `json:"KernelAuthRoleId"`

	// Status is This property shall contain any status or health properties
	// of the resource.
	Status common.Status

	// ComputerSystemsCount is the number of computer systems.
	ComputerSystemsCount int
	// contains filtered or unexported fields
}

HostInterface is used to represent Host Interface resources as part of the Redfish specification.

func GetHostInterface

func GetHostInterface(c common.Client, uri string) (*HostInterface, error)

GetHostInterface will get a HostInterface instance from the service.

func ListReferencedHostInterfaces

func ListReferencedHostInterfaces(c common.Client, link string) ([]*HostInterface, error)

ListReferencedHostInterfaces gets the collection of HostInterface from a provided reference.

func (*HostInterface) ComputerSystems

func (hostinterface *HostInterface) ComputerSystems() ([]*ComputerSystem, error)

ComputerSystems references the ComputerSystems that this host interface is associated with.

func (*HostInterface) HostNetworkInterfaces

func (hostinterface *HostInterface) HostNetworkInterfaces() ([]*EthernetInterface, error)

HostNetworkInterfaces gets the network interface controllers or cards (NICs) that a Computer System uses to communicate with this Host Interface.

func (*HostInterface) ManagerNetworkInterfaces

func (hostinterface *HostInterface) ManagerNetworkInterfaces() ([]*EthernetInterface, error)

ManagerNetworkInterfaces gets the network interface controllers or cards (NIC) that this Manager uses for network communication with this Host Interface.

func (*HostInterface) UnmarshalJSON

func (hostinterface *HostInterface) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a HostInterface object from the raw JSON.

func (*HostInterface) Update added in v0.5.0

func (hostinterface *HostInterface) Update() error

Update commits updates to this object's properties to the running system.

type HostInterfaceType

type HostInterfaceType string

HostInterfaceType is the type of network interface.

const (

	// NetworkHostInterfaceHostInterfaceType This interface is a Network Host
	// Interface.
	NetworkHostInterfaceHostInterfaceType HostInterfaceType = "NetworkHostInterface"
)

type HostingRole

type HostingRole string

HostingRole specifies different features that the hosting ComputerSystem supports.

const (

	// ApplicationServerHostingRole the system hosts functionality that
	// supports general purpose applications.
	ApplicationServerHostingRole HostingRole = "ApplicationServer"
	// StorageServerHostingRole the system hosts functionality that supports
	// the system acting as a storage server.
	StorageServerHostingRole HostingRole = "StorageServer"
	// SwitchHostingRole the system hosts functionality that supports the
	// system acting as a switch.
	SwitchHostingRole HostingRole = "Switch"
)

type HotspareReplacementModeType

type HotspareReplacementModeType string

HotspareReplacementModeType is the replacement operation mode of a hot spare.

const (
	// RevertibleHotspareReplacementModeType indicates the hot spare is drive that is
	// commissioned due to a drive failure will revert to being a hotspare
	// once the failed drive is replaced and rebuilt.
	RevertibleHotspareReplacementModeType HotspareReplacementModeType = "Revertible"
	// NonRevertibleHotspareReplacementModeType indicates the hot spare is drive that is
	// commissioned due to a drive failure will remain as a data drive and
	// will not revert to a hotspare if the failed drive is replaced.
	NonRevertibleHotspareReplacementModeType HotspareReplacementModeType = "NonRevertible"
)

type HotspareType

type HotspareType string

HotspareType is the type of hot spare.

const (
	// NoneHotspareType indicates the drive is not currently a hotspare.
	NoneHotspareType HotspareType = "None"
	// GlobalHotspareType indicates the drive is currently serving as a hotspare for
	// all other drives in the storage system.
	GlobalHotspareType HotspareType = "Global"
	// ChassisHotspareType indicates the drive is currently serving as a hotspare for
	// all other drives in the chassis.
	ChassisHotspareType HotspareType = "Chassis"
	// DedicatedHotspareType indicates the drive is currently serving as a hotspare for
	// a user defined set of drives.
	DedicatedHotspareType HotspareType = "Dedicated"
)

type IPAddressType

type IPAddressType string

IPAddressType is the version of IP protocol.

const (
	// IPv4IPAddressType IPv4 addressing is used for all IP-fields in this
	// object.
	IPv4IPAddressType IPAddressType = "IPv4"
	// IPv6IPAddressType IPv6 addressing is used for all IP-fields in this
	// object.
	IPv6IPAddressType IPAddressType = "IPv6"
)

type IPTransportDetails

type IPTransportDetails struct {
	// IPv4Address shall specify the IPv4Address.
	IPv4Address string
	// IPv6Address shall specify the IPv6Address.
	IPv6Address string
	// Port shall be an specify UDP or TCP port number used for communication
	// with the Endpoint.
	Port int
	// TransportProtocol is used by the connection entity.
	TransportProtocol common.Protocol
}

IPTransportDetails shall contain properties which specify the details of the transport supported by the endpoint.

type IPv4Address

type IPv4Address struct {
	// Address shall be an IPv4 address assigned to this interface. If DHCPv4
	// is enabled on the interface, this property becomes read-only.
	Address string
	// AddressOrigin shall be the IP address origin for this network interface.
	AddressOrigin IPv4AddressOrigin
	// Gateway shall be the IPv4 default gateway address for this interface. If
	// DHCPv4 is enabled on the interface and is configured to set the IPv4
	// default gateway address, this property becomes read-only.
	Gateway string
	// SubnetMask shall be the IPv4 subnet mask for this address. If DHCPv4 is
	// enabled on the interface, this property becomes read-only.
	SubnetMask string
}

IPv4Address describes an IPv4 address assigned to an interface.

type IPv4AddressOrigin

type IPv4AddressOrigin string

IPv4AddressOrigin is the assignment origin of the address.

const (
	// StaticIPv4AddressOrigin A static address as configured by the user.
	StaticIPv4AddressOrigin IPv4AddressOrigin = "Static"
	// DHCPIPv4AddressOrigin Address is provided by a DHCPv4 service.
	DHCPIPv4AddressOrigin IPv4AddressOrigin = "DHCP"
	// BOOTPIPv4AddressOrigin Address is provided by a BOOTP service.
	BOOTPIPv4AddressOrigin IPv4AddressOrigin = "BOOTP"
	// IPv4LinkLocalIPv4AddressOrigin Address is valid only for this network
	// segment (link).
	IPv4LinkLocalIPv4AddressOrigin IPv4AddressOrigin = "IPv4LinkLocal"
)

type IPv6Address

type IPv6Address struct {
	// Address lists an IPv6 address that is currently assigned on this interface.
	Address string
	// AddressOrigin shall be the IPv6 address origin for this interface.
	AddressOrigin IPv6AddressOrigin
	// AddressState Preferred and Deprecated states follow the definitions
	// given RFC4862 Section 5.5.4. An address is in the Tentative state
	// while undergoing Duplicate Address Detection (DAD) per RFC4862 Section
	// 5.4. The Failed state indicates a Static addresses which did not pass
	// DAD. A Static address in the Failed state is not in use on the
	// network stack, and corrective action will be needed to remedy this
	// condition.
	AddressState AddressState
	// PrefixLength shall be the IPv6 address prefix length for this interface.
	PrefixLength int8
}

IPv6Address describes an IPv6 address assigned to an interface.

type IPv6AddressOrigin

type IPv6AddressOrigin string

IPv6AddressOrigin is the assignment origin of the address.

const (
	// StaticIPv6AddressOrigin A static address as configured by the user.
	StaticIPv6AddressOrigin IPv6AddressOrigin = "Static"
	// DHCPv6IPv6AddressOrigin Address is provided by a DHCPv6 service.
	DHCPv6IPv6AddressOrigin IPv6AddressOrigin = "DHCPv6"
	// LinkLocalIPv6AddressOrigin Address is valid only for this network
	// segment (link).
	LinkLocalIPv6AddressOrigin IPv6AddressOrigin = "LinkLocal"
	// SLAACIPv6AddressOrigin Address is provided by a Stateless Address
	// AutoConfiguration (SLAAC) service.
	SLAACIPv6AddressOrigin IPv6AddressOrigin = "SLAAC"
)

type IPv6AddressPolicyEntry

type IPv6AddressPolicyEntry struct {
	// Label shall contain the IPv6 Label value for this table entry as defined
	// in RFC 6724 section 2.1.
	Label int
	// Precedence shall contain the IPv6 Precedence value for this table entry
	// as defined in RFC 6724 section 2.1.
	Precedence int
	// Prefix shall contain the IPv6 Address Prefix for this table entry as
	// defined in RFC 6724 section 2.1.
	Prefix string
}

IPv6AddressPolicyEntry describes and entry in the Address Selection Policy Table as defined in RFC 6724.

type IPv6GatewayStaticAddress

type IPv6GatewayStaticAddress struct {
	// Address provides access to a static IPv6 address that is currently
	// assigned on a network interface.
	Address string
	// PrefixLength provides the IPv6 network prefix length in bits for this address.
	PrefixLength int8
}

IPv6GatewayStaticAddress shall represent a single IPv6 static address to be assigned on a network interface.

type IPv6StaticAddress

type IPv6StaticAddress struct {
	// Address provides access to a static IPv6 address that is currently
	// assigned on a network interface.
	Address string
	// PrefixLength provides the IPv6 network prefix length in bits for this address.
	PrefixLength int8
}

IPv6StaticAddress shall represent a single IPv6 static address to be assigned on a network interface.

type ISCSIBoot

type ISCSIBoot struct {
	// AuthenticationMethod shall be the iSCSI
	// boot authentication method for this network device function.
	AuthenticationMethod AuthenticationMethod
	// CHAPSecret shall be the shared secret
	// for CHAP authentication.
	CHAPSecret string
	// CHAPUsername shall be the username for
	// CHAP authentication.
	CHAPUsername string
	// IPAddressType shall be the type of IP
	// address (IPv6 or IPv4) being populated in the iSCSIBoot IP address
	// fields. Mixing of IPv6 and IPv4 addresses on the same network device
	// function shall not be permissible.
	IPAddressType IPAddressType
	// IPMaskDNSViaDHCP shall be a boolean
	// indicating whether the iSCSI boot initiator uses DHCP to obtain the
	// initiator name, IP address, and netmask.
	IPMaskDNSViaDHCP bool
	// InitiatorDefaultGateway shall be the
	// IPv6 or IPv4 iSCSI boot default gateway.
	InitiatorDefaultGateway string
	// InitiatorIPAddress shall be the IPv6 or
	// IPv4 address of the iSCSI boot initiator.
	InitiatorIPAddress string
	// InitiatorName shall be the iSCSI boot
	// initiator name. The value of this property should match formats
	// defined in RFC3720 or RFC3721.
	InitiatorName string
	// InitiatorNetmask shall be the IPv6 or
	// IPv4 netmask of the iSCSI boot initiator.
	InitiatorNetmask string
	// MutualCHAPSecret shall be the CHAP
	// Secret for 2-way CHAP authentication.
	MutualCHAPSecret string
	// MutualCHAPUsername shall be the CHAP
	// Username for 2-way CHAP authentication.
	MutualCHAPUsername string
	// PrimaryDNS shall be the IPv6 or IPv4
	// address of the primary DNS server for the iSCSI boot initiator.
	PrimaryDNS string
	// PrimaryLUN shall be the logical unit
	// number (LUN) for the primary iSCSI boot target.
	PrimaryLUN int
	// PrimaryTargetIPAddress shall be the IP
	// address (IPv6 or IPv4) for the primary iSCSI boot target.
	PrimaryTargetIPAddress string
	// PrimaryTargetName shall be the name of
	// the primary iSCSI boot target. The value of this property should
	// match formats defined in RFC3720 or RFC3721.
	PrimaryTargetName string
	// PrimaryTargetTCPPort shall be the TCP
	// port for the primary iSCSI boot target.
	PrimaryTargetTCPPort int
	// PrimaryVLANEnable is used to indicate if this VLAN is enabled for the
	// primary iSCSI boot target.
	PrimaryVLANEnable bool
	// PrimaryVLANId is used if PrimaryVLANEnable is true.
	PrimaryVLANId int
	// RouterAdvertisementEnabled shall be a
	// boolean indicating whether IPv6 router advertisement is enabled for
	// the iSCSI boot target. This setting shall only apply to IPv6
	// configurations.
	RouterAdvertisementEnabled bool
	// SecondaryDNS shall be the IPv6 or IPv4
	// address of the secondary DNS server for the iSCSI boot initiator.
	SecondaryDNS string
	// SecondaryLUN shall be the logical unit
	// number (LUN) for the secondary iSCSI boot target.
	SecondaryLUN int
	// SecondaryTargetIPAddress shall be the IP
	// address (IPv6 or IPv4) for the secondary iSCSI boot target.
	SecondaryTargetIPAddress string
	// SecondaryTargetName shall be the name of
	// the secondary iSCSI boot target. The value of this property should
	// match formats defined in RFC3720 or RFC3721.
	SecondaryTargetName string
	// SecondaryTargetTCPPort shall be the TCP
	// port for the secondary iSCSI boot target.
	SecondaryTargetTCPPort int
	// SecondaryVLANEnable is used to indicate if this VLAN is enabled for
	// the secondary iSCSI boot target.
	SecondaryVLANEnable bool
	// SecondaryVLANId is used if SecondaryVLANEnable is true.
	SecondaryVLANId int
	// TargetInfoViaDHCP shall be a boolean
	// indicating whether the iSCSI boot target name, LUN, IP address, and
	// netmask should be obtained from DHCP.
	TargetInfoViaDHCP bool
}

ISCSIBoot shall describe the iSCSI boot capabilities, status, and configuration values for a network device function.

type InputRange

type InputRange struct {
	// InputType shall contain the input type (AC or DC) of the associated range.
	InputType InputType
	// MaximumFrequencyHz shall contain the value in Hertz of the maximum line
	// input frequency which the power supply is capable of consuming for this range.
	MaximumFrequencyHz float32
	// MaximumVoltage shall contain the value in Volts of the maximum line input
	// voltage which the power supply is capable of consuming for this range.
	MaximumVoltage float32
	// MinimumFrequencyHz shall contain the value in Hertz of the minimum line
	// input frequency which the power supply is capable of consuming for this range.
	MinimumFrequencyHz float32
	// MinimumVoltage shall contain the value in Volts of the minimum line input
	// voltage which the power supply is capable of consuming for this range.
	MinimumVoltage float32
	// OutputWattage shall contain the maximum amount of power, in Watts, that
	// the associated power supply is rated to deliver while operating in this input range.
	OutputWattage float32
}

InputRange shall describe an input range that the associated power supply is able to utilize.

type InputType

type InputType string

InputType is the type of power input.

const (

	// ACInputType Alternating Current (AC) input range.
	ACInputType InputType = "AC"
	// DCInputType Direct Current (DC) input range.
	DCInputType InputType = "DC"
)

type InstructionSet

type InstructionSet string

InstructionSet is the process instruction set used.

const (

	// X86InstructionSet x86 32-bit.
	X86InstructionSet InstructionSet = "x86"
	// X86_64InstructionSet x86 64-bit.
	X8664InstructionSet InstructionSet = "x86-64"
	// IA64InstructionSet Intel IA-64.
	IA64InstructionSet InstructionSet = "IA-64"
	// ARMA32InstructionSet ARM 32-bit.
	ARMA32InstructionSet InstructionSet = "ARM-A32"
	// ARMA64InstructionSet ARM 64-bit.
	ARMA64InstructionSet InstructionSet = "ARM-A64"
	// MIPS32InstructionSet MIPS 32-bit.
	MIPS32InstructionSet InstructionSet = "MIPS32"
	// MIPS64InstructionSet MIPS 64-bit.
	MIPS64InstructionSet InstructionSet = "MIPS64"
	// PowerISAInstructionSet PowerISA-64 or PowerISA-32.
	PowerISAInstructionSet InstructionSet = "PowerISA"
	// OEMInstructionSet OEM-defined.
	OEMInstructionSet InstructionSet = "OEM"
)

type InterfaceType

type InterfaceType string

InterfaceType is the Trusted Platform Module type.

const (

	// TPM1_2InterfaceType Trusted Platform Module (TPM) 1.2.
	TPM1_2InterfaceType InterfaceType = "TPM1_2"
	// TPM2_0InterfaceType Trusted Platform Module (TPM) 2.0.
	TPM2_0InterfaceType InterfaceType = "TPM2_0"
	// TCM1_0InterfaceType Trusted Cryptography Module (TCM) 1.0.
	TCM1_0InterfaceType InterfaceType = "TCM1_0"
)

type InterfaceTypeSelection

type InterfaceTypeSelection string

InterfaceTypeSelection specify the method for switching the TrustedModule InterfaceType, for instance between TPM1_2 and TPM2_0, if supported.

const (

	// NoneInterfaceTypeSelection the TrustedModule does not support
	// switching the InterfaceType.
	NoneInterfaceTypeSelection InterfaceTypeSelection = "None"
	// FirmwareUpdateInterfaceTypeSelection the TrustedModule supports
	// switching InterfaceType via a firmware update.
	FirmwareUpdateInterfaceTypeSelection InterfaceTypeSelection = "FirmwareUpdate"
	// BiosSettingInterfaceTypeSelection the TrustedModule supports switching
	// InterfaceType via platform software, such as a BIOS configuration
	// Attribute.
	BiosSettingInterfaceTypeSelection InterfaceTypeSelection = "BiosSetting"
	// OemMethodInterfaceTypeSelection the TrustedModule supports switching
	// InterfaceType via an OEM proprietary mechanism.
	OemMethodInterfaceTypeSelection InterfaceTypeSelection = "OemMethod"
)

type IntrusionSensor added in v0.5.0

type IntrusionSensor string

IntrusionSensor is

const (

	// NormalIntrusionSensor No abnormal physical security condition is
	// detected at this time.
	NormalIntrusionSensor IntrusionSensor = "Normal"
	// HardwareIntrusionIntrusionSensor A door, lock, or other mechanism
	// protecting the internal system hardware from being accessed is
	// detected to be in an insecure state.
	HardwareIntrusionIntrusionSensor IntrusionSensor = "HardwareIntrusion"
	// TamperingDetectedIntrusionSensor Physical tampering of the monitored
	// entity is detected.
	TamperingDetectedIntrusionSensor IntrusionSensor = "TamperingDetected"
)

type IntrusionSensorReArm added in v0.5.0

type IntrusionSensorReArm string

IntrusionSensorReArm is

const (

	// ManualIntrusionSensorReArm A manual re-arm of this sensor restores it
	// to the normal state.
	ManualIntrusionSensorReArm IntrusionSensorReArm = "Manual"
	// AutomaticIntrusionSensorReArm Because no abnormal physical security
	// condition is detected, this sensor is automatically restored to the
	// normal state.
	AutomaticIntrusionSensorReArm IntrusionSensorReArm = "Automatic"
)

type LifeTime

type LifeTime struct {
	// BlocksRead shall be number of blocks read for the lifetime of the Memory.
	BlocksRead uint64
	// BlocksWritten shall be number of blocks written for the lifetime of the Memory.
	BlocksWritten uint64
}

LifeTime shall describe the metrics of the memory since manufacturing.

type LineInputVoltageType

type LineInputVoltageType string

LineInputVoltageType is the type of line voltage.

const (

	// UnknownLineInputVoltageType The power supply line input voltage type
	// cannot be determined.
	UnknownLineInputVoltageType LineInputVoltageType = "Unknown"
	// ACLowLineLineInputVoltageType 100-127V AC input.
	ACLowLineLineInputVoltageType LineInputVoltageType = "ACLowLine"
	// ACMidLineLineInputVoltageType 200-240V AC input.
	ACMidLineLineInputVoltageType LineInputVoltageType = "ACMidLine"
	// ACHighLineLineInputVoltageType 277V AC input.
	ACHighLineLineInputVoltageType LineInputVoltageType = "ACHighLine"
	// DCNeg48VLineInputVoltageType -48V DC input.
	DCNeg48VLineInputVoltageType LineInputVoltageType = "DCNeg48V"
	// DC380VLineInputVoltageType High Voltage DC input (380V).
	DC380VLineInputVoltageType LineInputVoltageType = "DC380V"
	// AC120VLineInputVoltageType AC 120V nominal input.
	AC120VLineInputVoltageType LineInputVoltageType = "AC120V"
	// AC240VLineInputVoltageType AC 240V nominal input.
	AC240VLineInputVoltageType LineInputVoltageType = "AC240V"
	// AC277VLineInputVoltageType AC 277V nominal input.
	AC277VLineInputVoltageType LineInputVoltageType = "AC277V"
	// ACandDCWideRangeLineInputVoltageType Wide range AC or DC input.
	ACandDCWideRangeLineInputVoltageType LineInputVoltageType = "ACandDCWideRange"
	// ACWideRangeLineInputVoltageType Wide range AC input.
	ACWideRangeLineInputVoltageType LineInputVoltageType = "ACWideRange"
	// DC240VLineInputVoltageType DC 240V nominal input.
	DC240VLineInputVoltageType LineInputVoltageType = "DC240V"
)

type LinkNetworkTechnology

type LinkNetworkTechnology string

LinkNetworkTechnology is the link type.

const (
	// EthernetLinkNetworkTechnology means the port is capable of connecting to an
	// Ethernet network.
	EthernetLinkNetworkTechnology LinkNetworkTechnology = "Ethernet"
	// InfiniBandLinkNetworkTechnology means the port is capable of connecting to
	// an InfiniBand network.
	InfiniBandLinkNetworkTechnology LinkNetworkTechnology = "InfiniBand"
	// FibreChannelLinkNetworkTechnology means the port is capable of connecting to
	// a Fibre Channel network.
	FibreChannelLinkNetworkTechnology LinkNetworkTechnology = "FibreChannel"
)

type LinkStatus

type LinkStatus string

LinkStatus is the interface link status.

const (
	// LinkUpLinkStatus The link is available for communication on this
	// interface.
	LinkUpLinkStatus LinkStatus = "LinkUp"
	// NoLinkLinkStatus There is no link or connection detected on this
	// interface.
	NoLinkLinkStatus LinkStatus = "NoLink"
	// LinkDownLinkStatus There is no link on this interface, but the
	// interface is connected.
	LinkDownLinkStatus LinkStatus = "LinkDown"
)

type LocalAccountAuth added in v0.5.0

type LocalAccountAuth string

LocalAccountAuth is

const (

	// EnabledLocalAccountAuth shall authenticate users based on the Account
	// Service-defined Accounts Resource Collection.
	EnabledLocalAccountAuth LocalAccountAuth = "Enabled"
	// DisabledLocalAccountAuth shall never authenticate users based on the
	// Account Service-defined Accounts Resource Collection.
	DisabledLocalAccountAuth LocalAccountAuth = "Disabled"
	// FallbackLocalAccountAuth shall authenticate users based on the Account
	// Service-defined Accounts Resource Collection only if any external
	// account providers are currently unreachable.
	FallbackLocalAccountAuth LocalAccountAuth = "Fallback"
	// LocalFirstLocalAccountAuth shall first authenticate users based on the
	// Account Service-defined Accounts Resource Collection.  If
	// authentication fails, the Service shall authenticate by using external
	// account providers.
	LocalFirstLocalAccountAuth LocalAccountAuth = "LocalFirst"
)

type LogEntry

type LogEntry struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Created shall be the time at which the log entry was created.
	Created string
	// Description provides a description of this resource.
	Description string
	// EntryCode shall be present if the EntryType value is
	// SEL. These enumerations are the values from tables 42-1 and 42-2 of
	// the IPMI specification.
	EntryCode LogEntryCode
	// EntryType shall represent the type of LogEntry. If
	// the resource represents an IPMI SEL log entry, the value shall be SEL.
	// If the resource represents an Event log, the value shall be Event. If
	// the resource represents an OEM log format, the value shall be Oem.
	EntryType LogEntryType
	// EventGroupID shall indicate that events are related and shall have the
	// same value in the case where multiple Event messages are produced by the
	// same root cause. Implementations shall use separate values for events
	// with separate root cause. There shall not be ordering of events implied
	// by the value of this property.
	EventGroupID int `json:"EventGroupId"`
	// EventID records an Event and the value shall indicate a unique identifier
	// for the event, the format of which is implementation dependent.
	EventID string `json:"EventId"`
	// EventTimestamp records an Event and the value shall be the time the event
	// occurred.
	EventTimestamp string
	// GeneratorId if EntryType is `SEL`, this property shall contain the
	// 'Generator ID' field of the IPMI SEL Event Record. If EntryType is
	// not `SEL`, this property should not be present.
	GeneratorID string `json:"GeneratorId"`
	// Message shall be the Message property of
	// the event if the EntryType is Event, the Description if the EntryType
	// is SEL, and OEM Specific if the EntryType is Oem.
	Message string
	// MessageArgs contains message arguments to be substituted into
	// the message included or in the message looked up via a registry.
	MessageArgs []string
	// MessageId shall the MessageId property
	// of the event if the EntryType is Event, the three IPMI Event Data
	// bytes if the EntryType is SEL, and OEM Specific if the EntryType is
	// Oem. The format of this property shall be as defined in the Redfish
	// specification. If representing the three IPMI Event Data bytes, the
	// format should follow the pattern '^0[xX](([a-fA-F]|[0-9]){2}){3}$',
	// where Event Data 1 is the first byte in the string, Event Data 2 is
	// the second byte in the string, and Event Data 3 is the third byte in
	// the string.
	MessageID string `json:"MessageId"`
	// Modified shall contain the date and time when the log
	// entry was last modified. This property shall not appear if the log
	// entry has not been modified since it was created.
	Modified string
	// OemLogEntryCode shall represent the OEM
	// specific Log Entry Code type of the Entry. This property shall only
	// be present if the value of EntryType is SEL and the value of
	// LogEntryCode is OEM.
	OemLogEntryCode string
	// OemRecordFormat shall represent the OEM
	// specific format of the Entry. This property shall be required if the
	// value of EntryType is Oem.
	OemRecordFormat string
	// OemSensorType is used if the value of EntryType is SEL and the value
	// of SensorType is OEM.
	OemSensorType string
	// SensorNumber shall be the IPMI sensor
	// number if the EntryType is SEL, the count of events if the EntryType
	// is Event, and OEM Specific if EntryType is Oem.
	SensorNumber int
	// SensorType shall be present if the EntryType value is
	// SEL. These enumerations are the values from table 42-3 of the IPMI
	// specification.
	SensorType SensorType
	// Severity shall be the severity of the
	// condition resulting in the log entry, as defined in the Status section
	// of the Redfish specification.
	Severity EventSeverity
	// contains filtered or unexported fields
}

LogEntry shall represent the log format for log services.

func GetLogEntry

func GetLogEntry(c common.Client, uri string) (*LogEntry, error)

GetLogEntry will get a LogEntry instance from the service.

func ListReferencedLogEntrys

func ListReferencedLogEntrys(c common.Client, link string) ([]*LogEntry, error)

ListReferencedLogEntrys gets the collection of LogEntry from a provided reference.

func (*LogEntry) UnmarshalJSON

func (logentry *LogEntry) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a LogEntry object from the raw JSON.

type LogEntryCode

type LogEntryCode string

LogEntryCode is

const (

	// AssertLogEntryCode The condition has been asserted.
	AssertLogEntryCode LogEntryCode = "Assert"
	// DeassertLogEntryCode The condition has been deasserted.
	DeassertLogEntryCode LogEntryCode = "Deassert"
	// LowerNonCriticalGoingLowLogEntryCode The reading crossed the
	// Lower Non-critical threshold while going low.
	LowerNonCriticalGoingLowLogEntryCode LogEntryCode = "Lower Non-critical - going low"
	// LowerNonCriticalGoingHighLogEntryCode The reading crossed the
	// Lower Non-critical threshold while going high.
	LowerNonCriticalGoingHighLogEntryCode LogEntryCode = "Lower Non-critical - going high"
	// LowerCriticalGoingLowLogEntryCode The reading crossed the Lower
	// Critical threshold while going low.
	LowerCriticalGoingLowLogEntryCode LogEntryCode = "Lower Critical - going low"
	// LowerCriticalGoingHighLogEntryCode The reading crossed the Lower
	// Critical threshold while going high.
	LowerCriticalGoingHighLogEntryCode LogEntryCode = "Lower Critical - going high"
	// LowerNonRecoverableGoingLowLogEntryCode The reading crossed the
	// Lower Non-recoverable threshold while going low.
	LowerNonRecoverableGoingLowLogEntryCode LogEntryCode = "Lower Non-recoverable - going low"
	// LowerNonRecoverableGoingHighLogEntryCode The reading crossed the
	// Lower Non-recoverable threshold while going high.
	LowerNonRecoverableGoingHighLogEntryCode LogEntryCode = "Lower Non-recoverable - going high"
	// UpperNonCriticalGoingLowLogEntryCode The reading crossed the
	// Upper Non-critical threshold while going low.
	UpperNonCriticalGoingLowLogEntryCode LogEntryCode = "Upper Non-critical - going low"
	// UpperNonCriticalGoingHighLogEntryCode The reading crossed the
	// Upper Non-critical threshold while going high.
	UpperNonCriticalGoingHighLogEntryCode LogEntryCode = "Upper Non-critical - going high"
	// UpperCriticalGoingLowLogEntryCode The reading crossed the Upper
	// Critical threshold while going low.
	UpperCriticalGoingLowLogEntryCode LogEntryCode = "Upper Critical - going low"
	// UpperCriticalGoingHighLogEntryCode The reading crossed the Upper
	// Critical threshold while going high.
	UpperCriticalGoingHighLogEntryCode LogEntryCode = "Upper Critical - going high"
	// UpperNonRecoverableGoingLowLogEntryCode The reading crossed the
	// Upper Non-recoverable threshold while going low.
	UpperNonRecoverableGoingLowLogEntryCode LogEntryCode = "Upper Non-recoverable - going low"
	// UpperNonRecoverableGoingHighLogEntryCode The reading crossed the
	// Upper Non-recoverable threshold while going high.
	UpperNonRecoverableGoingHighLogEntryCode LogEntryCode = "Upper Non-recoverable - going high"
	// TransitionToIdleLogEntryCode The state transitioned to idle.
	TransitionToIdleLogEntryCode LogEntryCode = "Transition to Idle"
	// TransitionToActiveLogEntryCode The state transitioned to active.
	TransitionToActiveLogEntryCode LogEntryCode = "Transition to Active"
	// TransitionToBusyLogEntryCode The state transitioned to busy.
	TransitionToBusyLogEntryCode LogEntryCode = "Transition to Busy"
	// StateDeassertedLogEntryCode The state has been deasserted.
	StateDeassertedLogEntryCode LogEntryCode = "State Deasserted"
	// StateAssertedLogEntryCode The state has been asserted.
	StateAssertedLogEntryCode LogEntryCode = "State Asserted"
	// PredictiveFailureDeassertedLogEntryCode A Predictive Failure is no
	// longer present.
	PredictiveFailureDeassertedLogEntryCode LogEntryCode = "Predictive Failure deasserted"
	// PredictiveFailureAssertedLogEntryCode A Predictive Failure has been
	// detected.
	PredictiveFailureAssertedLogEntryCode LogEntryCode = "Predictive Failure asserted"
	// LimitNotExceededLogEntryCode A limit has not been exceeded.
	LimitNotExceededLogEntryCode LogEntryCode = "Limit Not Exceeded"
	// LimitExceededLogEntryCode A limit has been exceeded.
	LimitExceededLogEntryCode LogEntryCode = "Limit Exceeded"
	// PerformanceMetLogEntryCode Performance meets expectations.
	PerformanceMetLogEntryCode LogEntryCode = "Performance Met"
	// PerformanceLagsLogEntryCode Performance does not meet expectations.
	PerformanceLagsLogEntryCode LogEntryCode = "Performance Lags"
	// TransitionToOKLogEntryCode A state has changed to OK.
	TransitionToOKLogEntryCode LogEntryCode = "Transition to OK"
	// TransitionToNonCriticalFromOKLogEntryCode A state has changed to
	// Non-Critical from OK.
	TransitionToNonCriticalFromOKLogEntryCode LogEntryCode = "Transition to Non-Critical from OK"
	// TransitionToCriticalFromLessSevereLogEntryCode A state has
	// changed to Critical from less severe.
	TransitionToCriticalFromLessSevereLogEntryCode LogEntryCode = "Transition to Critical from less severe"
	// TransitionToNonrecoverableFromLessSevereLogEntryCode A state has
	// changed to Non-recoverable from less severe.
	TransitionToNonrecoverableFromLessSevereLogEntryCode LogEntryCode = "Transition to Non-recoverable from less severe"
	// TransitionToNonCriticalFromMoreSevereLogEntryCode A state has
	// changed to Non-Critical from more severe.
	TransitionToNonCriticalFromMoreSevereLogEntryCode LogEntryCode = "Transition to Non-Critical from more severe"
	// TransitionToCriticalFromNonrecoverableLogEntryCode A state has
	// changed to Critical from Non-recoverable.
	TransitionToCriticalFromNonrecoverableLogEntryCode LogEntryCode = "Transition to Critical from Non-recoverable"
	// TransitionToNonrecoverableLogEntryCode A state has changed to Non-
	// recoverable.
	TransitionToNonrecoverableLogEntryCode LogEntryCode = "Transition to Non-recoverable"
	// MonitorLogEntryCode A Monitor event.
	MonitorLogEntryCode LogEntryCode = "Monitor"
	// InformationalLogEntryCode An Informational event.
	InformationalLogEntryCode LogEntryCode = "Informational"
	// DeviceRemovedDeviceAbsentLogEntryCode A device has been removed
	// or is now absent.
	DeviceRemovedDeviceAbsentLogEntryCode LogEntryCode = "Device Removed / Device Absent"
	// DeviceInsertedDevicePresentLogEntryCode A device has been
	// inserted or is now present.
	DeviceInsertedDevicePresentLogEntryCode LogEntryCode = "Device Inserted / Device Present"
	// DeviceDisabledLogEntryCode A device has been disabled.
	DeviceDisabledLogEntryCode LogEntryCode = "Device Disabled"
	// DeviceEnabledLogEntryCode A device has been enabled.
	DeviceEnabledLogEntryCode LogEntryCode = "Device Enabled"
	// TransitionToRunningLogEntryCode A state has transitioned to Running.
	TransitionToRunningLogEntryCode LogEntryCode = "Transition to Running"
	// TransitionToInTestLogEntryCode A state has transitioned to In Test.
	TransitionToInTestLogEntryCode LogEntryCode = "Transition to In Test"
	// TransitionToPowerOffLogEntryCode A state has transitioned to Power
	// Off.
	TransitionToPowerOffLogEntryCode LogEntryCode = "Transition to Power Off"
	// TransitionToOnLineLogEntryCode A state has transitioned to On Line.
	TransitionToOnLineLogEntryCode LogEntryCode = "Transition to On Line"
	// TransitionToOffLineLogEntryCode A state has transitioned to Off
	// Line.
	TransitionToOffLineLogEntryCode LogEntryCode = "Transition to Off Line"
	// TransitionToOffDutyLogEntryCode A state has transitioned to Off
	// Duty.
	TransitionToOffDutyLogEntryCode LogEntryCode = "Transition to Off Duty"
	// TransitionToDegradedLogEntryCode A state has transitioned to
	// Degraded.
	TransitionToDegradedLogEntryCode LogEntryCode = "Transition to Degraded"
	// TransitionToPowerSaveLogEntryCode A state has transitioned to Power
	// Save.
	TransitionToPowerSaveLogEntryCode LogEntryCode = "Transition to Power Save"
	// InstallErrorLogEntryCode An Install Error has been detected.
	InstallErrorLogEntryCode LogEntryCode = "Install Error"
	// FullyRedundantLogEntryCode Indicates that full redundancy has been
	// regained.
	FullyRedundantLogEntryCode LogEntryCode = "Fully Redundant"
	// RedundancyLostLogEntryCode Entered any non-redundant state, including
	// Non-redundant: Insufficient Resources.
	RedundancyLostLogEntryCode LogEntryCode = "Redundancy Lost"
	// RedundancyDegradedLogEntryCode Redundancy still exists, but at less
	// than full level.
	RedundancyDegradedLogEntryCode LogEntryCode = "Redundancy Degraded"
	// NonredundantSufficientResourcesFromRedundantLogEntryCode Redundancy has
	// been lost but unit is functioning with minimum resources needed for
	// normal operation.
	NonredundantSufficientResourcesFromRedundantLogEntryCode LogEntryCode = "Non-redundant:Sufficient Resources from Redundant"
	// NonredundantSufficientResourcesFromInsufficientResourcesLogEntryCode Unit has regained minimum resources needed for
	// normal operation.
	NonredundantSufficientResourcesFromInsufficientResourcesLogEntryCode LogEntryCode = "Non-redundant:Sufficient Resources from Insufficient Resources"
	// NonredundantInsufficientResourcesLogEntryCode Unit is non-redundant
	// and has insufficient resource to maintain normal operation.
	NonredundantInsufficientResourcesLogEntryCode LogEntryCode = "Non-redundant:Insufficient Resources"
	// RedundancyDegradedFromFullyRedundantLogEntryCode Unit has lost
	// some redundant resource(s) but is still in a redundant state.
	RedundancyDegradedFromFullyRedundantLogEntryCode LogEntryCode = "Redundancy Degraded from Fully Redundant"
	// RedundancyDegradedFromNonredundantLogEntryCode Unit has regained
	// some resource(s) and is redundant but not fully redundant.
	RedundancyDegradedFromNonredundantLogEntryCode LogEntryCode = "Redundancy Degraded from Non-redundant"
	// D0PowerStateLogEntryCode The ACPI defined D0 Power State.
	D0PowerStateLogEntryCode LogEntryCode = "D0 Power State"
	// D1PowerStateLogEntryCode The ACPI defined D1 Power State.
	D1PowerStateLogEntryCode LogEntryCode = "D1 Power State"
	// D2PowerStateLogEntryCode The ACPI defined D2 Power State.
	D2PowerStateLogEntryCode LogEntryCode = "D2 Power State"
	// D3PowerStateLogEntryCode The ACPI defined D3 Power State.
	D3PowerStateLogEntryCode LogEntryCode = "D3 Power State"
	// OEMLogEntryCode An OEM defined event.
	OEMLogEntryCode LogEntryCode = "OEM"
)

type LogEntryType

type LogEntryType string

LogEntryType is

const (

	// EventLogEntryType Contains a Redfish-defined message (event).
	EventLogEntryType LogEntryType = "Event"
	// SELLogEntryType Contains a legacy IPMI System Event Log (SEL) entry.
	SELLogEntryType LogEntryType = "SEL"
	// OemLogEntryType Contains an entry in an OEM-defined format.
	OemLogEntryType LogEntryType = "Oem"
)

type LogEntryTypes

type LogEntryTypes string

LogEntryTypes is the type of log entry.

const (
	// EventLogEntryTypes contains Redfish-defined messages (events).
	EventLogEntryTypes LogEntryTypes = "Event"
	// SELLogEntryTypes contains legacy IPMI System Event Log (SEL) entries.
	SELLogEntryTypes LogEntryTypes = "SEL"
	// MultipleLogEntryTypes contains multiple Log Entry types or a
	// single entry type cannot be guaranteed by the Log Service.
	MultipleLogEntryTypes LogEntryTypes = "Multiple"
	// OEMLogEntryTypes contains entries in an OEM-defined format.
	OEMLogEntryTypes LogEntryTypes = "OEM"
)

type LogService

type LogService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// DateTime shall represent the current DateTime value that the log service
	// is using, with offset from UTC, in Redfish Timestamp format.
	DateTime string
	// DateTimeLocalOffset shall represent the offset from UTC time that the
	// current value of DataTime property contains.
	DateTimeLocalOffset string
	// Description provides a description of this resource.
	Description string

	// LogEntryType shall represent the
	// EntryType of all LogEntry resources contained in the Entries
	// collection. If a single EntryType for all LogEntry resources cannot
	// be determined or guaranteed by the Service, the value of this property
	// shall be 'Multiple'.
	LogEntryType LogEntryTypes
	// MaxNumberOfRecords shall be the maximum numbers of LogEntry resources in
	// the Entries collection for this service.
	MaxNumberOfRecords uint64
	// OverWritePolicy shall indicate the
	// policy of the log service when the MaxNumberOfRecords has been
	// reached. Unknown indicates the log overwrite policy is unknown.
	// WrapsWhenFull indicates that the log overwrites its entries with new
	// entries when the log has reached its maximum capacity. NeverOverwrites
	// indicates that the log never overwrites its entries by the new entries
	// and ceases logging when the limit has been reached.
	OverWritePolicy OverWritePolicy
	// ServiceEnabled shall be a boolean
	// indicating whether this service is enabled.
	ServiceEnabled bool
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

LogService is used to represent a log service for a Redfish implementation.

func GetLogService

func GetLogService(c common.Client, uri string) (*LogService, error)

GetLogService will get a LogService instance from the service.

func ListReferencedLogServices

func ListReferencedLogServices(c common.Client, link string) ([]*LogService, error)

ListReferencedLogServices gets the collection of LogService from a provided reference.

func (*LogService) ClearLog

func (logservice *LogService) ClearLog() error

ClearLog shall delete all entries found in the Entries collection for this Log Service.

func (*LogService) Entries

func (logservice *LogService) Entries() ([]*LogEntry, error)

Entries gets the log entries of this service.

func (*LogService) UnmarshalJSON

func (logservice *LogService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a LogService object from the raw JSON.

func (*LogService) Update added in v0.5.0

func (logservice *LogService) Update() error

Update commits updates to this object's properties to the running system.

type Manager

type Manager struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AutoDSTEnabled shall contain the enabled status of the automatic Daylight
	// Saving Time (DST) adjustment of the manager's DateTime. It shall be true
	// if Automatic DST adjustment is enabled and false if disabled.
	AutoDSTEnabled bool
	// CommandShell shall contain information
	// about the Command Shell service of this manager.
	CommandShell CommandShell
	// DateTime shall represent the current DateTime value for the manager, with
	// offset from UTC, in Redfish Timestamp format.
	DateTime string
	// DateTimeLocalOffset is The value is property shall represent the offset
	// from UTC time that the current value of DataTime property contains.
	DateTimeLocalOffset string
	// Description provides a description of this resource.
	Description string

	// FirmwareVersion shall contain the firmware version as defined by the
	// manufacturer for the associated manager.
	FirmwareVersion string
	// GraphicalConsole shall contain the information about the Graphical
	// Console (KVM-IP) service of this manager.
	GraphicalConsole GraphicalConsole

	// ManagerType is used if this manager controls one or more services
	// through aggregation. The value BMC shall be used if this manager
	// represents a traditional server management controller. The value
	// ManagementController shall be used if none of the other enumerations
	// apply.
	ManagerType ManagerType
	// Manufacturer shall contain the name of the organization responsible for
	// producing the manager. This organization might be the entity from whom
	// the manager is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the information about how the manufacturer references
	// this manager.
	Model string

	// OEMData are all OEM data under top level manager section
	OEMData map[string]interface{}
	// OEMLinks are all OEM data under link section
	OEMLinks map[string]interface{}
	// PartNumber shall contain a part number assigned by the organization that
	// is responsible for producing or manufacturing the manager.
	PartNumber string
	// PowerState shall contain the power state of the Manager.
	PowerState PowerState
	// Redundancy is used to show how this manager is grouped with other
	// managers for form redundancy sets.
	Redundancy []Redundancy
	// RedundancyCount is the number of Redundancy objects.
	RedundancyCount int `json:"Redundancy@odata.count"`

	// RemoteRedfishServiceURI shall contain the URI of the
	// Redfish Service Root for the remote Manager represented by this
	// resource. This property shall only be present when providing
	// aggregation of Redfish services.
	RemoteRedfishServiceURI string `json:"RemoteRedfishServiceUri"`
	// SerialConsole shall contain information about the Serial Console service
	// of this manager.
	SerialConsole SerialConsole

	// SerialNumber shall contain a manufacturer-allocated number that
	// identifies the manager.
	SerialNumber string
	// ServiceEntryPointUUID shall contain the UUID of the Redfish Service
	// provided by this manager. Each Manager providing an Entry Point to the
	// same Redfish Service shall report the same UUID value (even though the
	// name of the property may imply otherwise). This property shall not be
	// present if this manager does not provide a Redfish Service Entry Point.
	ServiceEntryPointUUID string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// UUID shall contain the universal unique
	// identifier number for the manager.
	UUID string

	// ManagerForChassisCount is the number of Chassis being managed.
	ManagerForChassisCount int

	// ManagerForServersCount is the number of Servers being managed.
	ManagerForServersCount int

	// ManagerForSwitchesCount is the number of Switches being managed.
	ManagerForSwitchesCount int

	// SupportedResetTypes, if provided, is the reset types this system supports.
	SupportedResetTypes []ResetType
	// contains filtered or unexported fields
}

Manager is a management subsystem. Examples of managers are BMCs, Enclosure Managers, Management Controllers and other subsystems assigned manageability functions.

func GetManager

func GetManager(c common.Client, uri string) (*Manager, error)

GetManager will get a Manager instance from the Swordfish service.

func ListReferencedManagers

func ListReferencedManagers(c common.Client, link string) ([]*Manager, error)

ListReferencedManagers gets the collection of Managers

func (*Manager) EthernetInterfaces added in v0.4.0

func (manager *Manager) EthernetInterfaces() ([]*EthernetInterface, error)

EthernetInterfaces get this system's ethernet interfaces.

func (*Manager) LogServices added in v0.4.0

func (manager *Manager) LogServices() ([]*LogService, error)

LogServices get this manager's log services on this system.

func (*Manager) Reset

func (manager *Manager) Reset(resetType ResetType) error

Reset shall perform a reset of the manager.

func (*Manager) UnmarshalJSON

func (manager *Manager) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Manager object from the raw JSON.

func (*Manager) Update added in v0.5.0

func (manager *Manager) Update() error

Update commits updates to this object's properties to the running system.

func (*Manager) VirtualMedia added in v0.7.0

func (manager *Manager) VirtualMedia() ([]*VirtualMedia, error)

VirtualMedia gets the virtual media associated with this manager.

type ManagerAccount added in v0.5.0

type ManagerAccount struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AccountTypes shall contain an array of the various
	// account types that apply to the account. If this property is not
	// provided by the client, the default value shall be an array with the
	// single value `Redfish`.
	AccountTypes []AccountTypes

	// Description provides a description of this resource.
	Description string
	// Enabled shall indicate whether an account is enabled.
	// If `true`, the account is enabled and the user can log in. If
	// `false`, the account is disabled and, in the future, the user cannot
	// log in.
	Enabled bool
	// Locked shall indicate whether the Account Service
	// automatically locked the account because the AccountLockoutThreshold
	// was exceeded. To manually unlock the account before the lockout
	// duration period, an administrator shall be able to change the property
	// to `false` to clear the lockout condition.
	Locked bool
	// Password shall contain the password for this account.
	// The value shall be `null` in responses.
	Password string
	// PasswordChangeRequired shall indicate whether the
	// service requires that the password for this account be changed before
	// further access to the account is allowed. The implementation may deny
	// access to the service if the password has not been changed. A manager
	// account created with an initial PasswordChangeRequired value of `true`
	// may force a password change before first access of the account. When
	// the Password property for this account is updated, the service shall
	// set this property to `false`.
	PasswordChangeRequired bool
	// PasswordExpiration shall contain the date and time
	// when this account password expires. If the value is `null`, the
	// account password never expires.
	PasswordExpiration string
	// RoleID shall contain the RoleId of the Role Resource
	// configured for this account. The Service shall reject POST, PATCH, or
	// PUT operations that provide a RoleId that does not exist by returning
	// the HTTP 400 (Bad Request) status code.
	RoleID string `json:"RoleId"`
	// SNMP shall contain the SNMP settings for this account
	// when AccountTypes contains `SNMP`.
	SNMP SNMPUserInfo
	// UserName shall contain the user name for this account.
	UserName string
	// contains filtered or unexported fields
}

ManagerAccount shall represent Resources that represent the user accounts for the manager.

func GetManagerAccount added in v0.5.0

func GetManagerAccount(c common.Client, uri string) (*ManagerAccount, error)

GetManagerAccount will get a ManagerAccount instance from the service.

func ListReferencedManagerAccounts added in v0.5.0

func ListReferencedManagerAccounts(c common.Client, link string) ([]*ManagerAccount, error)

ListReferencedManagerAccounts gets the collection of ManagerAccount from a provided reference.

func (*ManagerAccount) UnmarshalJSON added in v0.5.0

func (manageraccount *ManagerAccount) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ManagerAccount object from the raw JSON.

func (*ManagerAccount) Update added in v0.5.0

func (manageraccount *ManagerAccount) Update() error

Update commits updates to this object's properties to the running system.

type ManagerType

type ManagerType string

ManagerType shall describe the function of this manager. The value EnclosureManager shall be used if this manager controls one or more services through aggregation. The value BMC shall be used if this manager represents a traditional server management controller. The value ManagementController shall be used if none of the other enumerations apply.

const (

	// ManagementControllerManagerType A controller used primarily to monitor
	// or manage the operation of a device or system.
	ManagementControllerManagerType ManagerType = "ManagementController"
	// EnclosureManagerManagerType A controller which provides management
	// functions for a chassis or group of devices or systems.
	EnclosureManagerManagerType ManagerType = "EnclosureManager"
	// BMCManagerType A controller which provides management functions for a
	// single computer system.
	BMCManagerType ManagerType = "BMC"
	// RackManagerManagerType A controller which provides management
	// functions for a whole or part of a rack.
	RackManagerManagerType ManagerType = "RackManager"
	// AuxiliaryControllerManagerType A controller which provides management
	// functions for a particular subsystem or group of devices.
	AuxiliaryControllerManagerType ManagerType = "AuxiliaryController"
	// ServiceManagerType A software-based service which provides management
	// functions.
	ServiceManagerType ManagerType = "Service"
)

type MediaType

type MediaType string

MediaType is the drive's type.

const (
	// HDDMediaType The drive media type is traditional magnetic platters.
	HDDMediaType MediaType = "HDD"
	// SSDMediaType The drive media type is solid state or flash memory.
	SSDMediaType MediaType = "SSD"
	// SMRMediaType The drive media type is shingled magnetic recording.
	SMRMediaType MediaType = "SMR"
)

type Memory

type Memory struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AllocationAlignmentMiB shall be the alignment boundary on which memory
	// regions are allocated, measured in MiB.
	AllocationAlignmentMiB int
	// AllocationIncrementMiB shall be the allocation increment for regions,
	// measured in MiB.
	AllocationIncrementMiB int
	// AllowedSpeedsMHz shall be the speed supported by this Memory (in MHz).
	AllowedSpeedsMHz []int

	// BaseModuleType shall be the base module type of Memory.
	BaseModuleType BaseModuleType
	// BusWidthBits shall be the bus width in bits.
	BusWidthBits int
	// CacheSizeMiB shall be the total size of the cache portion memory in MiB.
	CacheSizeMiB int
	// CapacityMiB shall be the Memory capacity in MiB.
	CapacityMiB int
	// ConfigurationLocked shall be the current configuration lock state of this
	// memory. True shall indicate that the configuration is locked and cannot
	// be altered. False shall indicate that the configuration is not locked and
	// may be altered.
	ConfigurationLocked bool
	// DataWidthBits shall be the data width in bits.
	DataWidthBits int
	// Description provides a description of this resource.
	Description string
	// DeviceLocator shall be location of the Memory in the platform, typically
	// marked in the silk screen.
	DeviceLocator string
	// ErrorCorrection shall be the error correction scheme supported for this memory.
	ErrorCorrection ErrorCorrection
	// FirmwareAPIVersion shall be the version of API supported by the firmware.
	FirmwareAPIVersion string `json:"FirmwareApiVersion"`
	// FirmwareRevision shall be the revision of firmware on the Memory controller.
	FirmwareRevision string
	// IsRankSpareEnabled shall be true if a rank spare is enabled for this Memory.
	IsRankSpareEnabled bool
	// IsSpareDeviceEnabled shall be true if a spare device is enabled for this Memory.
	IsSpareDeviceEnabled bool
	// Location shall contain location information of the associated memory.
	Location common.Location
	// LogicalSizeMiB shall be the total size of the logical memory in MiB.
	LogicalSizeMiB int
	// Manufacturer shall contain a string which identifies the manufacturer of the Memory.
	Manufacturer string
	// MaxTDPMilliWatts shall be the maximum power budgets supported by the
	// Memory in milli Watts.
	MaxTDPMilliWatts []int
	// MemoryDeviceType shall be the Memory Device Type as defined by SMBIOS.
	MemoryDeviceType MemoryDeviceType
	// MemoryLocation shall contain properties which describe the Memory
	// connection information to sockets and memory controllers.
	MemoryLocation MemoryLocation
	// MemoryMedia shall be the media types of this Memory.
	MemoryMedia []MemoryMedia
	// MemorySubsystemControllerManufacturerID shall be the two byte
	// manufacturer ID of the memory subsystem controller of this memory module
	// as defined by JEDEC in JEP-106.
	MemorySubsystemControllerManufacturerID string
	// MemorySubsystemControllerProductID shall
	// be the two byte product ID of the memory subsystem controller of this
	// memory module as defined by the manufacturer.
	MemorySubsystemControllerProductID string
	// MemoryType shall be the type of Memory
	// represented by this resource.
	MemoryType MemoryType

	// ModuleManufacturerID shall be the two byte manufacturer ID of this memory
	// module as defined by JEDEC in JEP-106.
	ModuleManufacturerID string
	// ModuleProductID shall be the two byte
	// product ID of this memory module as defined by the manufacturer.
	ModuleProductID string
	// NonVolatileSizeMiB shall be the total
	// size of the non-volatile portion memory in MiB.
	NonVolatileSizeMiB int
	// OperatingMemoryModes shall be the memory
	// modes supported by the Memory.
	OperatingMemoryModes []OperatingMemoryModes
	// OperatingSpeedMhz shall be the operating
	// speed of Memory in MHz or MT/s (mega-transfers per second) as reported
	// by the memory device. Memory devices which operate at their bus speed
	// shall report the operating speed in MHz (bus speed), while memory
	// device which transfer data faster than their bus speed (e.g. DDR
	// memory) shall report the operating speed in MT/s (mega-
	// transfers/second). In any case, the reported value shall match the
	// conventionally reported values for the technology utilized by the
	// memory device.
	OperatingSpeedMhz int
	// PartNumber shall indicate the part number as provided by the manufacturer
	// of this Memory.
	PartNumber string
	// PersistentRegionNumberLimit shall be the total number of persistent
	// regions this Memory can support.
	PersistentRegionNumberLimit int
	// PersistentRegionSizeLimitMiB shall be the total size of persistent regions in MiB.
	PersistentRegionSizeLimitMiB int
	// PersistentRegionSizeMaxMiB shall be the maximum size of a single persistent
	// regions in MiB.
	PersistentRegionSizeMaxMiB int
	// PowerManagementPolicy shall contain properties which describe the power
	// management policy for the current resource.
	PowerManagementPolicy PowerManagementPolicy
	// RankCount is used for spare or interleave.
	RankCount int
	// Regions shall be the memory region information within the Memory.
	Regions []RegionSet
	// SecurityCapabilities shall contain properties which describe the security
	// capabilities of the Memory.
	SecurityCapabilities SecurityCapabilities
	// SecurityState shall be the current security state of this memory.
	SecurityState SecurityStates
	// SerialNumber shall indicate the serial number as provided by the
	// manufacturer of this Memory.
	SerialNumber string
	// SpareDeviceCount is used spare devices available in the Memory. If
	// memory devices fails, the spare device could be used.
	SpareDeviceCount int
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// VolatileRegionNumberLimit shall be the total number of volatile regions
	// this Memory can support.
	VolatileRegionNumberLimit int
	// VolatileRegionSizeLimitMiB shall be the total size of volatile regions in MiB.
	VolatileRegionSizeLimitMiB int
	// VolatileRegionSizeMaxMiB shall be the maximum size of a single volatile
	// regions in MiB.
	VolatileRegionSizeMaxMiB int
	// VolatileSizeMiB shall be the total size of the volatile portion memory in MiB.
	VolatileSizeMiB int
	// contains filtered or unexported fields
}

Memory is used to represent the Memory in a Redfish implementation.

func GetMemory

func GetMemory(c common.Client, uri string) (*Memory, error)

GetMemory will get a Memory instance from the service.

func ListReferencedMemorys

func ListReferencedMemorys(c common.Client, link string) ([]*Memory, error)

ListReferencedMemorys gets the collection of Memory from a provided reference.

func (*Memory) Assembly

func (memory *Memory) Assembly() (*Assembly, error)

Assembly gets this memory's assembly.

func (*Memory) Chassis

func (memory *Memory) Chassis() (*Chassis, error)

Chassis gets the containing chassis of this memory.

func (*Memory) Metrics

func (memory *Memory) Metrics() (*MemoryMetrics, error)

Metrics gets the memory metrics.

func (*Memory) UnmarshalJSON

func (memory *Memory) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Memory object from the raw JSON.

func (*Memory) Update added in v0.5.0

func (memory *Memory) Update() error

Update commits updates to this object's properties to the running system.

type MemoryClassification

type MemoryClassification string

MemoryClassification is the memory classification.

const (
	// VolatileMemoryClassification Volatile memory.
	VolatileMemoryClassification MemoryClassification = "Volatile"
	// ByteAccessiblePersistentMemoryClassification Byte accessible
	// persistent memory.
	ByteAccessiblePersistentMemoryClassification MemoryClassification = "ByteAccessiblePersistent"
	// BlockMemoryClassification Block accessible memory.
	BlockMemoryClassification MemoryClassification = "Block"
)

type MemoryDeviceType

type MemoryDeviceType string

MemoryDeviceType is the type of memory.

const (
	// DDRMemoryDeviceType DDR.
	DDRMemoryDeviceType MemoryDeviceType = "DDR"
	// DDR2MemoryDeviceType DDR2.
	DDR2MemoryDeviceType MemoryDeviceType = "DDR2"
	// DDR3MemoryDeviceType DDR3.
	DDR3MemoryDeviceType MemoryDeviceType = "DDR3"
	// DDR4MemoryDeviceType DDR4.
	DDR4MemoryDeviceType MemoryDeviceType = "DDR4"
	// DDR4SDRAMMemoryDeviceType DDR4 SDRAM.
	DDR4SDRAMMemoryDeviceType MemoryDeviceType = "DDR4_SDRAM"
	// DDR4ESDRAMMemoryDeviceType DDR4E SDRAM.
	DDR4ESDRAMMemoryDeviceType MemoryDeviceType = "DDR4E_SDRAM"
	// LPDDR4SDRAMMemoryDeviceType LPDDR4 SDRAM.
	LPDDR4SDRAMMemoryDeviceType MemoryDeviceType = "LPDDR4_SDRAM"
	// DDR3SDRAMMemoryDeviceType DDR3 SDRAM.
	DDR3SDRAMMemoryDeviceType MemoryDeviceType = "DDR3_SDRAM"
	// LPDDR3SDRAMMemoryDeviceType LPDDR3 SDRAM.
	LPDDR3SDRAMMemoryDeviceType MemoryDeviceType = "LPDDR3_SDRAM"
	// DDR2SDRAMMemoryDeviceType DDR2 SDRAM.
	DDR2SDRAMMemoryDeviceType MemoryDeviceType = "DDR2_SDRAM"
	// DDR2SDRAMFBDIMMMemoryDeviceType DDR2 SDRAM FB_DIMM.
	DDR2SDRAMFBDIMMMemoryDeviceType MemoryDeviceType = "DDR2_SDRAM_FB_DIMM"
	// DDR2SDRAMFBDIMMPROBEMemoryDeviceType DDR2 SDRAM FBDIMM PROBE.
	DDR2SDRAMFBDIMMPROBEMemoryDeviceType MemoryDeviceType = "DDR2_SDRAM_FB_DIMM_PROBE"
	// DDRSGRAMMemoryDeviceType DDR SGRAM.
	DDRSGRAMMemoryDeviceType MemoryDeviceType = "DDR_SGRAM"
	// DDRSDRAMMemoryDeviceType DDR SDRAM.
	DDRSDRAMMemoryDeviceType MemoryDeviceType = "DDR_SDRAM"
	// ROMMemoryDeviceType ROM.
	ROMMemoryDeviceType MemoryDeviceType = "ROM"
	// SDRAMMemoryDeviceType SDRAM.
	SDRAMMemoryDeviceType MemoryDeviceType = "SDRAM"
	// EDOMemoryDeviceType EDO.
	EDOMemoryDeviceType MemoryDeviceType = "EDO"
	// FastPageModeMemoryDeviceType Fast Page Mode.
	FastPageModeMemoryDeviceType MemoryDeviceType = "FastPageMode"
	// PipelinedNibbleMemoryDeviceType Pipelined Nibble.
	PipelinedNibbleMemoryDeviceType MemoryDeviceType = "PipelinedNibble"
	// LogicalMemoryDeviceType Logical Non-volatile device.
	LogicalMemoryDeviceType MemoryDeviceType = "Logical"
	// HBMMemoryDeviceType High Bandwidth Memory.
	HBMMemoryDeviceType MemoryDeviceType = "HBM"
	// HBM2MemoryDeviceType High Bandwidth Memory 2.
	HBM2MemoryDeviceType MemoryDeviceType = "HBM2"
)

type MemoryDomain

type MemoryDomain struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AllowsBlockProvisioning shall indicate if this Memory Domain supports the
	// creation of Blocks of memory.
	AllowsBlockProvisioning bool
	// AllowsMemoryChunkCreation shall indicate if this Memory Domain supports
	// the creation of Memory Chunks.
	AllowsMemoryChunkCreation bool
	// AllowsMirroring shall indicate if this Memory Domain supports the
	// creation of Memory Chunks with mirroring enabled.
	AllowsMirroring bool
	// AllowsSparing shall indicate if this Memory Domain supports the creation
	// of Memory Chunks with sparing enabled.
	AllowsSparing bool
	// Description provides a description of this resource.
	Description string
	// InterleavableMemorySets shall represent the interleave sets for the
	// memory chunk.
	InterleavableMemorySets []MemorySet
	// contains filtered or unexported fields
}

MemoryDomain is used to represent Memory Domains.

func GetMemoryDomain

func GetMemoryDomain(c common.Client, uri string) (*MemoryDomain, error)

GetMemoryDomain will get a MemoryDomain instance from the service.

func ListReferencedMemoryDomains

func ListReferencedMemoryDomains(c common.Client, link string) ([]*MemoryDomain, error)

ListReferencedMemoryDomains gets the collection of MemoryDomain from a provided reference.

func (*MemoryDomain) UnmarshalJSON

func (memorydomain *MemoryDomain) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MemoryDomain object from the raw JSON.

type MemoryLocation

type MemoryLocation struct {
	// Channel is Channel number in which Memory is connected.
	Channel int
	// MemoryController is Memory controller number in which Memory is
	// connected.
	MemoryController int
	// Slot is Slot number in which Memory is connected.
	Slot int
	// Socket is Socket number in which Memory is connected.
	Socket int
}

MemoryLocation shall contain properties which describe the Memory connection information to sockets and memory controllers.

type MemoryMedia

type MemoryMedia string

MemoryMedia is media type.

const (
	// DRAMMemoryMedia DRAM media.
	DRAMMemoryMedia MemoryMedia = "DRAM"
	// NANDMemoryMedia NAND media.
	NANDMemoryMedia MemoryMedia = "NAND"
	// Intel3DXPointMemoryMedia Intel 3D XPoint media.
	Intel3DXPointMemoryMedia MemoryMedia = "Intel3DXPoint"
	// ProprietaryMemoryMedia Proprietary media.
	ProprietaryMemoryMedia MemoryMedia = "Proprietary"
)

type MemoryMetrics

type MemoryMetrics struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// BandwidthPercent shall contain memory bandwidth utilization as a
	// percentage.  When this resource is subordinate to the MemorySummary
	// object, this property shall be the memory bandwidth utilization over all
	// memory as a percentage.
	BandwidthPercent float32
	// BlockSizeBytes shall be the block size in bytes of all structure elements.
	BlockSizeBytes int
	// CurrentPeriod shall contain properties which describe the CurrentPeriod
	// metrics for the current resource.
	CurrentPeriod CurrentPeriod
	// Description provides a description of this resource.
	Description string
	// HealthData shall contain properties which describe the HealthData metrics
	// for the current resource.
	HealthData HealthData
	// LifeTime shall contain properties which describe the LifeTime metrics for
	// the current resource.
	LifeTime LifeTime
	// OperatingSpeedMHz is used by the memory device.
	OperatingSpeedMHz int
}

MemoryMetrics is used to represent the Memory Metrics for a single Memory device in a Redfish implementation.

func GetMemoryMetrics

func GetMemoryMetrics(c common.Client, uri string) (*MemoryMetrics, error)

GetMemoryMetrics will get a MemoryMetrics instance from the service.

func ListReferencedMemoryMetricss

func ListReferencedMemoryMetricss(c common.Client, link string) ([]*MemoryMetrics, error)

ListReferencedMemoryMetricss gets the collection of MemoryMetrics from a provided reference.

type MemoryMirroring

type MemoryMirroring string

MemoryMirroring indicates the memory mirroring setting

const (

	// SystemMemoryMirroring the system supports DIMM mirroring at the System
	// level. Individual DIMMs are not paired for mirroring in this mode.
	SystemMemoryMirroring MemoryMirroring = "System"
	// DIMMMemoryMirroring the system supports DIMM mirroring at the DIMM
	// level. Individual DIMMs can be mirrored.
	DIMMMemoryMirroring MemoryMirroring = "DIMM"
	// HybridMemoryMirroring the system supports a hybrid mirroring at the
	// system and DIMM levels. Individual DIMMs can be mirrored.
	HybridMemoryMirroring MemoryMirroring = "Hybrid"
	// NoneMemoryMirroring the system does not support DIMM mirroring.
	NoneMemoryMirroring MemoryMirroring = "None"
)

type MemorySet

type MemorySet struct {

	// MemorySetCount is the number of memory sets.
	MemorySetCount int `json:"MemorySet@odata.count"`
	// contains filtered or unexported fields
}

MemorySet shall represent the interleave sets for a memory chunk.

func (*MemorySet) UnmarshalJSON

func (memoryset *MemorySet) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MemorySet object from the raw JSON.

type MemorySummary

type MemorySummary struct {
	// MemoryMirroring is the ability and type of memory mirroring supported by this system.
	MemoryMirroring MemoryMirroring
	// Status is the status or health properties of the resource.
	Status common.Status
	// TotalSystemMemoryGiB is the amount of configured system general purpose
	// volatile (RAM) memory as measured in gibibytes.
	TotalSystemMemoryGiB float32
	// TotalSystemPersistentMemoryGiB is the total amount of configured
	// persistent memory available to the system as measured in gibibytes.
	TotalSystemPersistentMemoryGiB float32
}

MemorySummary contains properties which describe the central memory for a system.

type MemoryType

type MemoryType string

MemoryType is the type of memory.

const (
	// DRAMMemoryType shall represent volatile DRAM.
	DRAMMemoryType MemoryType = "DRAM"
	// NVDIMMNMemoryType shall represent NVDIMMN as defined by JEDEC.
	NVDIMMNMemoryType MemoryType = "NVDIMM_N"
	// NVDIMMFMemoryType shall represent NVDIMMF as defined by JEDEC.
	NVDIMMFMemoryType MemoryType = "NVDIMM_F"
	// NVDIMMPMemoryType shall represent NVDIMMP as defined by JEDEC.
	NVDIMMPMemoryType MemoryType = "NVDIMM_P"
	// IntelOptaneMemoryType shall represent Intel Optane DC Persistent
	// Memory.
	IntelOptaneMemoryType MemoryType = "IntelOptane"
)

type MessageRegistry added in v0.8.0

type MessageRegistry struct {
	common.Entity

	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// RegistryPrefix is the single-word prefix that is used in forming and decoding MessageIds.
	RegistryPrefix string
	// RegistryVersion is the message registry version in the middle portion of a MessageId.
	RegistryVersion string
	// Language is the RFC5646-conformant language code for the message registry.
	Language string
	// OwningEntity ins the organization or company that publishes this message registry.
	OwningEntity string
	// Messages are the messages for the message registry.
	Messages map[string]MessageRegistryMessage
}

MessageRegistry schema describes all message registries. It represents the properties for the message registries themselves.

func GetMessageRegistry added in v0.8.0

func GetMessageRegistry(
	c common.Client,
	uri string,
) (*MessageRegistry, error)

GetMessageRegistry will get a MessageRegistry instance from the Redfish service.

func GetMessageRegistryByLanguage added in v0.8.0

func GetMessageRegistryByLanguage(
	c common.Client,
	link string,
	registry string,
	language string,
) (*MessageRegistry, error)

GetMessageRegistryByLanguage gets the message registry by language. registry is used to identify the correct Message Registry file (MessageRegistryFile.Registry) and it shall contain the Message Registry name and it major and minor versions, as defined by the Redfish Specification. language is the RFC5646-conformant language code for the message registry.

func ListReferencedMessageRegistries added in v0.8.0

func ListReferencedMessageRegistries(
	c common.Client,
	link string,
) ([]*MessageRegistry, error)

ListReferencedMessageRegistries gets the collection of MessageRegistry.

func ListReferencedMessageRegistriesByLanguage added in v0.8.0

func ListReferencedMessageRegistriesByLanguage(
	c common.Client,
	link string,
	language string,
) ([]*MessageRegistry, error)

ListReferencedMessageRegistriesByLanguage gets the collection of MessageRegistry. language is the RFC5646-conformant language code for the message registry.

type MessageRegistryFile added in v0.8.0

type MessageRegistryFile struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Languages is the RFC5646-conformant language codes for the
	// available Message Registries.
	Languages []string
	// Location is the location information for this Message Registry file.
	Location []MessageRegistryFileLocation
	// Registry shall contain the Message Registry name and it major and
	// minor versions, as defined by the Redfish Specification.
	Registry string
}

MessageRegistryFile describes the Message Registry file locator Resource.

func GetMessageRegistryFile added in v0.8.0

func GetMessageRegistryFile(
	c common.Client,
	uri string,
) (*MessageRegistryFile, error)

GetMessageRegistryFile will get a MessageRegistryFile instance from the Redfish service.

func ListReferencedMessageRegistryFiles added in v0.8.0

func ListReferencedMessageRegistryFiles(
	c common.Client,
	link string,
) ([]*MessageRegistryFile, error)

ListReferencedMessageRegistryFiles gets the collection of MessageRegistryFile.

type MessageRegistryFileLocation added in v0.8.0

type MessageRegistryFileLocation struct {
	Language string `json:"Language"`
	URI      string `json:"Uri"`
}

MessageRegistryFileLocation is a location information for the Message Registry file.

type MessageRegistryMessage added in v0.8.0

type MessageRegistryMessage struct {
	// Description is a short description of how and when to use this message.
	Description string
	// Message is the actual message.
	// This property shall contain the message to display.  If a %integer is
	// included in part of the string, it shall represent a string substitution
	// for any MessageArgs that accompany the message, in order.
	Message string
	// Severity property shall contain the severity of the condition resulting in
	// the message, as defined in the Status clause of the Redfish Specification.
	// This property has been deprecated in favor of MessageSeverity, which ties
	// the values to the enumerations defined for the Health property within Status.
	Severity string
	// MessageSeverity is the severity of the message. This property shall contain
	// the severity of the message.
	MessageSeverity string
	// NumberOfArgs is the number of arguments in the message.
	// This property shall contain the number of arguments that are substituted
	// for the locations marked with %<integer> in the message.
	NumberOfArgs int
	// ParamTypes are the MessageArg types, in order, for the message.
	ParamTypes []string
	// Resolution is used to provide suggestions on how to resolve the situation
	// that caused the error.
	Resolution string
	// Oem shall contain the OEM extensions. All values for properties that
	// this object contains shall conform to the Redfish Specification
	// described requirements.
	Oem interface{}
}

MessageRegistryMessage is a message contained in the message registry.

func GetMessageFromMessageRegistryByLanguage added in v0.8.0

func GetMessageFromMessageRegistryByLanguage(
	c common.Client,
	link string,
	messageID string,
	language string,
) (*MessageRegistryMessage, error)

GetMessageFromMessageRegistryByLanguage tries to find and get the message from the informed messageID. messageID is the key used to find the registry, version and message: Example of messageID: Alert.1.0.LanDisconnect

  • The segment before the 1st period is the Registry Name (Registry Prefix): Alert
  • The segment between the 1st and 2nd period is the major version: 1
  • The segment between the 2nd and 3rd period is the minor version: 0
  • The segment after the 3rd period is the Message Identifier in the Registry: LanDisconnect

language is the RFC5646-conformant language code for the message registry. Example of language: en

type NPIV

type NPIV struct {

	// MaxDeviceLogins shall be the maximum number of N_Port ID Virtualization
	// (NPIV) logins allowed simultaneously from all ports on this controller.
	MaxDeviceLogins int
	// MaxPortLogins shall be the maximum number of N_Port ID Virtualization
	// (NPIV) logins allowed per physical port on this controller.
	MaxPortLogins int
}

NPIV shall contain N_Port ID Virtualization (NPIV) capabilities for a controller.

type NetDevFuncMaxBWAlloc

type NetDevFuncMaxBWAlloc struct {
	// MaxBWAllocPercent shall be the maximum bandwidth percentage allocation
	// for the associated network device function.
	MaxBWAllocPercent int
	// NetworkDeviceFunction shall be a reference of type NetworkDeviceFunction
	// that represents the Network Device Function associated with this
	// bandwidth setting of this Network Port.
	NetworkDeviceFunction NetworkDeviceFunction
}

NetDevFuncMaxBWAlloc shall describe a maximum bandwidth percentage allocation for a network device function associated with a port.

type NetDevFuncMinBWAlloc

type NetDevFuncMinBWAlloc struct {
	// MinBWAllocPercent shall be the minimum bandwidth percentage allocation
	// for the associated network device function. The sum total of all minimum
	// percentages shall not exceed 100.
	MinBWAllocPercent int
	// NetworkDeviceFunction shall be a reference of type NetworkDeviceFunction
	// that represents the Network Device Function associated with this
	// bandwidth setting of this Network Port.
	NetworkDeviceFunction NetworkDeviceFunction
}

NetDevFuncMinBWAlloc shall describe a minimum bandwidth percentage allocation for a network device function associated with a port.

type NetworkAdapter

type NetworkAdapter struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`

	// Controllers shall contain the set of network controllers ASICs that make
	// up this NetworkAdapter.
	Controllers []Controllers
	// Description provides a description of this resource.
	Description string
	// Manufacturer shall contain a value that represents the manufacturer of
	// the network adapter.
	Manufacturer string
	// Model shall contain the information about how the manufacturer references
	// this network adapter.
	Model string

	// PartNumber shall contain the part number for the network adapter as
	// defined by the manufacturer.
	PartNumber string
	// SKU shall contain the Stock Keeping Unit (SKU) for the network adapter.
	SKU string
	// SerialNumber shall contain the serial number for the network adapter.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

A NetworkAdapter represents the physical network adapter capable of connecting to a computer network. Examples include but are not limited to Ethernet, Fibre Channel, and converged network adapters.

func GetNetworkAdapter

func GetNetworkAdapter(c common.Client, uri string) (*NetworkAdapter, error)

GetNetworkAdapter will get a NetworkAdapter instance from the Redfish service.

func ListReferencedNetworkAdapter

func ListReferencedNetworkAdapter(c common.Client, link string) ([]*NetworkAdapter, error)

ListReferencedNetworkAdapter gets the collection of Chassis from a provided reference.

func (*NetworkAdapter) Assembly

func (networkadapter *NetworkAdapter) Assembly() (*Assembly, error)

Assembly gets this adapter's assembly.

func (*NetworkAdapter) NetworkDeviceFunctions

func (networkadapter *NetworkAdapter) NetworkDeviceFunctions() ([]*NetworkDeviceFunction, error)

NetworkDeviceFunctions gets the collection of NetworkDeviceFunctions of this network adapter

func (*NetworkAdapter) NetworkPorts

func (networkadapter *NetworkAdapter) NetworkPorts() ([]*NetworkPort, error)

NetworkPorts gets the collection of NetworkPorts for this network adapter

func (*NetworkAdapter) ResetSettingsToDefault

func (networkadapter *NetworkAdapter) ResetSettingsToDefault() error

ResetSettingsToDefault shall perform a reset of all active and pending settings back to factory default settings upon reset of the network adapter.

func (*NetworkAdapter) UnmarshalJSON

func (networkadapter *NetworkAdapter) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a NetworkAdapter object from the raw JSON.

type NetworkDeviceFunction

type NetworkDeviceFunction struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AssignablePhysicalPorts shall be an array of physical port references
	// that this network device function may be assigned to.
	// assignablePhysicalPorts []string
	// AssignablePhysicalPortsCount is the number of assignable physical ports.
	AssignablePhysicalPortsCount int `json:"AssignablePhysicalPorts@odata.count"`
	// BootMode shall be the boot mode configured for this network device
	// function. If the value is not Disabled", this network device function
	// shall be configured for boot using the specified technology.
	BootMode BootMode
	// Description provides a description of this resource.
	Description string
	// DeviceEnabled shall be a boolean indicating whether the network device
	// function is enabled. Disabled network device functions shall not be
	// enumerated or seen by the operating system.
	DeviceEnabled bool
	// Ethernet shall contain Ethernet capabilities, status, and configuration
	// values for this network device function.
	Ethernet Ethernet
	// FibreChannel shall contain Fibre Channel capabilities, status, and
	// configuration values for this network device function.
	FibreChannel FibreChannel
	// MaxVirtualFunctions shall be the number of virtual functions (VFs) that
	// are available for this Network Device Function.
	MaxVirtualFunctions int
	// NetDevFuncCapabilities shall contain an array of capabilities of this
	// network device function.
	NetDevFuncCapabilities []NetworkDeviceTechnology
	// NetDevFuncType shall be the configured capability of this network device
	// function.
	NetDevFuncType NetworkDeviceTechnology
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// VirtualFunctionsEnabled shall be a boolean indicating whether Single Root
	// I/O Virtualization (SR-IOV) Virtual Functions (VFs) are enabled for this
	// Network Device Function.
	VirtualFunctionsEnabled bool
	// iSCSIBoot shall contain iSCSI boot capabilities, status, and
	// configuration values for this network device function.
	ISCSIBoot ISCSIBoot `json:"iSCSIBoot"`

	// EndpointsCount is the number of Endpoints.
	EndpointsCount int
	// contains filtered or unexported fields
}

NetworkDeviceFunction is A Network Device Function represents a logical interface exposed by the network adapter.

func GetNetworkDeviceFunction

func GetNetworkDeviceFunction(c common.Client, uri string) (*NetworkDeviceFunction, error)

GetNetworkDeviceFunction will get a NetworkDeviceFunction instance from the service.

func ListReferencedNetworkDeviceFunctions

func ListReferencedNetworkDeviceFunctions(c common.Client, link string) ([]*NetworkDeviceFunction, error)

ListReferencedNetworkDeviceFunctions gets the collection of NetworkDeviceFunction from a provided reference.

func (*NetworkDeviceFunction) UnmarshalJSON

func (networkdevicefunction *NetworkDeviceFunction) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a NetworkDeviceFunction object from the raw JSON.

func (*NetworkDeviceFunction) Update added in v0.5.0

func (networkdevicefunction *NetworkDeviceFunction) Update() error

Update commits updates to this object's properties to the running system.

type NetworkDeviceTechnology

type NetworkDeviceTechnology string

NetworkDeviceTechnology is the technology type of the network device.

const (
	// DisabledNetworkDeviceTechnology Neither enumerated nor visible to the
	// operating system.
	DisabledNetworkDeviceTechnology NetworkDeviceTechnology = "Disabled"
	// EthernetNetworkDeviceTechnology Appears to the operating system as an
	// Ethernet device.
	EthernetNetworkDeviceTechnology NetworkDeviceTechnology = "Ethernet"
	// FibreChannelNetworkDeviceTechnology Appears to the operating system as
	// a Fibre Channel device.
	FibreChannelNetworkDeviceTechnology NetworkDeviceTechnology = "FibreChannel"
	// ISCSINetworkDeviceTechnology Appears to the operating system as an
	// iSCSI device.
	ISCSINetworkDeviceTechnology NetworkDeviceTechnology = "iSCSI"
	// FibreChannelOverEthernetNetworkDeviceTechnology Appears to the
	// operating system as an FCoE device.
	FibreChannelOverEthernetNetworkDeviceTechnology NetworkDeviceTechnology = "FibreChannelOverEthernet"
)

type NetworkInterface

type NetworkInterface struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string

	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

A NetworkInterface contains references linking NetworkAdapter, NetworkPort, and NetworkDeviceFunction resources and represents the functionality available to the containing system.

func GetNetworkInterface

func GetNetworkInterface(c common.Client, uri string) (*NetworkInterface, error)

GetNetworkInterface will get a NetworkInterface instance from the service.

func ListReferencedNetworkInterfaces

func ListReferencedNetworkInterfaces(c common.Client, link string) ([]*NetworkInterface, error)

ListReferencedNetworkInterfaces gets the collection of NetworkInterface from a provided reference.

func (*NetworkInterface) NetworkAdapter

func (networkinterface *NetworkInterface) NetworkAdapter() (*NetworkAdapter, error)

NetworkAdapter gets the NetworkAdapter for this interface.

func (*NetworkInterface) NetworkDeviceFunctions

func (networkinterface *NetworkInterface) NetworkDeviceFunctions() ([]*NetworkDeviceFunction, error)

NetworkDeviceFunctions gets the collection of NetworkDeviceFunctions of this network interface

func (*NetworkInterface) NetworkPorts

func (networkinterface *NetworkInterface) NetworkPorts() ([]*NetworkPort, error)

NetworkPorts gets the collection of NetworkPorts of this network interface

func (*NetworkInterface) UnmarshalJSON

func (networkinterface *NetworkInterface) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a NetworkInterface object from the raw JSON.

type NetworkInterfaceLinks struct {
	// NetworkAdapter shall be a reference to a
	// resource of type NetworkAdapter that represents the physical container
	// associated with this NetworkInterface.
	NetworkAdapter common.Link
}

NetworkInterfaceLinks references to resources that are related to, but not contained by (subordinate to), this resource.

type NetworkPort

type NetworkPort struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Actions shall contain the available actions for this resource.
	// actions string
	// ActiveLinkTechnology shall be the
	// configured link technology of this port.
	ActiveLinkTechnology LinkNetworkTechnology
	// AssociatedNetworkAddresses shall be an array of configured network
	// addresses that are associated with this network port, including the
	// programmed address of the lowest numbered network device function, the
	// configured but not active address if applicable, the address for hardware
	// port teaming, or other network addresses.
	AssociatedNetworkAddresses []string
	// CurrentLinkSpeedMbps shall be the current configured link speed of this
	// port.
	CurrentLinkSpeedMbps int
	// Description provides a description of this resource.
	Description string
	// EEEEnabled shall be a boolean indicating whether IEEE 802.3az Energy
	// Efficient Ethernet (EEE) is enabled for this network port.
	EEEEnabled bool
	// FCFabricName shall indicate the FC Fabric Name provided by the switch.
	FCFabricName string
	// FCPortConnectionType shall be the connection type for this port.
	FCPortConnectionType PortConnectionType
	// FlowControlConfiguration shall be the
	// locally configured 802.3x flow control setting for this network port.
	FlowControlConfiguration FlowControl
	// FlowControlStatus shall be the 802.3x
	// flow control behavior negotiated with the link partner for this
	// network port (Ethernet-only).
	FlowControlStatus FlowControl
	// LinkStatus shall be the link status between this port and its link
	// partner.
	LinkStatus PortLinkStatus
	// MaxFrameSize shall be the maximum frame size supported by the port.
	MaxFrameSize int
	// NetDevFuncMaxBWAlloc shall be an array of maximum bandwidth allocation
	// percentages for the Network Device Functions associated with this port.
	NetDevFuncMaxBWAlloc []NetDevFuncMaxBWAlloc
	// NetDevFuncMinBWAlloc shall be an array of minimum bandwidth percentage
	// allocations for each of the network device functions associated with this
	// port.
	NetDevFuncMinBWAlloc []NetDevFuncMinBWAlloc
	// NumberDiscoveredRemotePorts shall be the number of ports not on this
	// adapter that this port has discovered.
	NumberDiscoveredRemotePorts int
	// PhysicalPortNumber shall be the physical port number on the network
	// adapter hardware that this Network Port corresponds to. This value should
	// match a value visible on the hardware. When HostPortEnabled and
	// ManagementPortEnabled are both "false", the port shall not establish
	// physical link.
	PhysicalPortNumber string
	// PortMaximumMTU shall be the largest maximum transmission unit (MTU) that
	// can be configured for this network port.
	PortMaximumMTU int
	// SignalDetected shall be a boolean
	// indicating whether the port has detected enough signal on enough lanes
	// to establish link.
	SignalDetected bool
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// SupportedEthernetCapabilities shall be
	// an array of zero or more Ethernet capabilities supported by this port.
	SupportedEthernetCapabilities []SupportedEthernetCapabilities
	// SupportedLinkCapabilities is This object shall describe the static
	// capabilities of the port, irrespective of transient conditions such as
	// cabling, interface module presence, or remote link partner status or
	// configuration.
	SupportedLinkCapabilities []SupportedLinkCapabilities
	// VendorID shall indicate the Vendor Identification string information as
	// provided by the manufacturer of this port.
	VendorID string `json:"VendorId"`
	// WakeOnLANEnabled shall be a boolean
	// indicating whether Wake on LAN (WoL) is enabled for this network port.
	WakeOnLANEnabled bool
	// contains filtered or unexported fields
}

NetworkPort represents a discrete physical port capable of connecting to a network.

func GetNetworkPort

func GetNetworkPort(c common.Client, uri string) (*NetworkPort, error)

GetNetworkPort will get a NetworkPort instance from the service.

func ListReferencedNetworkPorts

func ListReferencedNetworkPorts(c common.Client, link string) ([]*NetworkPort, error)

ListReferencedNetworkPorts gets the collection of NetworkPort from a provided reference.

func (*NetworkPort) UnmarshalJSON added in v0.5.0

func (networkport *NetworkPort) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a NetworkPort object from the raw JSON.

func (*NetworkPort) Update added in v0.5.0

func (networkport *NetworkPort) Update() error

Update commits updates to this object's properties to the running system.

type OperatingMemoryModes

type OperatingMemoryModes string

OperatingMemoryModes is is the memory operating mode.

const (
	// VolatileOperatingMemoryModes Volatile memory.
	VolatileOperatingMemoryModes OperatingMemoryModes = "Volatile"
	// PMEMOperatingMemoryModes Persistent memory, byte accessible through
	// system address space.
	PMEMOperatingMemoryModes OperatingMemoryModes = "PMEM"
	// BlockOperatingMemoryModes Block accessible system memory.
	BlockOperatingMemoryModes OperatingMemoryModes = "Block"
)

type OverWritePolicy

type OverWritePolicy string

OverWritePolicy is the log overwriting policy.

const (

	// UnknownOverWritePolicy means the policy is not known or is undefined.
	UnknownOverWritePolicy OverWritePolicy = "Unknown"
	// WrapsWhenFullOverWritePolicy means when full, new entries to the Log will
	// overwrite previous entries.
	WrapsWhenFullOverWritePolicy OverWritePolicy = "WrapsWhenFull"
	// NeverOverWritesOverWritePolicy means when full, new entries to the Log will
	// be discarded.
	NeverOverWritesOverWritePolicy OverWritePolicy = "NeverOverWrites"
)

type PCIeDevice

type PCIeDevice struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`

	// AssetTag is used to track the PCIe device for inventory purposes.
	AssetTag string
	// Description provides a description of this resource.
	Description string
	// DeviceType shall be the device type of the PCIe device such as
	// SingleFunction or MultiFunction.
	DeviceType DeviceType
	// FirmwareVersion shall be the firmware version of the PCIe device.
	FirmwareVersion string
	// Manufacturer shall be the name of the organization responsible for
	// producing the PCIe device. This organization might be the entity from
	// whom the PCIe device is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall be the name by which the manufacturer generally refers to the
	// PCIe device.
	Model string
	// PCIeInterface is used to connect this PCIe Device to its host or
	// upstream switch.
	PCIeInterface PCIeInterface
	// PartNumber shall be a part number assigned by the organization that is
	// responsible for producing or manufacturing the PCIe device.
	PartNumber string
	// SKU shall be the stock-keeping unit number for this PCIe device.
	SKU string
	// SerialNumber is used to identify the PCIe device.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// ChassisCount is the number of number of associated chassis.
	ChassisCount int

	// PCIeFunctionsCount is the number of PCIeFunctions.
	PCIeFunctionsCount int
	// contains filtered or unexported fields
}

PCIeDevice is used to represent a PCIeDevice attached to a System.

func GetPCIeDevice

func GetPCIeDevice(c common.Client, uri string) (*PCIeDevice, error)

GetPCIeDevice will get a PCIeDevice instance from the service.

func ListReferencedPCIeDevices

func ListReferencedPCIeDevices(c common.Client, link string) ([]*PCIeDevice, error)

ListReferencedPCIeDevices gets the collection of PCIeDevice from a provided reference.

func (*PCIeDevice) Assembly

func (pciedevice *PCIeDevice) Assembly() (*Assembly, error)

Assembly gets the assembly for this device.

func (*PCIeDevice) Chassis

func (pciedevice *PCIeDevice) Chassis() ([]*Chassis, error)

Chassis gets the chassis in which the PCIe device is contained.

func (*PCIeDevice) PCIeFunctions

func (pciedevice *PCIeDevice) PCIeFunctions() ([]*PCIeDevice, error)

PCIeFunctions get the PCIe functions that this device exposes.

func (*PCIeDevice) UnmarshalJSON

func (pciedevice *PCIeDevice) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PCIeDevice object from the raw JSON.

func (*PCIeDevice) Update added in v0.5.0

func (pciedevice *PCIeDevice) Update() error

Update commits updates to this object's properties to the running system.

type PCIeFunction

type PCIeFunction struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ClassCode shall be the PCI Class Code of the PCIe device function.
	ClassCode string
	// Description provides a description of this resource.
	Description string
	// DeviceClass shall be the device class of the PCIe device function such as
	// Storage, Network, Memory etc.
	DeviceClass DeviceClass
	// DeviceID shall be the PCI Device ID of the PCIe device function.
	DeviceID string `json:"DeviceId"`
	// FunctionID shall the PCIe device function number within a given PCIe
	// device.
	FunctionID int `json:"FunctionId"`
	// FunctionType shall be the function type of the PCIe device function such
	// as Physical or Virtual.
	FunctionType FunctionType
	// RevisionID shall be the PCI Revision ID of the PCIe device function.
	RevisionID string `json:"RevisionID"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// SubsystemID shall be the PCI Subsystem ID of the PCIe device function.
	SubsystemID string `json:"SubsystemId"`
	// SubsystemVendorID shall be the PCI Subsystem Vendor ID of the PCIe device
	// function.
	SubsystemVendorID string `json:"SubsystemVendorId"`
	// VendorID shall be the PCI Vendor ID of the PCIe device function.
	VendorID string `json:"VendorId"`

	// DrivesCount is the number of drives.
	DrivesCount int

	// EthernetInterfacesCount is the number of ethernet interfaces.
	EthernetInterfacesCount int

	// NetworkDeviceFunctionsCount is the number of network device functions.
	NetworkDeviceFunctionsCount int

	// StorageControllersCount is the number of storage controllers.
	StorageControllersCount int
	// contains filtered or unexported fields
}

PCIeFunction is used to represent a PCIeFunction attached to a System.

func GetPCIeFunction

func GetPCIeFunction(c common.Client, uri string) (*PCIeFunction, error)

GetPCIeFunction will get a PCIeFunction instance from the service.

func ListReferencedPCIeFunctions

func ListReferencedPCIeFunctions(c common.Client, link string) ([]*PCIeFunction, error)

ListReferencedPCIeFunctions gets the collection of PCIeFunction from a provided reference.

func (*PCIeFunction) Drives

func (pciefunction *PCIeFunction) Drives() ([]*Drive, error)

Drives gets the PCIe function's drives.

func (*PCIeFunction) EthernetInterfaces

func (pciefunction *PCIeFunction) EthernetInterfaces() ([]*EthernetInterface, error)

EthernetInterfaces gets the PCIe function's ethernet interfaces.

func (*PCIeFunction) NetworkDeviceFunctions

func (pciefunction *PCIeFunction) NetworkDeviceFunctions() ([]*NetworkDeviceFunction, error)

NetworkDeviceFunctions gets the PCIe function's ethernet interfaces.

func (*PCIeFunction) PCIeDevice

func (pciefunction *PCIeFunction) PCIeDevice() (*PCIeDevice, error)

PCIeDevice gets the associated PCIe device for this function.

func (*PCIeFunction) StorageControllers

func (pciefunction *PCIeFunction) StorageControllers() ([]*StorageController, error)

StorageControllers gets the associated storage controllers.

func (*PCIeFunction) UnmarshalJSON

func (pciefunction *PCIeFunction) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PCIeFunction object from the raw JSON.

type PCIeInterface

type PCIeInterface struct {
	// LanesInUse shall be the number of PCIe lanes in use by this device, which
	// shall be equal or less than the value of MaxLanes.
	LanesInUse int
	// MaxLanes shall be the maximum number of PCIe lanes supported by this device.
	MaxLanes int
	// MaxPCIeType shall be the maximum PCIe specification that this device supports.
	MaxPCIeType PCIeTypes
	// PCIeType shall be the negotiated PCIe interface version in use by this device.
	PCIeType PCIeTypes
}

PCIeInterface properties shall be the definition for a PCIe Interface for a Redfish implementation.

type PCIeTypes

type PCIeTypes string

PCIeTypes is the type of PCIe device.

const (
	// Gen1PCIeTypes A PCIe v1.0 slot.
	Gen1PCIeTypes PCIeTypes = "Gen1"
	// Gen2PCIeTypes A PCIe v2.0 slot.
	Gen2PCIeTypes PCIeTypes = "Gen2"
	// Gen3PCIeTypes A PCIe v3.0 slot.
	Gen3PCIeTypes PCIeTypes = "Gen3"
	// Gen4PCIeTypes A PCIe v4.0 slot.
	Gen4PCIeTypes PCIeTypes = "Gen4"
	// Gen5PCIeTypes A PCIe v5.0 slot.
	Gen5PCIeTypes PCIeTypes = "Gen5"
)

type Payload

type Payload struct {
	// HTTPHeaders is used in the execution of this Task.
	HTTPHeaders []string `json:"HttpHeaders"`
	// HTTPOperation shall contain the HTTP operation to
	// execute for this Task.
	HTTPOperation string `json:"HttpOperation"`
	// JSONBody is used for this Task.
	JSONBody string `json:"JsonBody"`
	// TargetURI is used as the target for an HTTP operation.
	TargetURI string `json:"TargetUri"`
}

Payload shall contain information detailing the HTTP and JSON payload information for executing this Task.

type PciID

type PciID struct {
	// ClassCode shall be the PCI Class Code,
	// Subclass code, and Programming Interface code of the PCIe device
	// function.
	ClassCode string
	// DeviceID shall be the PCI Subsystem Vendor ID of the PCIe device function.
	DeviceID string `json:"DeviceId"`
	// FunctionNumber shall be the PCI Function Number of the connected PCIe entity.
	FunctionNumber string
	// SubsystemID shall be the PCI Subsystem Vendor ID of the PCIe device function.
	SubsystemID string `json:"SubsystemId"`
	// SubsystemVendorID shall be the PCI Subsystem Vendor ID of the PCIe device function.
	SubsystemVendorID string `json:"SubsystemVendorId"`
	// VendorID shall be the PCI Vendor ID of the PCIe device function.
	VendorID string `json:"VendorId"`
}

PciID shall describe a PCI ID.

type PhysicalSecurity added in v0.5.0

type PhysicalSecurity struct {

	// IntrusionSensor is This property shall represent the state of this
	// physical security sensor.  Hardware intrusion indicates the internal
	// hardware is detected as being accessed in an insecure state.
	// Tampering detected indicates the physical tampering of the monitored
	// entity is detected.
	IntrusionSensor IntrusionSensor
	// IntrusionSensorNumber is This property shall contain a numerical
	// identifier for this physical security sensor that is unique within
	// this resource.
	IntrusionSensorNumber int
	// IntrusionSensorReArm is This property shall represent the method that
	// restores this physical security sensor to the normal state.  Manual
	// indicates manual re-arm is needed.  Automatic indicates the state is
	// restored automatically because no abnormal physical security
	// conditions are detected.
	IntrusionSensorReArm IntrusionSensorReArm
}

PhysicalSecurity shall describe the sensor state of the physical security.

type PortConnectionType

type PortConnectionType string

PortConnectionType is

const (
	// NotConnectedPortConnectionType means this port is not connected.
	NotConnectedPortConnectionType PortConnectionType = "NotConnected"
	// NPortPortConnectionType means this port connects via an N-Port to a switch.
	NPortPortConnectionType PortConnectionType = "NPort"
	// PointToPointPortConnectionType means this port connects in a Point-to-point
	// configuration.
	PointToPointPortConnectionType PortConnectionType = "PointToPoint"
	// PrivateLoopPortConnectionType means this port connects in a private loop
	// configuration.
	PrivateLoopPortConnectionType PortConnectionType = "PrivateLoop"
	// PublicLoopPortConnectionType means this port connects in a public
	// configuration.
	PublicLoopPortConnectionType PortConnectionType = "PublicLoop"
	// GenericPortConnectionType means this port connection type is a generic
	// fabric port.
	GenericPortConnectionType PortConnectionType = "Generic"
	// ExtenderFabricPortConnectionType means this port connection type is an
	// extender fabric port.
	ExtenderFabricPortConnectionType PortConnectionType = "ExtenderFabric"
)

type PortLinkStatus

type PortLinkStatus string

PortLinkStatus is the port link status.

const (
	// UpPortLinkStatus The port is enabled and link is good (up).
	UpPortLinkStatus PortLinkStatus = "Up"
	// DownPortLinkStatus  The port is enabled but link is down.
	DownPortLinkStatus PortLinkStatus = "Down"
)

type Power

type Power struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// IndicatorLED shall contain the indicator light state for the indicator
	// light associated with this power supply.
	IndicatorLED common.IndicatorLED
	// PowerControl shall be the definition for power control (power reading and
	// limiting) for a Redfish implementation.
	PowerControl []PowerControl
	// PowerControlCount is the number of objects.
	PowerControlCount int `json:"PowerControl@odata.count"`
	// PowerSupplies shall contain details of the power supplies associated with
	// this system or device.
	PowerSupplies []PowerSupply
	// PowerSuppliesCount is the number of objects.
	PowerSuppliesCount int `json:"PowerSupplies@odata.count"`
	// Redundancy shall contain redundancy information for the power subsystem
	// of this system or device.
	Redundancy []Redundancy
	// RedundancyCount is the number of objects.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// Voltages shall be the definition for voltage
	// sensors for a Redfish implementation.
	Voltages []Voltage
	// VoltagesCount is the number of objects.
	VoltagesCount int `json:"Voltages@odata.count"`
}

Power is used to represent a power metrics resource for a Redfish implementation.

func GetPower

func GetPower(c common.Client, uri string) (*Power, error)

GetPower will get a Power instance from the service.

func ListReferencedPowers

func ListReferencedPowers(c common.Client, link string) ([]*Power, error)

ListReferencedPowers gets the collection of Power from a provided reference.

type PowerControl

type PowerControl struct {
	common.Entity

	// MemberID shall uniquely identify the member within the collection. For
	// services supporting Redfish v1.6 or higher, this value shall be the
	// zero-based array index.
	MemberID string `json:"MemberId"`
	// PhysicalContext shall be a description of the affected device(s) or region
	// within the chassis to which this power control applies.
	PhysicalContext common.PhysicalContext
	// PowerAllocatedWatts shall represent the total power currently allocated
	// to chassis resources.
	PowerAllocatedWatts float32
	// PowerAvailableWatts shall represent the amount of power capacity (in
	// Watts) not already allocated and shall equal PowerCapacityWatts -
	// PowerAllocatedWatts.
	PowerAvailableWatts float32
	// PowerCapacityWatts shall represent the total power capacity that is
	// available for allocation to the chassis resources.
	PowerCapacityWatts float32
	// PowerConsumedWatts shall represent the actual power being consumed (in
	// Watts) by the chassis.
	PowerConsumedWatts float32
	// PowerLimit shall contain power limit status and configuration information
	// for this chassis.
	PowerLimit PowerLimit
	// PowerMetrics shall contain power metrics for power readings (interval,
	// minimum/maximum/average power consumption) for the chassis.
	PowerMetrics PowerMetric
	// PowerRequestedWatts shall represent the
	// amount of power (in Watts) that the chassis resource is currently
	// requesting be budgeted to it for future use.
	PowerRequestedWatts float32
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
}

PowerControl is

func (*PowerControl) UnmarshalJSON added in v0.7.0

func (powercontrol *PowerControl) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerControl object from the raw JSON.

type PowerLimit

type PowerLimit struct {
	// CorrectionInMs shall represent the time
	// interval in ms required for the limiting process to react and reduce
	// the power consumption below the limit.
	CorrectionInMs int64
	// LimitException shall represent the
	// action to be taken if the resource power consumption can not be
	// limited below the specified limit after several correction time
	// periods.
	LimitException PowerLimitException
	// LimitInWatts shall represent the power
	// cap limit in watts for the resource. If set to null, power capping
	// shall be disabled.
	LimitInWatts float32
}

PowerLimit shall contain power limit status and configuration information for this chassis.

type PowerLimitException

type PowerLimitException string

PowerLimitException is the type of power limit exception.

const (

	// NoActionPowerLimitException Take no action when the limit is exceeded.
	NoActionPowerLimitException PowerLimitException = "NoAction"
	// HardPowerOffPowerLimitException Turn the power off immediately when
	// the limit is exceeded.
	HardPowerOffPowerLimitException PowerLimitException = "HardPowerOff"
	// LogEventOnlyPowerLimitException Log an event when the limit is
	// exceeded, but take no further action.
	LogEventOnlyPowerLimitException PowerLimitException = "LogEventOnly"
	// OemPowerLimitException Take an OEM-defined action.
	OemPowerLimitException PowerLimitException = "Oem"
)

type PowerManagementPolicy

type PowerManagementPolicy struct {
	// AveragePowerBudgetMilliWatts is Average power budget in milli watts.
	AveragePowerBudgetMilliWatts int
	// MaxTDPMilliWatts is Maximum TDP in milli watts.
	MaxTDPMilliWatts int
	// PeakPowerBudgetMilliWatts is Peak power budget in milli watts.
	PeakPowerBudgetMilliWatts int
	// PolicyEnabled is Power management policy enabled status.
	PolicyEnabled bool
}

PowerManagementPolicy shall contain properties which describe the power management policy for the current resource.

type PowerMetric

type PowerMetric struct {
	// AverageConsumedWatts shall represent the
	// average power level that occurred averaged over the last IntervalInMin
	// minutes.
	AverageConsumedWatts float32
	// IntervalInMin shall represent the time
	// interval (or window), in minutes, in which the PowerMetrics properties
	// are measured over.
	// Should be an integer, but some Dell implementations return as a float.
	IntervalInMin float32
	// MaxConsumedWatts shall represent the
	// maximum power level in watts that occurred within the last
	// IntervalInMin minutes.
	MaxConsumedWatts float32
	// MinConsumedWatts shall represent the
	// minimum power level in watts that occurred within the last
	// IntervalInMin minutes.
	MinConsumedWatts float32
}

PowerMetric shall contain power metrics for power readings (interval, minimum/maximum/average power consumption) for a resource.

type PowerRestorePolicyTypes

type PowerRestorePolicyTypes string

PowerRestorePolicyTypes specifies the choice of power state for the system when power is applied.

const (

	// AlwaysOnPowerRestorePolicyTypes the system will always power on when
	// power is applied.
	AlwaysOnPowerRestorePolicyTypes PowerRestorePolicyTypes = "AlwaysOn"
	// AlwaysOffPowerRestorePolicyTypes the system will always remain powered
	// off when power is applied.
	AlwaysOffPowerRestorePolicyTypes PowerRestorePolicyTypes = "AlwaysOff"
	// LastStatePowerRestorePolicyTypes the system will return to its last
	// power state (on or off) when power is applied.
	LastStatePowerRestorePolicyTypes PowerRestorePolicyTypes = "LastState"
)

type PowerState

type PowerState string

PowerState is the power state of the system.

const (

	// OnPowerState the system is powered on.
	OnPowerState PowerState = "On"
	// OffPowerState the system is powered off, although some components may
	// continue to have AUX power such as management controller.
	OffPowerState PowerState = "Off"
	// PoweringOnPowerState A temporary state between Off and On. This
	// temporary state can be very short.
	PoweringOnPowerState PowerState = "PoweringOn"
	// PoweringOffPowerState A temporary state between On and Off. The power
	// off action can take time while the OS is in the shutdown process.
	PoweringOffPowerState PowerState = "PoweringOff"
)

type PowerSupply

type PowerSupply struct {
	common.Entity

	// EfficiencyPercent shall contain the value of the measured power
	// efficiency, as a percentage, of the associated power supply.
	EfficiencyPercent float32
	// FirmwareVersion shall contain the firmware version as
	// defined by the manufacturer for the associated power supply.
	FirmwareVersion string
	// HotPluggable shall indicate whether the
	// device can be inserted or removed while the underlying equipment
	// otherwise remains in its current operational state. Devices indicated
	// as hot-pluggable shall allow the device to become operable without
	// altering the operational state of the underlying equipment. Devices
	// that cannot be inserted or removed from equipment in operation, or
	// devices that cannot become operable without affecting the operational
	// state of that equipment, shall be indicated as not hot-pluggable.
	HotPluggable bool
	// IndicatorLED shall contain the indicator
	// light state for the indicator light associated with this power supply.
	IndicatorLED common.IndicatorLED
	// InputRanges shall be a collection of ranges usable by the power supply unit.
	InputRanges []InputRange
	// LastPowerOutputWatts shall contain the average power
	// output, measured in Watts, of the associated power supply.
	LastPowerOutputWatts float32
	// LineInputVoltage shall contain the value in Volts of
	// the line input voltage (measured or configured for) that the power
	// supply has been configured to operate with or is currently receiving.
	LineInputVoltage float32
	// LineInputVoltageType shall contain the type of input
	// line voltage supported by the associated power supply.
	LineInputVoltageType LineInputVoltageType
	// Location shall contain location information of the
	// associated power supply.
	Location common.Location
	// Manufacturer shall be the name of the
	// organization responsible for producing the power supply. This
	// organization might be the entity from whom the power supply is
	// purchased, but this is not necessarily true.
	Manufacturer string
	// MemberID shall uniquely identify the
	// member within the collection. For services supporting Redfish v1.6 or
	// higher, this value shall be the zero-based array index.
	MemberID string `json:"MemberId"`
	// Model shall contain the model information as defined
	// by the manufacturer for the associated power supply.
	Model string
	// PartNumber shall contain the part number as defined
	// by the manufacturer for the associated power supply.
	PartNumber string
	// PowerCapacityWatts shall contain the maximum amount
	// of power, in Watts, that the associated power supply is rated to
	// deliver.
	PowerCapacityWatts float32
	// PowerInputWatts shall contain the value of the
	// measured input power, in Watts, of the associated power supply.
	PowerInputWatts float32
	// PowerOutputWatts shall contain the value of the
	// measured output power, in Watts, of the associated power supply.
	PowerOutputWatts float32
	// PowerSupplyType shall contain the input power type
	// (AC or DC) of the associated power supply.
	PowerSupplyType PowerSupplyType
	// Redundancy is used to show redundancy for power supplies and other
	// elements in this resource. The use of IDs within these arrays shall
	// reference the members of the redundancy groups.
	Redundancy []Redundancy
	// RedundancyCount is the number of objects.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// SerialNumber shall contain the serial number as
	// defined by the manufacturer for the associated power supply.
	SerialNumber string
	// SparePartNumber shall contain the spare or
	// replacement part number as defined by the manufacturer for the
	// associated power supply.
	SparePartNumber string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

PowerSupply is Details of a power supplies associated with this system or device.

func (*PowerSupply) UnmarshalJSON

func (powersupply *PowerSupply) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerSupply object from the raw JSON.

func (*PowerSupply) Update added in v0.5.0

func (powersupply *PowerSupply) Update() error

Update commits updates to this object's properties to the running system.

type PowerSupplyType

type PowerSupplyType string

PowerSupplyType is the type of power supply.

const (

	// UnknownPowerSupplyType The power supply type cannot be determined.
	UnknownPowerSupplyType PowerSupplyType = "Unknown"
	// ACPowerSupplyType Alternating Current (AC) power supply.
	ACPowerSupplyType PowerSupplyType = "AC"
	// DCPowerSupplyType Direct Current (DC) power supply.
	DCPowerSupplyType PowerSupplyType = "DC"
	// ACorDCPowerSupplyType Power Supply supports both DC or AC.
	ACorDCPowerSupplyType PowerSupplyType = "ACorDC"
)

type PrivilegeType added in v0.5.0

type PrivilegeType string

PrivilegeType is the role privilege type.

const (

	// LoginPrivilegeType Can log in to the service and read Resources.
	LoginPrivilegeType PrivilegeType = "Login"
	// ConfigureManagerPrivilegeType Can configure managers.
	ConfigureManagerPrivilegeType PrivilegeType = "ConfigureManager"
	// ConfigureUsersPrivilegeType Can configure users and their accounts.
	ConfigureUsersPrivilegeType PrivilegeType = "ConfigureUsers"
	// ConfigureSelfPrivilegeType Can change the password for the current
	// user account and log out of their own sessions.
	ConfigureSelfPrivilegeType PrivilegeType = "ConfigureSelf"
	// ConfigureComponentsPrivilegeType Can configure components that this
	// service manages.
	ConfigureComponentsPrivilegeType PrivilegeType = "ConfigureComponents"
	// NoAuthPrivilegeType shall be used to indicate an operation does not
	// require authentication.  This privilege shall not be used in Redfish
	// Roles.
	NoAuthPrivilegeType PrivilegeType = "NoAuth"
)

type Processor

type Processor struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`

	// Actions is The Actions property shall contain the available actions
	// for this resource.
	Actions string

	// Description provides a description of this resource.
	Description string
	// FPGA shall be an object containing
	// properties specific for Processors of type FPGA.
	FPGA FPGA
	// InstructionSet shall contain the string which
	// identifies the instruction set of the processor contained in this
	// socket.
	InstructionSet InstructionSet
	// Links is The Links property, as described by the Redfish
	// Specification, shall contain references to resources that are related
	// to, but not contained by (subordinate to), this resource.
	Links string
	// Location shall contain location information of the
	// associated processor.
	Location common.Location
	// Manufacturer shall contain a string which identifies
	// the manufacturer of the processor.
	Manufacturer string
	// MaxSpeedMHz shall indicate the maximum rated clock
	// speed of the processor in MHz.
	MaxSpeedMHz float32
	// MaxTDPWatts shall be the maximum Thermal
	// Design Power (TDP) in watts.
	MaxTDPWatts int

	// Model shall indicate the model information as
	// provided by the manufacturer of this processor.
	Model string
	// ProcessorArchitecture shall contain the string which
	// identifies the architecture of the processor contained in this Socket.
	ProcessorArchitecture ProcessorArchitecture
	// ProcessorID shall contain identification information for this processor.
	ProcessorID ProcessorID `json:"ProcessorId"`

	// ProcessorType shall contain the string which
	// identifies the type of processor contained in this Socket.
	ProcessorType ProcessorType
	// Socket shall contain the string which identifies the
	// physical location or socket of the processor.
	Socket string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// SubProcessors shall be a link to a
	// collection of type ProcessorCollection.
	SubProcessors string
	// TDPWatts shall be the nominal Thermal
	// Design Power (TDP) in watts.
	TDPWatts int
	// TotalCores shall indicate the total count of
	// independent processor cores contained within this processor.
	TotalCores int
	// TotalEnabledCores shall indicate the total count of
	// enabled independent processor cores contained within this processor.
	TotalEnabledCores int
	// TotalThreads shall indicate the total count of
	// independent execution threads supported by this processor.
	TotalThreads int
	// UUID is used to contain a universal unique identifier number for the
	// processor. RFC4122 describes methods that can be used to create the
	// value. The value should be considered to be opaque. Client software
	// should only treat the overall value as a universally unique identifier
	// and should not interpret any sub-fields within the UUID.
	UUID string

	// ConnectedProcessors@odata.count is
	ConnectedProcessorsCount int

	// Endpoints@odata.count is
	EndpointsCount int

	// PCIeFunctions@odata.count is
	PCIeFunctionsCount int
	// contains filtered or unexported fields
}

Processor is used to represent a single processor contained within a system.

func GetProcessor

func GetProcessor(c common.Client, uri string) (*Processor, error)

GetProcessor will get a Processor instance from the system

func ListReferencedProcessors

func ListReferencedProcessors(c common.Client, link string) ([]*Processor, error)

ListReferencedProcessors gets the collection of Processor from a provided reference.

func (*Processor) UnmarshalJSON

func (processor *Processor) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Processor object from the raw JSON.

type ProcessorArchitecture

type ProcessorArchitecture string

ProcessorArchitecture is processor architecture type.

const (

	// X86ProcessorArchitecture x86 or x86-64.
	X86ProcessorArchitecture ProcessorArchitecture = "x86"
	// IA64ProcessorArchitecture Intel Itanium.
	IA64ProcessorArchitecture ProcessorArchitecture = "IA-64"
	// ARMProcessorArchitecture ARM.
	ARMProcessorArchitecture ProcessorArchitecture = "ARM"
	// MIPSProcessorArchitecture MIPS.
	MIPSProcessorArchitecture ProcessorArchitecture = "MIPS"
	// PowerProcessorArchitecture Power.
	PowerProcessorArchitecture ProcessorArchitecture = "Power"
	// OEMProcessorArchitecture OEM-defined.
	OEMProcessorArchitecture ProcessorArchitecture = "OEM"
)

type ProcessorID

type ProcessorID struct {
	// EffectiveFamily shall indicate the effective Family
	// information as provided by the manufacturer of this processor.
	EffectiveFamily string
	// EffectiveModel shall indicate the effective Model
	// information as provided by the manufacturer of this processor.
	EffectiveModel string
	// IdentificationRegisters shall include the raw CPUID
	// instruction output as provided by the manufacturer of this processor.
	IdentificationRegisters string
	// MicrocodeInfo shall indicate the Microcode
	// Information as provided by the manufacturer of this processor.
	MicrocodeInfo string
	// Step shall indicate the Step or revision string
	// information as provided by the manufacturer of this processor.
	Step string
	// VendorID shall indicate the Vendor Identification
	// string information as provided by the manufacturer of this processor.
	VendorID string `json:"VendorId"`
}

ProcessorID shall contain identification information for a processor.

type ProcessorMemory

type ProcessorMemory struct {
	// CapacityMiB shall be the memory capacity in MiB.
	CapacityMiB int
	// IntegratedMemory shall be a boolean
	// indicating whether this memory is integrated within the Processor.
	// Otherwise it is discrete memory attached to the Processor.
	IntegratedMemory bool
	// MemoryType shall be a type of the processor memory type.
	MemoryType ProcessorMemoryType
	// SpeedMHz shall be the operating speed of the memory in MHz.
	SpeedMHz int
}

ProcessorMemory shall contain information about memory directly attached or integrated within a processor.

type ProcessorMemoryType

type ProcessorMemoryType string

ProcessorMemoryType is

const (

	// L1CacheProcessorMemoryType L1 cache.
	L1CacheProcessorMemoryType ProcessorMemoryType = "L1Cache"
	// L2CacheProcessorMemoryType L2 cache.
	L2CacheProcessorMemoryType ProcessorMemoryType = "L2Cache"
	// L3CacheProcessorMemoryType L3 cache.
	L3CacheProcessorMemoryType ProcessorMemoryType = "L3Cache"
	// L4CacheProcessorMemoryType L4 cache.
	L4CacheProcessorMemoryType ProcessorMemoryType = "L4Cache"
	// L5CacheProcessorMemoryType L5 cache.
	L5CacheProcessorMemoryType ProcessorMemoryType = "L5Cache"
	// L6CacheProcessorMemoryType L6 cache.
	L6CacheProcessorMemoryType ProcessorMemoryType = "L6Cache"
	// L7CacheProcessorMemoryType L7 cache.
	L7CacheProcessorMemoryType ProcessorMemoryType = "L7Cache"
	// HBM1ProcessorMemoryType High Bandwidth Memory.
	HBM1ProcessorMemoryType ProcessorMemoryType = "HBM1"
	// HBM2ProcessorMemoryType The second generation of High Bandwidth
	// Memory.
	HBM2ProcessorMemoryType ProcessorMemoryType = "HBM2"
	// HBM3ProcessorMemoryType The third generation of High Bandwidth Memory.
	HBM3ProcessorMemoryType ProcessorMemoryType = "HBM3"
	// SGRAMProcessorMemoryType Synchronous graphics RAM.
	SGRAMProcessorMemoryType ProcessorMemoryType = "SGRAM"
	// GDDRProcessorMemoryType Synchronous graphics random-access memory.
	GDDRProcessorMemoryType ProcessorMemoryType = "GDDR"
	// GDDR2ProcessorMemoryType Double data rate type two synchronous
	// graphics random-access memory.
	GDDR2ProcessorMemoryType ProcessorMemoryType = "GDDR2"
	// GDDR3ProcessorMemoryType Double data rate type three synchronous
	// graphics random-access memory.
	GDDR3ProcessorMemoryType ProcessorMemoryType = "GDDR3"
	// GDDR4ProcessorMemoryType Double data rate type four synchronous
	// graphics random-access memory.
	GDDR4ProcessorMemoryType ProcessorMemoryType = "GDDR4"
	// GDDR5ProcessorMemoryType Double data rate type five synchronous
	// graphics random-access memory.
	GDDR5ProcessorMemoryType ProcessorMemoryType = "GDDR5"
	// GDDR5XProcessorMemoryType Double data rate type five synchronous
	// graphics random-access memory.
	GDDR5XProcessorMemoryType ProcessorMemoryType = "GDDR5X"
	// GDDR6ProcessorMemoryType Double data rate type five synchronous
	// graphics random-access memory.
	GDDR6ProcessorMemoryType ProcessorMemoryType = "GDDR6"
	// DDRProcessorMemoryType Double data rate synchronous dynamic random-
	// access memory.
	DDRProcessorMemoryType ProcessorMemoryType = "DDR"
	// DDR2ProcessorMemoryType Double data rate type two synchronous dynamic
	// random-access memory.
	DDR2ProcessorMemoryType ProcessorMemoryType = "DDR2"
	// DDR3ProcessorMemoryType Double data rate type three synchronous
	// dynamic random-access memory.
	DDR3ProcessorMemoryType ProcessorMemoryType = "DDR3"
	// DDR4ProcessorMemoryType Double data rate type four synchronous dynamic
	// random-access memory.
	DDR4ProcessorMemoryType ProcessorMemoryType = "DDR4"
	// DDR5ProcessorMemoryType Double data rate type five synchronous dynamic
	// random-access memory.
	DDR5ProcessorMemoryType ProcessorMemoryType = "DDR5"
	// SDRAMProcessorMemoryType Synchronous dynamic random-access memory.
	SDRAMProcessorMemoryType ProcessorMemoryType = "SDRAM"
	// SRAMProcessorMemoryType Static random-access memory.
	SRAMProcessorMemoryType ProcessorMemoryType = "SRAM"
	// FlashProcessorMemoryType Flash memory.
	FlashProcessorMemoryType ProcessorMemoryType = "Flash"
	// OEMProcessorMemoryType OEM-defined.
	OEMProcessorMemoryType ProcessorMemoryType = "OEM"
)

type ProcessorSummary

type ProcessorSummary struct {
	// Count is the number of physical central processors in the system.
	Count int
	// LogicalProcessorCount is the number of logical central processors in the system.
	LogicalProcessorCount int
	// Model is the processor model for the central processors in the system,
	// per the description in the Processor Information - Processor Family
	// section of the SMBIOS Specification DSP0134 2.8 or later.
	Model string
	// Status is any status or health properties of the resource.
	Status common.Status
}

ProcessorSummary is This type shall contain properties which describe the central processors for a system.

type ProcessorType

type ProcessorType string

ProcessorType is the processor type.

const (

	// CPUProcessorType A Central Processing Unit.
	CPUProcessorType ProcessorType = "CPU"
	// GPUProcessorType A Graphics Processing Unit.
	GPUProcessorType ProcessorType = "GPU"
	// FPGAProcessorType A Field Programmable Gate Array.
	FPGAProcessorType ProcessorType = "FPGA"
	// DSPProcessorType A Digital Signal Processor.
	DSPProcessorType ProcessorType = "DSP"
	// AcceleratorProcessorType An Accelerator.
	AcceleratorProcessorType ProcessorType = "Accelerator"
	// CoreProcessorType A Core in a Processor.
	CoreProcessorType ProcessorType = "Core"
	// ThreadProcessorType A Thread in a Processor.
	ThreadProcessorType ProcessorType = "Thread"
	// OEMProcessorType An OEM-defined Processing Unit.
	OEMProcessorType ProcessorType = "OEM"
)

type RAIDType

type RAIDType string

RAIDType is

const (

	// RAID0RAIDType A placement policy where consecutive logical blocks of
	// data are uniformly distributed across a set of independent storage
	// devices without offering any form of redundancy. This is commonly
	// referred to as data striping. This form of RAID will encounter data
	// loss with the failure of any storage device in the set.
	RAID0RAIDType RAIDType = "RAID0"
	// RAID1RAIDType A placement policy where each logical block of data is
	// stored on more than one independent storage device. This is commonly
	// referred to as mirroring. Data stored using this form of RAID is able
	// to survive a single storage device failure without data loss.
	RAID1RAIDType RAIDType = "RAID1"
	// RAID3RAIDType A placement policy using parity-based protection where
	// logical bytes of data are uniformly distributed across a set of
	// independent storage devices and where the parity is stored on a
	// dedicated independent storage device. Data stored using this form of
	// RAID is able to survive a single storage device failure without data
	// loss. If the storage devices use rotating media, they are assumed to
	// be rotationally synchronized, and the data stripe size should be no
	// larger than the exported block size.
	RAID3RAIDType RAIDType = "RAID3"
	// RAID4RAIDType A placement policy using parity-based protection where
	// logical blocks of data are uniformly distributed across a set of
	// independent storage devices and where the parity is stored on a
	// dedicated independent storage device. Data stored using this form of
	// RAID is able to survive a single storage device failure without data
	// loss.
	RAID4RAIDType RAIDType = "RAID4"
	// RAID5RAIDType A placement policy using parity-based protection for
	// storing stripes of 'n' logical blocks of data and one logical block of
	// parity across a set of 'n+1' independent storage devices where the
	// parity and data blocks are interleaved across the storage devices.
	// Data stored using this form of RAID is able to survive a single
	// storage device failure without data loss.
	RAID5RAIDType RAIDType = "RAID5"
	// RAID6RAIDType A placement policy using parity-based protection for
	// storing stripes of 'n' logical blocks of data and two logical blocks
	// of independent parity across a set of 'n+2' independent storage
	// devices where the parity and data blocks are interleaved across the
	// storage devices. Data stored using this form of RAID is able to
	// survive any two independent storage device failures without data loss.
	RAID6RAIDType RAIDType = "RAID6"
	// RAID10RAIDType A placement policy that creates a striped device (RAID
	// 0) over a set of mirrored devices (RAID 1). This is commonly referred
	// to as RAID 1/0. Data stored using this form of RAID is able to survive
	// storage device failures in each RAID 1 set without data loss.
	RAID10RAIDType RAIDType = "RAID10"
	// RAID01RAIDType A data placement policy that creates a mirrored device
	// (RAID 1) over a set of striped devices (RAID 0). This is commonly
	// referred to as RAID 0+1 or RAID 0/1. Data stored using this form of
	// RAID is able to survive a single RAID 0 data set failure without data
	// loss.
	RAID01RAIDType RAIDType = "RAID01"
	// RAID6TPRAIDType A placement policy that uses parity-based protection
	// for storing stripes of 'n' logical blocks of data and three logical
	// blocks of independent parity across a set of 'n+3' independent storage
	// devices where the parity and data blocks are interleaved across the
	// storage devices. This is commonly referred to as Triple Parity RAID.
	// Data stored using this form of RAID is able to survive any three
	// independent storage device failures without data loss.
	RAID6TPRAIDType RAIDType = "RAID6TP"
	// RAID1ERAIDType A placement policy that uses a form of mirroring
	// implemented over a set of independent storage devices where logical
	// blocks are duplicated on a pair of independent storage devices so that
	// data is uniformly distributed across the storage devices. This is
	// commonly referred to as RAID 1 Enhanced. Data stored using this form
	// of RAID is able to survive a single storage device failure without
	// data loss.
	RAID1ERAIDType RAIDType = "RAID1E"
	// RAID50RAIDType A placement policy that uses a RAID 0 stripe set over
	// two or more RAID 5 sets of independent storage devices. Data stored
	// using this form of RAID is able to survive a single storage device
	// failure within each RAID 5 set without data loss.
	RAID50RAIDType RAIDType = "RAID50"
	// RAID60RAIDType A placement policy that uses a RAID 0 stripe set over
	// two or more RAID 6 sets of independent storage devices. Data stored
	// using this form of RAID is able to survive two device failures within
	// each RAID 6 set without data loss.
	RAID60RAIDType RAIDType = "RAID60"
	// RAID00RAIDType A placement policy that creates a RAID 0 stripe set
	// over two or more RAID 0 sets. This is commonly referred to as RAID
	// 0+0. This form of data layout is not fault tolerant; if any storage
	// device fails there will be data loss.
	RAID00RAIDType RAIDType = "RAID00"
	// RAID10ERAIDType A placement policy that uses a RAID 0 stripe set over
	// two or more RAID 10 sets. This is commonly referred to as Enhanced
	// RAID 10. Data stored using this form of RAID is able to survive a
	// single device failure within each nested RAID 1 set without data loss.
	RAID10ERAIDType RAIDType = "RAID10E"
	// RAID1TripleRAIDType A placement policy where each logical block of
	// data is mirrored three times across a set of three independent storage
	// devices. This is commonly referred to as three-way mirroring. This
	// form of RAID can survive two device failures without data loss.
	RAID1TripleRAIDType RAIDType = "RAID1Triple"
	// RAID10TripleRAIDType A placement policy that uses a striped device
	// (RAID 0) over a set of triple mirrored devices (RAID 1Triple). This
	// form of RAID can survive up to two failures in each triple mirror set
	// without data loss.
	RAID10TripleRAIDType RAIDType = "RAID10Triple"
)

type ReadingUnits

type ReadingUnits string

ReadingUnits is the type of units used for a reading.

const (

	// RPMReadingUnits Indicates that the fan reading and thresholds are
	// measured in rotations per minute.
	RPMReadingUnits ReadingUnits = "RPM"
	// PercentReadingUnits Indicates that the fan reading and thresholds are
	// measured in percentage.
	PercentReadingUnits ReadingUnits = "Percent"
)

type Redundancy

type Redundancy struct {
	common.Entity

	// MaxNumSupported shall contain the maximum number of members allowed in
	// the redundancy group.
	MaxNumSupported int
	// MemberID value of this string shall uniquely identify the member within
	// the collection.
	MemberID string `json:"MemberId"`
	// MinNumNeeded shall contain the minimum
	// number of members allowed in the redundancy group for the current
	// redundancy mode to still be fault tolerant.
	MinNumNeeded int
	// Mode shall contain the information about the redundancy mode of this
	// subsystem.
	Mode RedundancyMode
	// RedundancyEnabled shall be a boolean indicating whether the redundancy is
	// enabled.
	RedundancyEnabled bool

	// RedundancySetCount is the number of RedundancySets.
	RedundancySetCount int `json:"RedundancySet@odata.count"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

Redundancy represents the Redundancy element property. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification. The value of this string shall be of the format for the reserved word *Redundancy*.

func GetRedundancy

func GetRedundancy(c common.Client, uri string) (*Redundancy, error)

GetRedundancy will get a Redundancy instance from the service.

func ListReferencedRedundancies

func ListReferencedRedundancies(c common.Client, link string) ([]*Redundancy, error)

ListReferencedRedundancies gets the collection of Redundancy from a provided reference.

func (*Redundancy) UnmarshalJSON

func (redundancy *Redundancy) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Redundancy object from the raw JSON.

func (*Redundancy) Update added in v0.5.0

func (redundancy *Redundancy) Update() error

Update commits updates to this object's properties to the running system.

type RedundancyMode

type RedundancyMode string

RedundancyMode is the redundancy mode.

const (
	// FailoverRedundancyMode Failure of one unit will automatically cause
	// its functions to be taken over by a standby or offline unit in the
	// redundancy set.
	FailoverRedundancyMode RedundancyMode = "Failover"
	// NMRedundancyMode Multiple units are available and active such that
	// normal operation will continue if one or more units fail.
	NMRedundancyMode RedundancyMode = "N+m"
	// SharingRedundancyMode Multiple units contribute or share such that
	// operation will continue, but at a reduced capacity, if one or more
	// units fail.
	SharingRedundancyMode RedundancyMode = "Sharing"
	// SparingRedundancyMode One or more spare units are available to take
	// over the function of a failed unit, but takeover is not automatic.
	SparingRedundancyMode RedundancyMode = "Sparing"
	// NotRedundantRedundancyMode The subsystem is not configured in a
	// redundancy mode, either due to configuration or the functionality has
	// been disabled by the user.
	NotRedundantRedundancyMode RedundancyMode = "NotRedundant"
)

type RegionSet

type RegionSet struct {
	// MemoryClassification is Classification of memory occupied by the given
	// memory region.
	MemoryClassification MemoryClassification
	// OffsetMiB is Offset with in the Memory that corresponds to the
	// starting of this memory region in MiB.
	OffsetMiB int
	// PassphraseEnabled shall be a boolean
	// indicating if the passphrase is enabled for this region.
	PassphraseEnabled bool
	// RegionID is Unique region ID representing a specific region within the
	// Memory.
	RegionID string `json:"RegionId"`
	// SizeMiB is Size of this memory region in MiB.
	SizeMiB int
}

RegionSet shall describe the memory region information within a Memory entity.

type ResetKeysType

type ResetKeysType string

ResetKeysType is method for resetting keys.

const (
	// ResetAllKeysToDefaultResetKeysType Reset the content of all UEFI
	// Secure Boot key databases (PK, KEK, DB, DBX) to their default values.
	ResetAllKeysToDefaultResetKeysType ResetKeysType = "ResetAllKeysToDefault"
	// DeleteAllKeysResetKeysType Delete the content of all UEFI Secure Boot
	// key databases (PK, KEK, DB, DBX). This puts the system in Setup Mode.
	DeleteAllKeysResetKeysType ResetKeysType = "DeleteAllKeys"
	// DeletePKResetKeysType Delete the content of the PK UEFI Secure Boot
	// database. This puts the system in Setup Mode.
	DeletePKResetKeysType ResetKeysType = "DeletePK"
)

type ResetToDefaultsType added in v0.5.0

type ResetToDefaultsType string

ResetToDefaultsType is the default to set on reset.

const (

	// ResetAllResetToDefaultsType Reset all settings to factory defaults.
	ResetAllResetToDefaultsType ResetToDefaultsType = "ResetAll"
	// PreserveNetworkAndUsersResetToDefaultsType Reset all settings except
	// network and local user names/passwords to factory defaults.
	PreserveNetworkAndUsersResetToDefaultsType ResetToDefaultsType = "PreserveNetworkAndUsers"
	// PreserveNetworkResetToDefaultsType Reset all settings except network
	// settings to factory defaults.
	PreserveNetworkResetToDefaultsType ResetToDefaultsType = "PreserveNetwork"
)

type ResetType

type ResetType string

ResetType describe the type off reset to be issue by the resource

const (
	// OnResetType shall be used to power on the machine
	OnResetType ResetType = "On"
	// ForceOnResetType shall be used to power on the machine immediately
	ForceOnResetType ResetType = "ForceOn"
	// ForceOffResetType shall be used to power off the machine without wait the OS to shutdown
	ForceOffResetType ResetType = "ForceOff"
	// ForceRestartResetType shall be used to restart the machine without wait the OS to shutdown
	ForceRestartResetType ResetType = "ForceRestart"
	// GracefulRestartResetType shall be used to restart the machine waiting the OS shutdown gracefully
	GracefulRestartResetType ResetType = "GracefulRestart"
	// GracefulShutdownResetType shall be used to restart the machine waiting the OS shutdown gracefully
	GracefulShutdownResetType ResetType = "GracefulShutdown"
	// PushPowerButtonResetType shall be used to emulate pushing the power button
	PushPowerButtonResetType ResetType = "PushPowerButton"
	// PowerCycleResetType shall be used to power cycle the machine
	PowerCycleResetType ResetType = "PowerCycle"
	// NmiResetType shall be used to trigger a crash/core dump file
	NmiResetType ResetType = "Nmi"
)

type Role

type Role struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// AssignedPrivileges shall contain the Redfish
	// privileges for this Role. For predefined Roles, this property shall
	// be read-only. For custom Roles, some implementations may not allow
	// writing to this property.
	AssignedPrivileges []PrivilegeType
	// Description provides a description of this resource.
	Description string
	// IsPredefined shall indicate whether the Role is a
	// Redfish-predefined Role rather than a custom Redfish Role.
	IsPredefined bool
	// OemPrivileges shall contain the OEM privileges for
	// this Role. For predefined Roles, this property shall be read-only.
	// For custom Roles, some implementations may not allow writing to this
	// property.
	OemPrivileges []string
	// RoleID shall contain the string name of the Role.
	// This property shall contain the same value as the Id property.
	RoleID string `json:"RoleId"`
	// contains filtered or unexported fields
}

Role represents the Redfish Role for the user account.

func GetRole

func GetRole(c common.Client, uri string) (*Role, error)

GetRole will get a Role instance from the service.

func ListReferencedRoles

func ListReferencedRoles(c common.Client, link string) ([]*Role, error)

ListReferencedRoles gets the collection of Role from a provided reference.

func (*Role) UnmarshalJSON added in v0.5.0

func (role *Role) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Role object from the raw JSON.

func (*Role) Update added in v0.5.0

func (role *Role) Update() error

Update commits updates to this object's properties to the running system.

type RoleMapping added in v0.5.0

type RoleMapping struct {

	// LocalRole shall contain the RoleId property value
	// within a Role Resource on this Redfish Service to which to map the
	// remote user or group.
	LocalRole string
	// RemoteGroup shall contain the name of the remote
	// group, or the remote role in the case of a Redfish Service, that maps
	// to the local Redfish Role to which this entity links.
	RemoteGroup string
	// RemoteUser shall contain the name of the remote user
	// that maps to the local Redfish Role to which this entity links.
	RemoteUser string
}

RoleMapping shall contain mapping rules that are used to convert the external account providers account information to the local Redfish Role.

type SMTP added in v0.5.0

type SMTP struct {

	// Authentication shall contain the authentication
	// method for the SMTP server.
	Authentication SMTPAuthenticationMethods
	// ConnectionProtocol shall contain the connection type
	// to the outgoing SMTP server.
	ConnectionProtocol SMTPConnectionProtocol
	// FromAddress shall contain the email address to use
	// for the 'from' field in an outgoing email.
	FromAddress string
	// Password shall contain the password for
	// authentication with the SMTP server. The value shall be `null` in
	// responses.
	Password string
	// Port shall contain the destination port for the SMTP
	// server.
	Port int
	// ServerAddress shall contain the address of the SMTP
	// server for outgoing email.
	ServerAddress string
	// ServiceEnabled shall indicate if SMTP for event
	// delivery is enabled.
	ServiceEnabled bool
	// Username shall contain the username for
	// authentication with the SMTP server.
	Username string
}

SMTP is shall contain settings for SMTP event delivery.

type SMTPAuthenticationMethods added in v0.5.0

type SMTPAuthenticationMethods string

SMTPAuthenticationMethods is

const (

	// NoneSMTPAuthenticationMethods shall indicate authentication is not
	// required.
	NoneSMTPAuthenticationMethods SMTPAuthenticationMethods = "None"
	// AutoDetectSMTPAuthenticationMethods shall indicate authentication is
	// auto-detected.
	AutoDetectSMTPAuthenticationMethods SMTPAuthenticationMethods = "AutoDetect"
	// PlainSMTPAuthenticationMethods shall indicate authentication conforms
	// to the RFC4954-defined AUTH PLAIN mechanism.
	PlainSMTPAuthenticationMethods SMTPAuthenticationMethods = "Plain"
	// LoginSMTPAuthenticationMethods shall indicate authentication conforms
	// to the RFC4954-defined AUTH LOGIN mechanism.
	LoginSMTPAuthenticationMethods SMTPAuthenticationMethods = "Login"
	// CRAMMD5SMTPAuthenticationMethods shall indicate authentication
	// conforms to the RFC4954-defined AUTH CRAM-MD5 mechanism.
	CRAMMD5SMTPAuthenticationMethods SMTPAuthenticationMethods = "CRAM_MD5"
)

type SMTPConnectionProtocol added in v0.5.0

type SMTPConnectionProtocol string

SMTPConnectionProtocol is

const (

	// NoneSMTPConnectionProtocol shall indicate the connection is in clear
	// text.
	NoneSMTPConnectionProtocol SMTPConnectionProtocol = "None"
	// AutoDetectSMTPConnectionProtocol shall indicate the connection is
	// auto-detected.
	AutoDetectSMTPConnectionProtocol SMTPConnectionProtocol = "AutoDetect"
	// StartTLSSMTPConnectionProtocol shall indicate the connection conforms
	// to the RFC3207-defined StartTLS extension.
	StartTLSSMTPConnectionProtocol SMTPConnectionProtocol = "StartTLS"
	// TLSSSLSMTPConnectionProtocol shall indicate the connection is
	// TLS/SSL.
	TLSSSLSMTPConnectionProtocol SMTPConnectionProtocol = "TLS_SSL"
)

type SNMPAuthenticationProtocols added in v0.5.0

type SNMPAuthenticationProtocols string

SNMPAuthenticationProtocols is

const (

	// NoneSNMPAuthenticationProtocols shall indicate authentication is not
	// required.
	NoneSNMPAuthenticationProtocols SNMPAuthenticationProtocols = "None"
	// CommunityStringSNMPAuthenticationProtocols shall indicate
	// authentication using SNMP community strings and the value of
	// TrapCommunity.
	CommunityStringSNMPAuthenticationProtocols SNMPAuthenticationProtocols = "CommunityString"
	// HMACMD5SNMPAuthenticationProtocols shall indicate authentication
	// conforms to the RFC3414-defined HMAC-MD5-96 authentication protocol.
	HMACMD5SNMPAuthenticationProtocols SNMPAuthenticationProtocols = "HMAC_MD5"
	// HMACSHA96SNMPAuthenticationProtocols shall indicate authentication
	// conforms to the RFC3414-defined HMAC-SHA-96 authentication protocol.
	HMACSHA96SNMPAuthenticationProtocols SNMPAuthenticationProtocols = "HMAC_SHA96"
)

type SNMPEncryptionProtocols added in v0.5.0

type SNMPEncryptionProtocols string

SNMPEncryptionProtocols is

const (

	// NoneSNMPEncryptionProtocols shall indicate there is no encryption.
	NoneSNMPEncryptionProtocols SNMPEncryptionProtocols = "None"
	// CBCDESSNMPEncryptionProtocols shall indicate encryption conforms to
	// the RFC3414-defined CBC-DES encryption protocol.
	CBCDESSNMPEncryptionProtocols SNMPEncryptionProtocols = "CBC_DES"
	// CFB128AES128SNMPEncryptionProtocols shall indicate encryption
	// conforms to the RFC3826-defined CFB128-AES-128 encryption protocol.
	CFB128AES128SNMPEncryptionProtocols SNMPEncryptionProtocols = "CFB128_AES128"
)

type SNMPSettings added in v0.5.0

type SNMPSettings struct {

	// AuthenticationKey is used for SNMPv3 authentication. The value shall
	// be `null` in responses.
	AuthenticationKey string
	// AuthenticationProtocol is This property shall contain the SNMPv3
	// authentication protocol.
	AuthenticationProtocol SNMPAuthenticationProtocols
	// EncryptionKey is This property shall contain the key for SNMPv3
	// encryption. The value shall be `null` in responses.
	EncryptionKey string
	// EncryptionProtocol is This property shall contain the SNMPv3
	// encryption protocol.
	EncryptionProtocol SNMPEncryptionProtocols
	// TrapCommunity is This property shall contain the SNMP trap community
	// string. The value shall be `null` in responses.
	TrapCommunity string
}

SNMPSettings is shall contain the settings for an SNMP event destination.

type SNMPUserInfo added in v0.5.0

type SNMPUserInfo struct {

	// AuthenticationKey shall contain the key for SNMPv3
	// authentication. The value shall be `null` in responses. This
	// property accepts a passphrase or a hex-encoded key. If the string
	// starts with `Passphrase:`, the remainder of the string shall be the
	// passphrase and shall be converted to the key as described in the
	// 'Password to Key Algorithm' section of RFC3414. If the string starts
	// with `Hex:`, then the remainder of the string shall be the key encoded
	// in hexadecimal notation. If the string starts with neither, the full
	// string shall be a passphrase and shall be converted to the key as
	// described in the 'Password to Key Algorithm' section of RFC3414. The
	// passphrase may contain any printable characters except for the double
	// quotation mark.
	AuthenticationKey string
	// AuthenticationKeySet shall contain `true` if a valid
	// value was provided for the AuthenticationKey property. Otherwise, the
	// property shall contain `false`.
	AuthenticationKeySet bool
	// AuthenticationProtocol shall contain the SNMPv3
	// authentication protocol.
	AuthenticationProtocol SNMPAuthenticationProtocols
	// EncryptionKey shall contain the key for SNMPv3
	// encryption. The value shall be `null` in responses. This property
	// accepts a passphrase or a hex-encoded key. If the string starts with
	// `Passphrase:`, the remainder of the string shall be the passphrase and
	// shall be converted to the key as described in the 'Password to Key
	// Algorithm' section of RFC3414. If the string starts with `Hex:`, then
	// the remainder of the string shall be the key encoded in hexadecimal
	// notation. If the string starts with neither, the full string shall be
	// a passphrase and shall be converted to the key as described in the
	// 'Password to Key Algorithm' section of RFC3414. The passphrase may
	// contain any printable characters except for the double quotation mark.
	EncryptionKey string
	// EncryptionKeySet shall contain `true` if a valid
	// value was provided for the EncryptionKey property. Otherwise, the
	// property shall contain `false`.
	EncryptionKeySet bool
	// EncryptionProtocol shall contain the SNMPv3
	// encryption protocol.
	EncryptionProtocol SNMPEncryptionProtocols
}

SNMPUserInfo is shall contain the SNMP settings for an account.

type SSEFilterPropertiesSupported

type SSEFilterPropertiesSupported struct {
	// EventFormatType shall be a boolean indicating if this service supports
	// the use of the EventFormatType property in the $filter query parameter as
	// described by the specification.
	EventFormatType bool
	// MessageID shall be a boolean indicating if this service supports the use
	// of the MessageId property in the $filter query parameter as described by
	// the specification.
	MessageID bool `json:"MessageId"`
	// MetricReportDefinition shall be a boolean indicating if this service
	// supports the use of the MetricReportDefinition property in the $filter
	// query parameter as described by the specification.
	MetricReportDefinition bool
	// OriginResource shall be a boolean indicating if this service supports the
	// use of the OriginResource property in the $filter query parameter as
	// described by the specification.
	OriginResource bool
	// RegistryPrefix shall be a boolean indicating if this service supports the
	// use of the RegistryPrefix property in the $filter query parameter as
	// described by the specification.
	RegistryPrefix bool
	// ResourceType shall be a boolean indicating if this service supports the
	// use of the ResourceType property in the $filter query parameter as
	// described by the specification.
	ResourceType bool
}

SSEFilterPropertiesSupported shall contain a set of properties that indicate which properties are supported in the $filter query parameter for the URI indicated by the ServerSentEventUri property.

type SecureBoot

type SecureBoot struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// SecureBootCurrentBoot shall indicate the UEFI Secure Boot state during
	// the current boot cycle.
	SecureBootCurrentBoot SecureBootCurrentBootType
	// SecureBootEnable set to true enables UEFI Secure Boot, and setting it to
	// false disables it. This property can be enabled only in UEFI boot mode.
	SecureBootEnable bool
	// SecureBootMode shall contain the current Secure Boot mode, as defined in
	// the UEFI Specification.
	SecureBootMode SecureBootModeType
	// contains filtered or unexported fields
}

SecureBoot is used to represent a UEFI Secure Boot resource.

func GetSecureBoot

func GetSecureBoot(c common.Client, uri string) (*SecureBoot, error)

GetSecureBoot will get a SecureBoot instance from the service.

func ListReferencedSecureBoots

func ListReferencedSecureBoots(c common.Client, link string) ([]*SecureBoot, error)

ListReferencedSecureBoots gets the collection of SecureBoot from a provided reference.

func (*SecureBoot) ResetKeys

func (secureboot *SecureBoot) ResetKeys(resetType ResetKeysType) error

ResetKeys shall perform a reset of the Secure Boot key databases. The ResetAllKeysToDefault value shall reset the UEFI Secure Boot key databases to their default values. The DeleteAllKeys value shall delete the content of the UEFI Secure Boot key databases. The DeletePK value shall delete the content of the PK Secure boot key.

func (*SecureBoot) UnmarshalJSON

func (secureboot *SecureBoot) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SecureBoot object from the raw JSON.

func (*SecureBoot) Update added in v0.5.0

func (secureboot *SecureBoot) Update() error

Update commits updates to this object's properties to the running system.

type SecureBootCurrentBootType

type SecureBootCurrentBootType string

SecureBootCurrentBootType is the type of secure boot.

const (

	// EnabledSecureBootCurrentBootType Secure Boot is currently enabled.
	EnabledSecureBootCurrentBootType SecureBootCurrentBootType = "Enabled"
	// DisabledSecureBootCurrentBootType Secure Boot is currently disabled.
	DisabledSecureBootCurrentBootType SecureBootCurrentBootType = "Disabled"
)

type SecureBootModeType

type SecureBootModeType string

SecureBootModeType is the boot mode.

const (

	// SetupModeSecureBootModeType Secure Boot is currently in Setup Mode.
	SetupModeSecureBootModeType SecureBootModeType = "SetupMode"
	// UserModeSecureBootModeType Secure Boot is currently in User Mode.
	UserModeSecureBootModeType SecureBootModeType = "UserMode"
	// AuditModeSecureBootModeType Secure Boot is currently in Audit Mode.
	AuditModeSecureBootModeType SecureBootModeType = "AuditMode"
	// DeployedModeSecureBootModeType Secure Boot is currently in Deployed
	// Mode.
	DeployedModeSecureBootModeType SecureBootModeType = "DeployedMode"
)

type SecurityCapabilities

type SecurityCapabilities struct {
	// ConfigurationLockCapable shall indicate whether this memory supports the
	// locking (freezing) of the configuration.
	ConfigurationLockCapable bool
	// DataLockCapable shall indicate whether this memory supports the locking
	// of data access.
	DataLockCapable bool
	// MaxPassphraseCount is Maximum number of passphrases supported for this
	// Memory.
	MaxPassphraseCount int
	// PassphraseCapable is Memory passphrase set capability.
	PassphraseCapable bool
	// PassphraseLockLimit shall be the maximum number of incorrect passphrase
	// access attempts allowed before access to data is locked. A value of zero
	// shall indicate that there is no limit to the number of attempts.
	PassphraseLockLimit int
}

SecurityCapabilities shall contain properties which describe the security capabilities of a Memory entity.

type SecurityStates

type SecurityStates string

SecurityStates is memory security state.

const (
	// EnabledSecurityStates Secure mode is enabled and access to the data is
	// allowed.
	EnabledSecurityStates SecurityStates = "Enabled"
	// DisabledSecurityStates Secure mode is disabled.
	DisabledSecurityStates SecurityStates = "Disabled"
	// UnlockedSecurityStates Secure mode is enabled and access to the data
	// is unlocked.
	UnlockedSecurityStates SecurityStates = "Unlocked"
	// LockedSecurityStates Secure mode is enabled and access to the data is
	// locked.
	LockedSecurityStates SecurityStates = "Locked"
	// FrozenSecurityStates Secure state is frozen and can not be modified
	// until reset.
	FrozenSecurityStates SecurityStates = "Frozen"
	// PassphraselimitSecurityStates Number of attempts to unlock the Memory
	// exceeded limit.
	PassphraselimitSecurityStates SecurityStates = "Passphraselimit"
)

type SensorType

type SensorType string

SensorType is

const (

	// PlatformSecurityViolationAttemptSensorType A platform security
	// sensor.
	PlatformSecurityViolationAttemptSensorType SensorType = "Platform Security Violation Attempt"
	// TemperatureSensorType A temperature sensor.
	TemperatureSensorType SensorType = "Temperature"
	// VoltageSensorType A voltage sensor.
	VoltageSensorType SensorType = "Voltage"
	// CurrentSensorType A current sensor.
	CurrentSensorType SensorType = "Current"
	// FanSensorType A fan sensor.
	FanSensorType SensorType = "Fan"
	// PhysicalChassisSecuritySensorType A physical security sensor.
	PhysicalChassisSecuritySensorType SensorType = "Physical Chassis Security"
	// ProcessorSensorType A sensor for a processor.
	ProcessorSensorType SensorType = "Processor"
	// PowerSupplyConverterSensorType A sensor for a power supply or DC-
	// to-DC converter.
	PowerSupplyConverterSensorType SensorType = "Power Supply / Converter"
	// PowerUnitSensorType A sensor for a power unit.
	PowerUnitSensorType SensorType = "PowerUnit"
	// CoolingDeviceSensorType A sensor for a cooling device.
	CoolingDeviceSensorType SensorType = "CoolingDevice"
	// OtherUnitsBasedSensorSensorType A sensor for a miscellaneous analog
	// sensor.
	OtherUnitsBasedSensorSensorType SensorType = "Other Units-based Sensor"
	// MemorySensorType A sensor for a memory device.
	MemorySensorType SensorType = "Memory"
	// DriveSlotBaySensorType A sensor for a drive slot or bay.
	DriveSlotBaySensorType SensorType = "Drive Slot/Bay"
	// POSTMemoryResizeSensorType A sensor for a POST memory resize event.
	POSTMemoryResizeSensorType SensorType = "POST Memory Resize"
	// SystemFirmwareProgressSensorType A sensor for a system firmware
	// progress event.
	SystemFirmwareProgressSensorType SensorType = "System Firmware Progress"
	// EventLoggingDisabledSensorType A sensor for the event log.
	EventLoggingDisabledSensorType SensorType = "Event Logging Disabled"
	// SystemEventSensorType A sensor for a system event.
	SystemEventSensorType SensorType = "System Event"
	// CriticalInterruptSensorType A sensor for a critical interrupt event.
	CriticalInterruptSensorType SensorType = "Critical Interrupt"
	// ButtonSwitchSensorType A sensor for a button or switch.
	ButtonSwitchSensorType SensorType = "Button/Switch"
	// ModuleBoardSensorType A sensor for a module or board.
	ModuleBoardSensorType SensorType = "Module/Board"
	// MicrocontrollerCoprocessorSensorType A sensor for a microcontroller
	// or coprocessor.
	MicrocontrollerCoprocessorSensorType SensorType = "Microcontroller/Coprocessor"
	// AddinCardSensorType A sensor for an add-in card.
	AddinCardSensorType SensorType = "Add-in Card"
	// ChassisSensorType A sensor for a chassis.
	ChassisSensorType SensorType = "Chassis"
	// ChipSetSensorType A sensor for a chipset.
	ChipSetSensorType SensorType = "ChipSet"
	// OtherFRUSensorType A sensor for an other type of FRU.
	OtherFRUSensorType SensorType = "Other FRU"
	// CableInterconnectSensorType A sensor for a cable or interconnect type
	// of device.
	CableInterconnectSensorType SensorType = "Cable/Interconnect"
	// TerminatorSensorType A sensor for a terminator.
	TerminatorSensorType SensorType = "Terminator"
	// SystemBootRestartSensorType A sensor for a system boot or restart
	// event.
	SystemBootRestartSensorType SensorType = "SystemBoot/Restart"
	// BootErrorSensorType A sensor for a boot error event.
	BootErrorSensorType SensorType = "Boot Error"
	// BaseOSBootInstallationStatusSensorType A sensor for a base OS boot or
	// installation status event.
	BaseOSBootInstallationStatusSensorType SensorType = "BaseOSBoot/InstallationStatus"
	// OSStopShutdownSensorType A sensor for an OS stop or shutdown event
	OSStopShutdownSensorType SensorType = "OS Stop/Shutdown"
	// SlotConnectorSensorType A sensor for a slot or connector.
	SlotConnectorSensorType SensorType = "Slot/Connector"
	// SystemACPIPowerStateSensorType A sensor for an ACPI power state
	// event.
	SystemACPIPowerStateSensorType SensorType = "System ACPI PowerState"
	// WatchdogSensorType A sensor for a watchdog event.
	WatchdogSensorType SensorType = "Watchdog"
	// PlatformAlertSensorType A sensor for a platform alert event.
	PlatformAlertSensorType SensorType = "Platform Alert"
	// EntityPresenceSensorType A sensor for an entity presence event.
	EntityPresenceSensorType SensorType = "Entity Presence"
	// MonitorASICICSensorType A sensor for a monitor ASIC or IC.
	MonitorASICICSensorType SensorType = "Monitor ASIC/IC"
	// LANSensorType A sensor for a LAN device.
	LANSensorType SensorType = "LAN"
	// ManagementSubsystemHealthSensorType A sensor for a management
	// subsystem health event.
	ManagementSubsystemHealthSensorType SensorType = "Management Subsystem Health"
	// BatterySensorType A sensor for a battery.
	BatterySensorType SensorType = "Battery"
	// SessionAuditSensorType A sensor for a session audit event.
	SessionAuditSensorType SensorType = "Session Audit"
	// VersionChangeSensorType A sensor for a version change event.
	VersionChangeSensorType SensorType = "Version Change"
	// FRUStateSensorType A sensor for a FRU state event.
	FRUStateSensorType SensorType = "FRUState"
	// OEMSensorType An OEM defined sensor.
	OEMSensorType SensorType = "OEM"
)

type SerialConnectTypesSupported

type SerialConnectTypesSupported string

SerialConnectTypesSupported is serial connection type.

const (

	// SSHSerialConnectTypesSupported The controller supports a Serial
	// Console connection using the SSH protocol.
	SSHSerialConnectTypesSupported SerialConnectTypesSupported = "SSH"
	// TelnetSerialConnectTypesSupported The controller supports a Serial
	// Console connection using the Telnet protocol.
	TelnetSerialConnectTypesSupported SerialConnectTypesSupported = "Telnet"
	// IPMISerialConnectTypesSupported The controller supports a Serial
	// Console connection using the IPMI Serial-over-LAN (SOL) protocol.
	IPMISerialConnectTypesSupported SerialConnectTypesSupported = "IPMI"
	// OemSerialConnectTypesSupported The controller supports a Serial
	// Console connection using an OEM-specific protocol.
	OemSerialConnectTypesSupported SerialConnectTypesSupported = "Oem"
)

type SerialConsole

type SerialConsole struct {
	// ConnectTypesSupported shall be an array of the enumerations provided
	// here. SSH shall be included if the Secure Shell (SSH) protocol is
	// supported. Telnet shall be included if the Telnet protocol is supported.
	// IPMI shall be included if the IPMI (Serial-over-LAN) protocol is supported.
	ConnectTypesSupported []SerialConnectTypesSupported
	// MaxConcurrentSessions shall contain the
	// maximum number of concurrent service sessions supported by the
	// implementation.
	MaxConcurrentSessions int
	// ServiceEnabled is used for the service. The value shall be true if
	// enabled and false if disabled.
	ServiceEnabled bool
}

SerialConsole shall describe a Serial Console service of a manager.

type Session

type Session struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// OemSessionType is used to report the OEM-specific session type. Thus,
	// this property shall represent the type of OEM session that is
	// currently active.
	OemSessionType string
	// Password shall be the password for this session. The value shall be null
	// for GET requests.
	Password string
	// SessionType shall represent the type of session that is currently active.
	SessionType SessionTypes
	// UserName shall be the UserName that matches a registered account
	// identified by a ManagerAccount resource registered with the Account
	// Service.
	UserName string
}

Session describes a single connection (session) between a client and a Redfish service instance.

func GetSession

func GetSession(c common.Client, uri string) (*Session, error)

GetSession will get a Session instance from the Redfish service.

func ListReferencedSessions

func ListReferencedSessions(c common.Client, link string) ([]*Session, error)

ListReferencedSessions gets the collection of Sessions

type SessionTypes

type SessionTypes string

SessionTypes is the type of session.

const (

	// HostConsoleSessionTypes The Host's console, which could be connected
	// via Telnet, SSH, or other protocol.
	HostConsoleSessionTypes SessionTypes = "HostConsole"
	// ManagerConsoleSessionTypes The Manager's console, which could be
	// connected via Telnet, SSH, SM CLP, or other protocol.
	ManagerConsoleSessionTypes SessionTypes = "ManagerConsole"
	// IPMISessionTypes Intelligent Platform Management Interface.
	IPMISessionTypes SessionTypes = "IPMI"
	// KVMIPSessionTypes Keyboard-Video-Mouse over IP Session.
	KVMIPSessionTypes SessionTypes = "KVMIP"
	// OEMSessionTypes OEM Type. Please look at OemSessionType for OEM
	// session type(s).
	OEMSessionTypes SessionTypes = "OEM"
	// RedfishSessionTypes A Redfish Session.
	RedfishSessionTypes SessionTypes = "Redfish"
	// VirtualMediaSessionTypes Virtual Media.
	VirtualMediaSessionTypes SessionTypes = "VirtualMedia"
	// WebUISessionTypes A non-Redfish Web User Interface session such as a
	// graphical interface or other kinds of web-based protocols.
	WebUISessionTypes SessionTypes = "WebUI"
)

type SimpleStorage

type SimpleStorage struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Actions is The Actions property shall contain the available actions
	// for this resource.
	Actions string
	// Description provides a description of this resource.
	Description string
	// Devices shall contain a list of storage devices
	// associated with this resource.
	Devices []Device
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// UefiDevicePath is used to identify and locate the specific storage
	// controller.
	UefiDevicePath string
	// contains filtered or unexported fields
}

SimpleStorage is used to represent a storage controller and its directly-attached devices.

func GetSimpleStorage

func GetSimpleStorage(c common.Client, uri string) (*SimpleStorage, error)

GetSimpleStorage will get a SimpleStorage instance from the service.

func ListReferencedSimpleStorages

func ListReferencedSimpleStorages(c common.Client, link string) ([]*SimpleStorage, error)

ListReferencedSimpleStorages gets the collection of SimpleStorage from a provided reference.

func (*SimpleStorage) Chassis

func (simplestorage *SimpleStorage) Chassis() (*Chassis, error)

Chassis gets the chassis containing this storage service.

func (*SimpleStorage) UnmarshalJSON

func (simplestorage *SimpleStorage) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SimpleStorage object from the raw JSON.

type SoftwareInventory added in v0.9.0

type SoftwareInventory struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// LowestSupportedVersion is used for the Version property.
	LowestSupportedVersion string
	// Manufacturer is This property shall represent the name of the
	// manufacturer or producer of this software.
	Manufacturer string
	// Oem is This property shall contain the Oem extensions.  All values for
	// properties that this object contains shall conform to the Redfish
	// Specification-described requirements.
	Oem interface{}
	// ReleaseDate is This property shall contain the date of release or
	// production for this software.  If the time of day is unknown, the time
	// of day portion of the property shall contain `00:00:00Z`.
	ReleaseDate string
	// SoftwareID is This property shall represent an implementation-specific
	// label that identifies this software.  This string correlates with a
	// component repository or database.
	SoftwareID string
	// Status is This property shall contain any status or health properties
	// of the Resource.
	Status common.Status
	// UefiDevicePaths is This property shall contain a list UEFI device
	// paths of the components associated with this software inventory item.
	// The UEFI device paths shall be formatted as defined by the UEFI
	// Specification.
	UefiDevicePaths []string
	// Updateable is This property shall indicate whether the Update Service
	// can update this software.  If `true`, the Service can update this
	// software.  If `false`, the Service cannot update this software and the
	// software is for reporting purposes only.
	Updateable bool
	// Version is This property shall contain the version of this software.
	Version string
	// WriteProtected is This property shall indicate whether the software
	// image can be overwritten, where a value `true` shall indicate that the
	// software cannot be altered or overwritten.
	WriteProtected bool
}

SoftwareInventory is This Resource contains a single software component that this Redfish Service manages.

func GetSoftwareInventory added in v0.9.0

func GetSoftwareInventory(c common.Client, uri string) (*SoftwareInventory, error)

GetSoftwareInventory will get a SoftwareInventory instance from the service.

func ListReferencedSoftwareInventories added in v0.9.0

func ListReferencedSoftwareInventories(c common.Client, link string) ([]*SoftwareInventory, error)

ListReferencedSoftwareInventories gets the collection of SoftwareInventory from a provided reference.

type StatelessAddressAutoConfiguration

type StatelessAddressAutoConfiguration struct {
	// IPv4AutoConfigEnabled shall indicate whether IPv4 Stateless Address
	// Auto-Configuration (SLAAC) is enabled for this interface.
	IPv4AutoConfigEnabled bool
	// IPv6AutoConfigEnabled shall indicate whether IPv6 Stateless Address
	// Auto-Configuration (SLAAC) is enabled for this interface.
	IPv6AutoConfigEnabled bool
}

StatelessAddressAutoConfiguration describes the IPv4 and IPv6 Stateless Address Automatic Configuration (SLAAC) for this interface.

type StatusIndicator

type StatusIndicator string

StatusIndicator is the drive's status.

const (
	// OKStatusIndicator indicates the drive is OK.
	OKStatusIndicator StatusIndicator = "OK"
	// FailStatusIndicator The drive has failed.
	FailStatusIndicator StatusIndicator = "Fail"
	// RebuildStatusIndicator indicates the drive is being rebuilt.
	RebuildStatusIndicator StatusIndicator = "Rebuild"
	// PredictiveFailureAnalysisStatusIndicator indicates the drive is still working
	// but predicted to fail soon.
	PredictiveFailureAnalysisStatusIndicator StatusIndicator = "PredictiveFailureAnalysis"
	// HotspareStatusIndicator indicates the drive is marked to be automatically
	// rebuilt and used as a replacement for a failed drive.
	HotspareStatusIndicator StatusIndicator = "Hotspare"
	// InACriticalArrayStatusIndicator The array that this drive is a part of
	// is degraded.
	InACriticalArrayStatusIndicator StatusIndicator = "InACriticalArray"
	// InAFailedArrayStatusIndicator The array that this drive is a part of
	// is failed.
	InAFailedArrayStatusIndicator StatusIndicator = "InAFailedArray"
)

type Storage

type Storage struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string

	// DrivesCount is the number of drives.
	DrivesCount int `json:"Drives@odata.count"`
	// Redundancy shall contain redundancy information for the storage subsystem.
	Redundancy []Redundancy
	// RedundancyCount is the number of Redundancy objects.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// StorageControllers is a collection that indicates all the storage
	// controllers that this resource represents.
	StorageControllers []StorageController
	// StorageControllersCount is the number of
	StorageControllersCount int `json:"StorageControllers@odata.count"`

	// EnclosuresCount is the number of enclosures.
	EnclosuresCount int
	// contains filtered or unexported fields
}

Storage is used to represent resources that represent a storage subsystem in the Redfish specification.

func GetStorage

func GetStorage(c common.Client, uri string) (*Storage, error)

GetStorage will get a Storage instance from the service.

func ListReferencedStorages

func ListReferencedStorages(c common.Client, link string) ([]*Storage, error)

ListReferencedStorages gets the collection of Storage from a provided reference.

func (*Storage) Drives

func (storage *Storage) Drives() ([]*Drive, error)

Drives gets the drives attached to the storage controllers that this resource represents.

func (*Storage) Enclosures

func (storage *Storage) Enclosures() ([]*Chassis, error)

Enclosures gets the physical containers attached to this resource.

func (*Storage) GetOperationApplyTimeValues added in v0.6.0

func (storage *Storage) GetOperationApplyTimeValues() ([]common.OperationApplyTime, error)

GetOperationApplyTimeValues returns the OperationApplyTime values applicable for this storage

func (*Storage) SetEncryptionKey

func (storage *Storage) SetEncryptionKey(key string) error

SetEncryptionKey shall set the encryption key for the storage subsystem.

func (*Storage) UnmarshalJSON

func (storage *Storage) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Storage object from the raw JSON.

func (*Storage) Volumes

func (storage *Storage) Volumes() ([]*Volume, error)

Volumes gets the volumes associated with this storage subsystem.

type StorageController

type StorageController struct {
	common.Entity

	// AssetTag is used to track the storage controller for inventory
	// purposes.
	AssetTag string
	// CacheSummary shall contain properties which describe the cache memory for
	// the current resource.
	CacheSummary CacheSummary
	// FirmwareVersion shall contain the firmware version as defined by the
	// manufacturer for the associated storage controller.
	FirmwareVersion string
	// Identifiers shall contain a list of all known durable names for the
	// associated storage controller.
	Identifiers []common.Identifier
	// Location shall contain location information of the
	// associated storage controller.
	Location common.Location
	// Manufacturer shall be the name of the organization responsible for
	// producing the storage controller. This organization might be the entity
	// from whom the storage controller is purchased, but this is not
	// necessarily true.
	Manufacturer string
	// MemberID shall uniquely identify the member within the collection.
	MemberID string
	// Model shall be the name by which the manufacturer generally refers to the
	// storage controller.
	Model string
	// PCIeInterface is used to connect this PCIe-based controller to its host.
	PCIeInterface PCIeInterface
	// PartNumber shall be a part number assigned by the organization that is
	// responsible for producing or manufacturing the storage controller.
	PartNumber string
	// SKU shall be the stock-keeping unit number for this storage storage
	// controller.
	SKU string
	// SerialNumber is used to identify the storage controller.
	SerialNumber string
	// SpeedGbps shall represent the maximum supported speed of the Storage bus
	// interface (in Gigabits per second). The interface specified connects the
	// controller to the storage devices, not the controller to a host (e.g. SAS
	// bus, not PCIe host bus).
	SpeedGbps int
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// SupportedControllerProtocols shall be the set of protocols this storage
	// controller can be communicated to.
	SupportedControllerProtocols []common.Protocol
	// SupportedDeviceProtocols shall be the set of protocols this storage
	// controller can use to communicate with attached devices.
	SupportedDeviceProtocols []common.Protocol
	// SupportedRAIDTypes shall contain all the RAIDType values supported by the
	// current resource.
	SupportedRAIDTypes []RAIDType

	// EndpointsCount is the number of enclosures.
	EndpointsCount int

	// StorageServicesCount is the number of storage services.
	StorageServicesCount int
	// contains filtered or unexported fields
}

StorageController is used to represent a resource that represents a storage controller in the Redfish specification.

func GetStorageController

func GetStorageController(c common.Client, uri string) (*StorageController, error)

GetStorageController will get a Storage controller instance from the service.

func ListReferencedStorageControllers

func ListReferencedStorageControllers(c common.Client, link string) ([]*StorageController, error)

ListReferencedStorageControllers gets the collection of StorageControllers from a provided reference.

func (*StorageController) Assembly

func (storagecontroller *StorageController) Assembly() (*Assembly, error)

Assembly gets the storage controller's assembly.

func (*StorageController) Endpoints

func (storagecontroller *StorageController) Endpoints() ([]*Endpoint, error)

Endpoints gets the storage controller's endpoints.

func (*StorageController) UnmarshalJSON

func (storagecontroller *StorageController) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a StorageController object from the raw JSON.

func (*StorageController) Update added in v0.5.0

func (storagecontroller *StorageController) Update() error

Update commits updates to this object's properties to the running system.

type SubscriptionType

type SubscriptionType string

SubscriptionType is the type of subscription used.

const (

	// RedfishEventSubscriptionType The subscription follows the Redfish
	// specification for event notifications, which is done by a service
	// sending an HTTP POST to the subscriber's destination URI.
	RedfishEventSubscriptionType SubscriptionType = "RedfishEvent"
	// SSESubscriptionType The subscription follows the HTML5 Server-Sent
	// Event definition for event notifications.
	SSESubscriptionType SubscriptionType = "SSE"
	// SNMPTrapSubscriptionType shall indicate the subscription follows the
	// various versions of SNMP Traps for event notifications.
	// EventDestinationProtocol shall specify the appropriate version of
	// SNMP.
	SNMPTrapSubscriptionType SubscriptionType = "SNMPTrap"
	// SNMPInformSubscriptionType shall indicate the subscription follows
	// versions 2 and 3 of SNMP Inform for event notifications.
	// EventDestinationProtocol shall specify the appropriate version of
	// SNMP.
	SNMPInformSubscriptionType SubscriptionType = "SNMPInform"
)

type SupportedEthernetCapabilities

type SupportedEthernetCapabilities string

SupportedEthernetCapabilities is

const (
	// WakeOnLANSupportedEthernetCapabilities Wake on LAN (WoL) is supported
	// on this port.
	WakeOnLANSupportedEthernetCapabilities SupportedEthernetCapabilities = "WakeOnLAN"
	// EEESupportedEthernetCapabilities IEEE 802.3az Energy Efficient
	// Ethernet (EEE) is supported on this port.
	EEESupportedEthernetCapabilities SupportedEthernetCapabilities = "EEE"
)

type SupportedLinkCapabilities

type SupportedLinkCapabilities struct {
	// AutoSpeedNegotiation shall be indicate whether the port is capable of
	// auto-negotiating speed.
	AutoSpeedNegotiation bool
	// CapableLinkSpeedMbps shall be all of the possible network link speed
	// capabilities of this port.
	CapableLinkSpeedMbps []int
	// LinkNetworkTechnology shall be a network technology capability of this
	// port.
	LinkNetworkTechnology LinkNetworkTechnology
}

SupportedLinkCapabilities shall describe the static capabilities of an associated port, irrespective of transient conditions such as cabling, interface module presence, or remote link partner status or configuration.

type SystemType

type SystemType string

SystemType is the type of system.

const (

	// PhysicalSystemType is a System Type of Physical is typically used when
	// representing the hardware aspects of a system such as is done by a
	// management controller.
	PhysicalSystemType SystemType = "Physical"
	// VirtualSystemType is a System Type of Virtual is typically used when
	// representing a system that is actually a virtual machine instance.
	VirtualSystemType SystemType = "Virtual"
	// OSSystemType is a System Type of OS is typically used when representing
	// an OS or hypervisor view of the system.
	OSSystemType SystemType = "OS"
	// PhysicallyPartitionedSystemType is a System Type of PhysicallyPartition is
	// typically used when representing a single system constructed from
	// one or more physical systems via a firmware or hardware-based service.
	PhysicallyPartitionedSystemType SystemType = "PhysicallyPartitioned"
	// VirtuallyPartitionedSystemType is a System Type of VirtuallyPartition is
	// typically used when representing a single system constructed from
	// one or more virtual systems via a software-based service.
	VirtuallyPartitionedSystemType SystemType = "VirtuallyPartitioned"
	// ComposedSystemType is a System Type of Composed is typically used when
	// representing a single system constructed from disaggregated resource
	// via the Redfish Composition service.
	ComposedSystemType SystemType = "Composed"
)

type Task

type Task struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// EndTime shall indicate the time the task was completed.
	EndTime string
	// HidePayload 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.
	HidePayload bool

	// Payload shall contain information detailing the HTTP and JSON payload
	// information for executing this task. This object shall not be included in
	// the response if the HidePayload property is set to True.
	Payload Payload
	// PercentComplete shall indicate the completion progress of the task,
	// reported in percent of completion. If the task has not been started, the
	// value shall be zero.
	PercentComplete int
	// StartTime shall indicate the time the task was started.
	StartTime string
	// TaskMonitor shall contain a URI to Task Monitor as defined in the Redfish
	// Specification.
	TaskMonitor string
	// TaskState is used to indicate that the task is a new task which has
	// just been instantiated and is in the initial state and indicates it
	// has never been started.  Starting shall be used to indicate that the
	// task is moving from the New, Suspended, or Service states into the
	// Running state.  Running shall be used to indicate that the Task is
	// running.  Suspended shall be used to indicate  that the Task is
	// stopped (e.g., by a user), but can be restarted in a seamless manner.
	// Interrupted shall be used to indicate  that the Task was interrupted
	// (e.g., by a server crash) in the middle of processing, and the user
	// should either re-run/restart the Task.  Pending shall be used to
	// indicate  that the Task has been queued and will be scheduled for
	// processing as soon as resources are available to handle the request.
	// Stopping shall be used to indicate that the Task is in the process of
	// moving to a Completed, Killed, or Exception state.  Completed shall be
	// used to indicate that the task has completed normally.  Killed shall
	// be used to indicate  that the task has been stopped by a Kill state
	// change request (non-graceful shutdown).  Exception shall be used to
	// indicate  that the Task is in an abnormal state that might be
	// indicative of an error condition.  Service shall be used to indicate
	// that the Task is in a state that supports problem discovery, or
	// resolution, or both.  This state is used when a corrective action is
	// possible.
	TaskState TaskState
	// TaskStatus shall be the completion status of the task, as defined in the
	// Status section of the Redfish specification and shall not be set until
	// the task has completed.
	TaskStatus common.Health
	// contains filtered or unexported fields
}

Task is used to represent a Task for a Redfish implementation.

func GetTask

func GetTask(c common.Client, uri string) (*Task, error)

GetTask will get a Task instance from the service.

func ListReferencedTasks

func ListReferencedTasks(c common.Client, link string) ([]*Task, error)

ListReferencedTasks gets the collection of Task from a provided reference.

func (*Task) UnmarshalJSON

func (task *Task) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Task object from the raw JSON.

type TaskState

type TaskState string

TaskState indicates the state of a task.

const (

	// NewTaskState shall represent that this task is newly created but the
	// operation has not yet started.
	NewTaskState TaskState = "New"
	// StartingTaskState shall represent that the operation is starting.
	StartingTaskState TaskState = "Starting"
	// RunningTaskState shall represent that the operation is executing.
	RunningTaskState TaskState = "Running"
	// SuspendedTaskState shall represent that the operation has been
	// suspended but is expected to restart and is therefore not complete.
	SuspendedTaskState TaskState = "Suspended"
	// InterruptedTaskState shall represent that the operation has been
	// interrupted but is expected to restart and is therefore not complete.
	InterruptedTaskState TaskState = "Interrupted"
	// PendingTaskState shall represent that the operation is pending some
	// condition and has not yet begun to execute.
	PendingTaskState TaskState = "Pending"
	// StoppingTaskState shall represent that the operation is stopping but
	// is not yet complete.
	StoppingTaskState TaskState = "Stopping"
	// CompletedTaskState shall represent that the operation is complete and
	// completed successfully or with warnings.
	CompletedTaskState TaskState = "Completed"
	// KilledTaskState shall represent that the operation is complete because
	// the task was killed by an operator.
	KilledTaskState TaskState = "Killed"
	// ExceptionTaskState shall represent that the operation is complete and
	// completed with errors.
	ExceptionTaskState TaskState = "Exception"
	// ServiceTaskState shall represent that the operation is now running as
	// a service and expected to continue operation until stopped or killed.
	ServiceTaskState TaskState = "Service"
	// CancellingTaskState shall represent that the operation is in the
	// process of being cancelled.
	CancellingTaskState TaskState = "Cancelling"
	// CancelledTaskState shall represent that the operation was cancelled
	// either through a Delete on a Task Monitor or Task Resource or by an
	// internal process.
	CancelledTaskState TaskState = "Cancelled"
)

type Temperature

type Temperature struct {
	common.Entity
	// AdjustedMaxAllowableOperatingValue shall
	// indicate the adjusted maximum allowable operating temperature for the
	// equipment monitored by this temperature sensor, as specified by a
	// standards body, manufacturer, or a combination, and adjusted based on
	// environmental conditions present. For example, liquid inlet
	// temperature may be adjusted based on the available liquid pressure.
	AdjustedMaxAllowableOperatingValue float32
	// AdjustedMinAllowableOperatingValue shall
	// indicate the adjusted minimum allowable operating temperature for the
	// equipment monitored by this temperature sensor, as specified by a
	// standards body, manufacturer, or a combination, and adjusted based on
	// environmental conditions present. For example, liquid inlet
	// temperature may be adjusted based on the available liquid pressure.
	AdjustedMinAllowableOperatingValue float32
	// DeltaPhysicalContext shall be a description of the affected device or
	// region within the chassis to which the DeltaReadingCelsius temperature
	// measurement applies, relative to PhysicalContext.
	DeltaPhysicalContext string
	// DeltaReadingCelsius shall be the delta of the values of the temperature
	// readings across this sensor and the sensor at DeltaPhysicalContext.
	DeltaReadingCelsius float32
	// LowerThresholdCritical shall indicate
	// the ReadingCelsius is below the normal range but is not yet fatal. The
	// units shall be the same units as the related ReadingCelsius property.
	LowerThresholdCritical float32
	// LowerThresholdFatal shall indicate the
	// ReadingCelsius is below the normal range and is fatal. The units shall
	// be the same units as the related ReadingCelsius property.
	LowerThresholdFatal float32
	// LowerThresholdNonCritical shall indicate
	// the ReadingCelsius is below the normal range but is not critical. The
	// units shall be the same units as the related ReadingCelsius property.
	LowerThresholdNonCritical float32
	// LowerThresholdUser shall contain the value at which
	// the ReadingCelsius property is below the user-defined range. The
	// value of the property shall use the same units as the ReadingCelsius
	// property. The value shall be equal to the value of
	// LowerThresholdNonCritical, LowerThresholdCritical, or
	// LowerThresholdFatal, unless set by a user.
	LowerThresholdUser float32
	// MaxAllowableOperatingValue shall
	// indicate the maximum allowable operating temperature for the equipment
	// monitored by this temperature sensor, as specified by a standards
	// body, manufacturer, or a combination.
	MaxAllowableOperatingValue float32
	// MaxReadingRangeTemp shall indicate the
	// highest possible value for ReadingCelsius. The units shall be the same
	// units as the related ReadingCelsius property.
	MaxReadingRangeTemp float32
	// MemberID shall uniquely identify the member within the collection. For
	// services supporting Redfish v1.6 or higher, this value shall be the
	// zero-based array index.
	MemberID string `json:"MemberID"`
	// MinAllowableOperatingValue shall indicate the minimum allowable operating
	// temperature for the equipment monitored by this temperature sensor, as
	// specified by a standards body, manufacturer, or a combination.
	MinAllowableOperatingValue float32
	// MinReadingRangeTemp shall indicate the lowest possible value for
	// ReadingCelsius. The units shall be the same units as the related
	// ReadingCelsius property.
	MinReadingRangeTemp float32
	// PhysicalContext shall be a description of the affected device or region
	// within the chassis to which this temperature measurement applies.
	PhysicalContext string
	// ReadingCelsius shall be the current value of the temperature sensor's reading.
	ReadingCelsius float32
	// SensorNumber shall be a numerical identifier for this temperature sensor
	// that is unique within this resource.
	SensorNumber int
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UpperThresholdCritical shall indicate
	// the ReadingCelsius is above the normal range but is not yet fatal. The
	// units shall be the same units as the related ReadingCelsius property.
	UpperThresholdCritical float32
	// UpperThresholdFatal shall indicate the
	// ReadingCelsius is above the normal range and is fatal. The units shall
	// be the same units as the related ReadingCelsius property.
	UpperThresholdFatal float32
	// UpperThresholdNonCritical shall indicate
	// the ReadingCelsius is above the normal range but is not critical. The
	// units shall be the same units as the related ReadingCelsius property.
	UpperThresholdNonCritical float32
	// UpperThresholdUser shall contain the value at which
	// the ReadingCelsius property is above the user-defined range. The
	// value of the property shall use the same units as the ReadingCelsius
	// property. The value shall be equal to the value of
	// UpperThresholdNonCritical, UpperThresholdCritical, or
	// UpperThresholdFatal, unless set by a user.
	UpperThresholdUser float32
}

Temperature is

type Thermal

type Thermal struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Fans shall be the definition for fans for a Redfish implementation.
	Fans []Fan
	// FansCount is the number of Fans.
	FansCount int `json:"Fans@odata.count"`
	// Redundancy is used to show redundancy for fans and other elements in
	// this resource. The use of IDs within these arrays shall reference the
	// members of the redundancy groups.
	Redundancy []Redundancy
	// RedundancyCount is the number of Redundancy objects.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// Temperatures shall be the definition for temperature sensors for a
	// Redfish implementation.
	Temperatures []Temperature
	// TemperaturesCount is the number of Temperature objects
	TemperaturesCount int `json:"Temperatures@odata.count"`
	// contains filtered or unexported fields
}

Thermal is used to represent a thermal metrics resource for a Redfish implementation.

func GetThermal

func GetThermal(c common.Client, uri string) (*Thermal, error)

GetThermal will get a Thermal instance from the service.

func ListReferencedThermals

func ListReferencedThermals(c common.Client, link string) ([]*Thermal, error)

ListReferencedThermals gets the collection of Thermal from a provided reference.

func (*Thermal) UnmarshalJSON added in v0.5.0

func (thermal *Thermal) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals an object from the raw JSON.

type TransferMethod added in v0.7.0

type TransferMethod string

TransferMethod is how the data is transferred.

const (

	// StreamTransferMethod Stream image file data from the source URI.
	StreamTransferMethod TransferMethod = "Stream"
	// UploadTransferMethod Upload the entire image file from the source URI
	// to the service.
	UploadTransferMethod TransferMethod = "Upload"
)

type TransferProtocolType added in v0.7.0

type TransferProtocolType string

TransferProtocolType is the protocol used to transfer.

const (

	// CIFSTransferProtocolType Common Internet File System (CIFS).
	CIFSTransferProtocolType TransferProtocolType = "CIFS"
	// FTPTransferProtocolType File Transfer Protocol (FTP).
	FTPTransferProtocolType TransferProtocolType = "FTP"
	// SFTPTransferProtocolType Secure File Transfer Protocol (SFTP).
	SFTPTransferProtocolType TransferProtocolType = "SFTP"
	// HTTPTransferProtocolType Hypertext Transfer Protocol (HTTP).
	HTTPTransferProtocolType TransferProtocolType = "HTTP"
	// HTTPSTransferProtocolType Hypertext Transfer Protocol Secure (HTTPS).
	HTTPSTransferProtocolType TransferProtocolType = "HTTPS"
	// NFSTransferProtocolType Network File System (NFS).
	NFSTransferProtocolType TransferProtocolType = "NFS"
	// SCPTransferProtocolType Secure Copy Protocol (SCP).
	SCPTransferProtocolType TransferProtocolType = "SCP"
	// TFTPTransferProtocolType Trivial File Transfer Protocol (TFTP).
	TFTPTransferProtocolType TransferProtocolType = "TFTP"
	// OEMTransferProtocolType A manufacturer-defined protocol.
	OEMTransferProtocolType TransferProtocolType = "OEM"
)

type TrustedModules

type TrustedModules struct {
	// FirmwareVersion is the firmware version as
	// defined by the manufacturer for the Trusted Module.
	FirmwareVersion string
	// FirmwareVersion2 is the 2nd firmware
	// version, if applicable, as defined by the manufacturer for the Trusted
	// Module.
	FirmwareVersion2 string
	// InterfaceType is the interface type of the installed Trusted Module.
	InterfaceType InterfaceType
	// InterfaceTypeSelection is the Interface
	// Type Selection method (for example to switch between TPM1_2 and
	// TPM2_0) that is supported by this TrustedModule.
	InterfaceTypeSelection InterfaceTypeSelection
	// Status is any status or health properties
	// of the resource.
	Status common.Status
}

TrustedModules is This type shall describe a trusted module for a system.

type UIConsoleInfo

type UIConsoleInfo struct {
	ServiceEnabled        bool
	MaxConcurrentSessions uint
	ConnectTypesSupported []string
}

UIConsoleInfo contains information about GUI services.

type UpdateService added in v0.6.0

type UpdateService struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// FirmwareInventory points towards the firmware store endpoint
	FirmwareInventory string
	// SoftwareInventory points towards the firmware store endpoint
	SoftwareInventory string
	// HTTPPushURI endpoint is used to push (POST) firmware updates
	HTTPPushURI string `json:"HttpPushUri"`
	// ServiceEnabled indicates whether this service isenabled.
	ServiceEnabled bool
	// Status describes the status and health of a resource and its children.
	Status common.Status
	// TransferProtocol is the list of network protocols used by the UpdateService to retrieve the software image file
	TransferProtocol []string
	// UpdateServiceTarget indicates where theupdate image is to be applied.
	UpdateServiceTarget string

	// Oem shall contain the OEM extensions. All values for properties that
	// this object contains shall conform to the Redfish Specification
	// described requirements.
	Oem interface{}
	// contains filtered or unexported fields
}

UpdateService is used to represent the update service offered by the redfish API

func GetUpdateService added in v0.6.0

func GetUpdateService(c common.Client, uri string) (*UpdateService, error)

GetUpdateService will get a UpdateService instance from the service.

func (*UpdateService) FirmwareInventories added in v0.9.0

func (updateService *UpdateService) FirmwareInventories() ([]*SoftwareInventory, error)

FirmwareInventories gets the collection of firmware inventories of this update service

func (*UpdateService) SoftwareInventories added in v0.9.0

func (updateService *UpdateService) SoftwareInventories() ([]*SoftwareInventory, error)

SoftwareInventories gets the collection of software inventories of this update service

func (*UpdateService) UnmarshalJSON added in v0.6.0

func (updateService *UpdateService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a UpdateService object from the raw JSON.

type VLAN

type VLAN struct {
	// VLANEnable is used to indicate if this VLAN is enabled for this
	// interface.
	VLANEnable bool
	// VLANID is used to indicate the VLAN identifier for this VLAN.
	VLANID int16 `json:"VLANId"`
}

VLAN shall contain any attributes of a Virtual LAN.

type VLanNetworkInterface

type VLanNetworkInterface struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// VLANEnable is used to indicate if this VLAN is enabled for this
	// interface.
	VLANEnable bool
	// VLANID is used to indicate the VLAN identifier for this VLAN.
	VLANID int16 `json:"VLANId"`
	// contains filtered or unexported fields
}

VLanNetworkInterface shall contain any attributes of a Virtual LAN.

func GetVLanNetworkInterface

func GetVLanNetworkInterface(c common.Client, uri string) (*VLanNetworkInterface, error)

GetVLanNetworkInterface will get a VLanNetworkInterface instance from the service.

func ListReferencedVLanNetworkInterfaces

func ListReferencedVLanNetworkInterfaces(c common.Client, link string) ([]*VLanNetworkInterface, error)

ListReferencedVLanNetworkInterfaces gets the collection of VLanNetworkInterface from a provided reference.

func (*VLanNetworkInterface) UnmarshalJSON added in v0.5.0

func (vlannetworkinterface *VLanNetworkInterface) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals an object from the raw JSON.

func (*VLanNetworkInterface) Update added in v0.5.0

func (vlannetworkinterface *VLanNetworkInterface) Update() error

Update commits updates to this object's properties to the running system.

type VirtualMedia added in v0.7.0

type VirtualMedia struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// ConnectedVia shall contain the current connection
	// method from a client to the virtual media that this Resource
	// represents.
	ConnectedVia ConnectedVia
	// Description provides a description of this resource.
	Description string
	// Image shall contain an URI. A null value indicated
	// no image connection.
	Image string
	// ImageName shall contain the name of the image.
	ImageName string
	// Inserted shall indicate whether media is present in
	// the virtual media device.
	Inserted bool
	// MediaTypes shall be the supported media
	// types for this connection.
	MediaTypes []VirtualMediaType
	// Password shall represent the password to access the
	// Image parameter-specified URI. The value shall be null in responses.
	Password string
	// TransferMethod shall describe how the image transfer
	// occurs.
	TransferMethod TransferMethod
	// TransferProtocolType shall represent the network
	// protocol to use with the specified image URI.
	TransferProtocolType TransferProtocolType
	// UserName shall represent the user name to access the
	// Image parameter-specified URI.
	UserName string
	// WriteProtected shall indicate whether the remote
	// device media prevents writing to that media.
	WriteProtected bool

	// SupportsMediaEject indicates if this implementation supports ejecting
	// virtual media or not (added in schema 1.2.0).
	SupportsMediaEject bool
	// SupportsMediaInsert indicates if this implementation supports inserting
	// virtual media or not (added in schema 1.2.0).
	SupportsMediaInsert bool
	// contains filtered or unexported fields
}

VirtualMedia shall represent a virtual media service for a Redfish implementation.

func GetVirtualMedia added in v0.7.0

func GetVirtualMedia(c common.Client, uri string) (*VirtualMedia, error)

GetVirtualMedia will get a VirtualMedia instance from the service.

func ListReferencedVirtualMedias added in v0.7.0

func ListReferencedVirtualMedias(c common.Client, link string) ([]*VirtualMedia, error)

ListReferencedVirtualMedias gets the collection of VirtualMedia from a provided reference.

func (*VirtualMedia) EjectMedia added in v0.7.0

func (virtualmedia *VirtualMedia) EjectMedia() error

EjectMedia sends a request to eject the media.

func (*VirtualMedia) InsertMedia added in v0.7.0

func (virtualmedia *VirtualMedia) InsertMedia(image string, inserted, writeProtected bool) error

InsertMedia sends a request to insert virtual media.

func (*VirtualMedia) InsertMediaConfig added in v0.9.0

func (virtualmedia *VirtualMedia) InsertMediaConfig(config VirtualMediaConfig) error

InsertMediaConfig sends a request to insert virtual media using the VirtualMediaConfig struct

func (*VirtualMedia) UnmarshalJSON added in v0.7.0

func (virtualmedia *VirtualMedia) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a VirtualMedia object from the raw JSON.

func (*VirtualMedia) Update added in v0.7.0

func (virtualmedia *VirtualMedia) Update() error

Update commits updates to this object's properties to the running system.

type VirtualMediaConfig added in v0.9.0

type VirtualMediaConfig struct {
	Image                string
	Inserted             bool
	Password             string `json:",omitempty"`
	TransferMethod       string `json:",omitempty"`
	TransferProtocolType string `json:",omitempty"`
	UserName             string `json:",omitempty"`
	WriteProtected       bool
}

VirtualMediaConfig is an struct used to pass config data to build the HTTP body when inserting media

type VirtualMediaType added in v0.7.0

type VirtualMediaType string

VirtualMediaType is the type of media.

const (

	// CDMediaType A CD-ROM format (ISO) image.
	CDMediaType VirtualMediaType = "CD"
	// FloppyMediaType A floppy disk image.
	FloppyMediaType VirtualMediaType = "Floppy"
	// USBStickMediaType An emulation of a USB storage device.
	USBStickMediaType VirtualMediaType = "USBStick"
	// DVDMediaType A DVD-ROM format image.
	DVDMediaType VirtualMediaType = "DVD"
)

type Voltage

type Voltage struct {
	common.Entity

	// LowerThresholdCritical shall indicate
	// the present reading is below the normal range but is not yet fatal.
	// Units shall use the same units as the related ReadingVolts property.
	LowerThresholdCritical float32
	// LowerThresholdFatal shall indicate the
	// present reading is below the normal range and is fatal. Units shall
	// use the same units as the related ReadingVolts property.
	LowerThresholdFatal float32
	// LowerThresholdNonCritical shall indicate
	// the present reading is below the normal range but is not critical.
	// Units shall use the same units as the related ReadingVolts property.
	LowerThresholdNonCritical float32
	// MaxReadingRange shall indicate the
	// highest possible value for ReadingVolts. Units shall use the same
	// units as the related ReadingVolts property.
	MaxReadingRange float32
	// MemberID shall uniquely identify the member within the collection. For
	// services supporting Redfish v1.6 or higher, this value shall be the
	// zero-based array index.
	MemberID string `json:"MemberId"`
	// MinReadingRange shall indicate the lowest possible value for ReadingVolts.
	// Units shall use the same units as the related ReadingVolts property.
	MinReadingRange float32
	// PhysicalContext shall be a description
	// of the affected device or region within the chassis to which this
	// voltage measurement applies.
	PhysicalContext string
	// ReadingVolts shall be the present
	// reading of the voltage sensor's reading.
	ReadingVolts float32
	// SensorNumber shall be a numerical
	// identifier for this voltage sensor that is unique within this
	// resource.
	SensorNumber int
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// UpperThresholdCritical shall indicate
	// the present reading is above the normal range but is not yet fatal.
	// Units shall use the same units as the related ReadingVolts property.
	UpperThresholdCritical float32
	// UpperThresholdFatal shall indicate the
	// present reading is above the normal range and is fatal. Units shall
	// use the same units as the related ReadingVolts property.
	UpperThresholdFatal float32
	// UpperThresholdNonCritical shall indicate
	// the present reading is above the normal range but is not critical.
	// Units shall use the same units as the related ReadingVolts property.
	UpperThresholdNonCritical float32
}

Voltage is a voltage representation.

func (*Voltage) UnmarshalJSON added in v0.7.0

func (voltage *Voltage) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Voltage object from the raw JSON.

type Volume

type Volume struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Status is
	Status common.Status
	// CapacityBytes shall contain the size in bytes of the associated volume.
	CapacityBytes int
	// VolumeType shall contain the type of the associated Volume.
	VolumeType VolumeType
	// Encrypted shall contain a boolean indicator if the Volume is currently
	// utilizing encryption or not.
	Encrypted bool
	// EncryptionTypes is used by this Volume.
	EncryptionTypes []EncryptionTypes
	// Identifiers shall contain a list of all known durable names for the
	// associated volume.
	Identifiers []common.Identifier
	// BlockSizeBytes shall contain size of the smallest addressable unit of the
	// associated volume.
	BlockSizeBytes int
	// Operations shall contain a list of all currently running on the Volume.
	Operations []common.Operations
	// OptimumIOSizeBytes shall contain the optimum IO size to use when
	// performing IO on this volume. For logical disks, this is the stripe size.
	// For physical disks, this describes the physical sector size.
	OptimumIOSizeBytes int
	// DrivesCount is the number of associated drives.
	DrivesCount int
	// contains filtered or unexported fields
}

Volume is used to represent a volume, virtual disk, logical disk, LUN, or other logical storage for a Redfish implementation.

func GetVolume

func GetVolume(c common.Client, uri string) (*Volume, error)

GetVolume will get a Volume instance from the service.

func ListReferencedVolumes

func ListReferencedVolumes(c common.Client, link string) ([]*Volume, error)

ListReferencedVolumes gets the collection of Volumes from a provided reference.

func (*Volume) Drives

func (volume *Volume) Drives() ([]*Drive, error)

Drives references the Drives that this volume is associated with.

func (*Volume) UnmarshalJSON

func (volume *Volume) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Volume object from the raw JSON.

type VolumeType

type VolumeType string

VolumeType is the type of volume.

const (
	// RawDeviceVolumeType indicates the volume is is a raw physical device without any
	// RAID or other virtualization applied.
	RawDeviceVolumeType VolumeType = "RawDevice"
	// NonRedundantVolumeType indicates the volume is is a non-redundant storage device.
	NonRedundantVolumeType VolumeType = "NonRedundant"
	// MirroredVolumeType indicates the volume is is a mirrored device.
	MirroredVolumeType VolumeType = "Mirrored"
	// StripedWithParityVolumeType indicates the volume is is a device which uses parity
	// to retain redundant information.
	StripedWithParityVolumeType VolumeType = "StripedWithParity"
	// SpannedMirrorsVolumeType indicates the volume is is a spanned set of mirrored
	// devices.
	SpannedMirrorsVolumeType VolumeType = "SpannedMirrors"
	// SpannedStripesWithParityVolumeType indicates the volume is is a spanned set of
	// devices which uses parity to retain redundant information.
	SpannedStripesWithParityVolumeType VolumeType = "SpannedStripesWithParity"
)

type WWNSource

type WWNSource string

WWNSource is the source of the world wide name.

const (
	// ConfiguredLocallyWWNSource The set of FC/FCoE boot targets was applied
	// locally through API or UI.
	ConfiguredLocallyWWNSource WWNSource = "ConfiguredLocally"
	// ProvidedByFabricWWNSource The set of FC/FCoE boot targets was applied
	// by the Fibre Channel fabric.
	ProvidedByFabricWWNSource WWNSource = "ProvidedByFabric"
)

type WatchdogTimeoutActions

type WatchdogTimeoutActions string

WatchdogTimeoutActions specifies the choice of action to take when the Host Watchdog Timer reaches its timeout value.

const (

	// NoneWatchdogTimeoutActions means no action taken.
	NoneWatchdogTimeoutActions WatchdogTimeoutActions = "None"
	// ResetSystemWatchdogTimeoutActions means reset the system.
	ResetSystemWatchdogTimeoutActions WatchdogTimeoutActions = "ResetSystem"
	// PowerCycleWatchdogTimeoutActions means power cycle the system.
	PowerCycleWatchdogTimeoutActions WatchdogTimeoutActions = "PowerCycle"
	// PowerDownWatchdogTimeoutActions means power down the system.
	PowerDownWatchdogTimeoutActions WatchdogTimeoutActions = "PowerDown"
	// OEMWatchdogTimeoutActions means perform an OEM-defined action.
	OEMWatchdogTimeoutActions WatchdogTimeoutActions = "OEM"
)

type WatchdogTimer

type WatchdogTimer struct {
	// FunctionEnabled shall indicate whether
	// the host watchdog timer functionality has been enabled or not. This
	// property indicates only that the functionality is enabled or disabled
	// by the user, and updates to this property shall not initiate a
	// watchdog timer countdown.
	FunctionEnabled bool
	// Status is any status or health properties of the resource.
	Status struct {
		State common.State
	}
	// TimeoutAction is the action to perform
	// upon the  expiration of the Watchdog Timer.
	TimeoutAction string
	// WarningAction is the action to perform
	// prior to the expiration of the Watchdog Timer. This action typically
	// occurs 3-10 seconds prior to the timeout value, but the exact timing
	// is dependent on the implementation.
	WarningAction string
}

WatchdogTimer contains properties which describe the host watchdog timer functionality for this ComputerSystem.

type WatchdogWarningActions

type WatchdogWarningActions string

WatchdogWarningActions specifies the choice of action to take when the Host Watchdog Timer is close (typically 3-10 seconds) to reaching its timeout value.

const (

	// NoneWatchdogWarningActions means no action taken.
	NoneWatchdogWarningActions WatchdogWarningActions = "None"
	// DiagnosticInterruptWatchdogWarningActions means raise a (typically non-
	// maskable) Diagnostic Interrupt.
	DiagnosticInterruptWatchdogWarningActions WatchdogWarningActions = "DiagnosticInterrupt"
	// SMIWatchdogWarningActions means raise a Systems Management Interrupt (SMI).
	SMIWatchdogWarningActions WatchdogWarningActions = "SMI"
	// MessagingInterruptWatchdogWarningActions means raise a legacy IPMI messaging
	// interrupt.
	MessagingInterruptWatchdogWarningActions WatchdogWarningActions = "MessagingInterrupt"
	// SCIWatchdogWarningActions means raise an interrupt using the ACPI System
	// Control Interrupt (SCI).
	SCIWatchdogWarningActions WatchdogWarningActions = "SCI"
	// OEMWatchdogWarningActions means perform an OEM-defined action.
	OEMWatchdogWarningActions WatchdogWarningActions = "OEM"
)

Jump to

Keyboard shortcuts

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