redfish

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 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 deprecated 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)

Deprecated: (v1.5) EventType-based eventing is DEPRECATED in the Redfish schema in favor of using RegistryPrefix and ResourceTypes

func CreateEventDestinationInstance added in v0.14.0

func CreateEventDestinationInstance(
	c common.Client,
	uri string,
	destination string,
	registryPrefixes []string,
	resourceTypes []string,
	httpHeaders map[string]string,
	protocol EventDestinationProtocol,
	context string,
	deliveryRetryPolicy DeliveryRetryPolicy,
	oem interface{},
) (string, error)

For Redfish v1.5+ CreateEventDestination will create a EventDestination instance. URI should contain the address of the collection for Event Subscriptions. Destination should contain the URL of the destination for events to be sent. RegistryPrefixes is the list of the prefixes for the Message Registries that contain the MessageIds that are sent to this event destination. If RegistryPrefixes is empty on subscription, the client is subscribing to all Message Registries. ResourceTypes is the list of Resource Type values (Schema names) that correspond to the OriginOfCondition, the version and full namespace should not be specified. If ResourceTypes is empty on subscription, the client is subscribing to receive events regardless of ResourceType. 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. DeliveryRetryPolicy is optional, it should contain the subscription delivery retry policy for events, where the subscription type is RedfishEvent. 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. 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) 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 ANAAccessState added in v0.17.0

type ANAAccessState string
const (
	// OptimizedANAAccessState Commands processed by a controller provide optimized access to any namespace in the ANA
	// group.
	OptimizedANAAccessState ANAAccessState = "Optimized"
	// NonOptimizedANAAccessState Commands processed by a controller that reports this state for an ANA group provide
	// non-optimized access characteristics, such as lower performance or non-optimal use of subsystem resources, to
	// any namespace in the ANA group.
	NonOptimizedANAAccessState ANAAccessState = "NonOptimized"
	// InaccessibleANAAccessState Namespaces in this group are inaccessible. Commands are not able to access user data
	// of namespaces in the ANA group.
	InaccessibleANAAccessState ANAAccessState = "Inaccessible"
	// PersistentLossANAAccessState The group is persistently inaccessible. Commands are persistently not able to
	// access user data of namespaces in the ANA group.
	PersistentLossANAAccessState ANAAccessState = "PersistentLoss"
)

type ANACharacteristics added in v0.17.0

type ANACharacteristics struct {
	// AccessState shall contain the reported ANA access state.
	AccessState ANAAccessState
	// Volume shall contain a link to a resource of type Volume.
	Volume string
}

ANACharacteristics shall contain the ANA characteristics and volume information for a storage controller.

func (*ANACharacteristics) UnmarshalJSON added in v0.17.0

func (anacharacteristics *ANACharacteristics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ANACharacteristics object from the raw JSON.

type APEthernet added in v0.16.0

type APEthernet struct {
	// BFDSingleHopOnly shall contain the Bidirectional Forwarding Detection (BFD) related properties for this Ethernet
	// fabric.
	BFDSingleHopOnly BFDSingleHopOnly
	// BGPEvpn shall contain the BGP Ethernet Virtual Private Network (EVPN) related properties for this Ethernet
	// fabric.
	BGPEvpn BGPEvpn
	// EBGP shall contain the External BGP (eBGP) related properties for this Ethernet fabric.
	EBGP EBGP
	// IPv4 shall contain IPv4 and Virtual LAN (VLAN) addressing-related properties for this Ethernet fabric.
	IPv4 IPv4
	// MultiProtocolEBGP shall contain the Multi Protocol eBGP (MP eBGP) related properties for this Ethernet fabric.
	MultiProtocolEBGP EBGP
	// MultiProtocolIBGP shall contain the Multi Protocol iBGP (MP iBGP) related properties for this Ethernet fabric.
	MultiProtocolIBGP CommonBGPProperties
}

APEthernet shall contain the Ethernet-related properties for an address pool.

type APGenZ added in v0.16.0

type APGenZ struct {
	// AccessKey shall contain the Gen-Z Core Specification-defined Access Key required for this address pool.
	AccessKey string
	// MaxCID shall contain the maximum value for the Gen-Z Core Specification-defined Component Identifier (CID).
	MaxCID int
	// MaxSID shall contain the maximum value for the Gen-Z Core Specification-defined Subnet Identifier (SID).
	MaxSID int
	// MinCID shall contain the minimum value for the Gen-Z Core Specification-defined Component Identifier (CID).
	MinCID int
	// MinSID shall contain the minimum value for the Gen-Z Core Specification-defined Subnet Identifier (SID).
	MinSID int
}

APGenZ shall contain Gen-Z related properties for an address pool.

type ASNumberRange added in v0.16.0

type ASNumberRange struct {
	// Lower shall contain the lower Autonomous System (AS) number to be used as part of a range of ASN values.
	Lower string
	// Upper shall contain the upper Autonomous System (AS) number to be used as part of a range of ASN values.
	Upper string
}

ASNumberRange shall contain the Autonomous System (AS) number range.

type AccelerationFunction added in v0.16.0

type AccelerationFunction 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"`
	// AccelerationFunctionType shall contain the string that identifies the acceleration function type.
	AccelerationFunctionType AccelerationFunctionType
	// Description provides a description of this resource.
	Description string
	// FPGAReconfigurationSlots shall contain an array of the FPGA reconfiguration slot identifiers that this
	// acceleration function occupies.
	FPGAReconfigurationSlots []string `json:"FpgaReconfigurationSlots"`
	// Manufacturer shall contain a string that identifies the manufacturer of the acceleration function.
	Manufacturer string
	// PowerWatts shall contain the total acceleration function power consumption, in watt units.
	PowerWatts int
	// Status shall contain any status or health properties of the Resource.
	Status common.Status
	// UUID shall contain a UUID for the acceleration function. RFC4122 describes methods that can create the value.
	// The value should be considered to be opaque. Client software should only treat the overall value as a UUID and
	// should not interpret any subfields within the UUID.
	UUID string
	// Version shall describe the acceleration function version.
	Version string

	// EndpointsCount is the number of connected endpoints.
	EndpointsCount int

	// PCIeFunctionsCount is the number of PCIe functions associated with this accelerator.
	PCIeFunctionsCount int
	// contains filtered or unexported fields
}

AccelerationFunction shall represent the acceleration function that a processor implements in a Redfish implementation. This can include functions such as audio processing, compression, encryption, packet inspection, packet switching, scheduling, or video processing.

func GetAccelerationFunction added in v0.16.0

func GetAccelerationFunction(c common.Client, uri string) (*AccelerationFunction, error)

GetAccelerationFunction will get a AccelerationFunction instance from the service.

func ListReferencedAccelerationFunctions added in v0.16.0

func ListReferencedAccelerationFunctions(c common.Client, link string) ([]*AccelerationFunction, error)

ListReferencedAccelerationFunctions gets the collection of AccelerationFunction from a provided reference.

func (*AccelerationFunction) Endpoints added in v0.16.0

func (accelerationfunction *AccelerationFunction) Endpoints() ([]*Endpoint, error)

Endpoints gets the endpoints connected to this accelerator.

func (*AccelerationFunction) PCIeFunctions added in v0.16.0

func (accelerationfunction *AccelerationFunction) PCIeFunctions() ([]*PCIeFunction, error)

PCIeFunctions gets the PCIe functions associated with this accelerator.

func (*AccelerationFunction) UnmarshalJSON added in v0.16.0

func (accelerationfunction *AccelerationFunction) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a AccelerationFunction object from the raw JSON.

type AccelerationFunctionType added in v0.16.0

type AccelerationFunctionType string

AccelerationFunctionType is the type of acceleration provided.

const (
	// EncryptionAccelerationFunctionType is an encryption function.
	EncryptionAccelerationFunctionType AccelerationFunctionType = "Encryption"
	// CompressionAccelerationFunctionType is a compression function.
	CompressionAccelerationFunctionType AccelerationFunctionType = "Compression"
	// PacketInspectionAccelerationFunctionType is a packet inspection function.
	PacketInspectionAccelerationFunctionType AccelerationFunctionType = "PacketInspection"
	// PacketSwitchAccelerationFunctionType is a packet switch function.
	PacketSwitchAccelerationFunctionType AccelerationFunctionType = "PacketSwitch"
	// SchedulerAccelerationFunctionType is a scheduler function.
	SchedulerAccelerationFunctionType AccelerationFunctionType = "Scheduler"
	// AudioProcessingAccelerationFunctionType is an audio processing function.
	AudioProcessingAccelerationFunctionType AccelerationFunctionType = "AudioProcessing"
	// VideoProcessingAccelerationFunctionType is a video processing function.
	VideoProcessingAccelerationFunctionType AccelerationFunctionType = "VideoProcessing"
	// OEMAccelerationFunctionType is an OEM-defined acceleration function.
	OEMAccelerationFunctionType AccelerationFunctionType = "OEM"
)

type AccessCapability added in v0.16.0

type AccessCapability string
const (
	// ReadAccessCapability Endpoints are allowed to perform reads from the specified resource.
	ReadAccessCapability AccessCapability = "Read"
	// WriteAccessCapability Endpoints are allowed to perform writes to the specified resource.
	WriteAccessCapability AccessCapability = "Write"
)

type AccessState added in v0.16.0

type AccessState string

AccessState describes the access to the associated resource in this connection.

const (
	// OptimizedAccessState shall indicate the resource is in an active and optimized state.
	OptimizedAccessState AccessState = "Optimized"
	// NonOptimizedAccessState shall indicate the resource is in an active and non-optimized state.
	NonOptimizedAccessState AccessState = "NonOptimized"
	// StandbyAccessState shall indicate the resource is in a standby state.
	StandbyAccessState AccessState = "Standby"
	// UnavailableAccessState shall indicate the resource is in an unavailable state.
	UnavailableAccessState AccessState = "Unavailable"
	// TransitioningAccessState shall indicate the resource is transitioning to a new state.
	TransitioningAccessState AccessState = "Transitioning"
)

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 ExternalAccountProvider

	// 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
	// HTTPBasicAuth shall indicate whether clients are able to authenticate to the Redfish service with HTTP Basic
	// authentication. This property should default to 'Enabled' for client compatibility. If this property is not
	// present in responses, the value shall be assumed to be 'Enabled'.
	// (Added in schema 1.15.0)
	HTTPBasicAuth BasicAuthState
	// 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
	// MultiFactorAuth shall contain the multi-factor authentication settings that this account service supports.
	MultiFactorAuth MultiFactorAuth
	// OAuth2 is the first OAuth 2.0 external account provider that this account service supports.
	// If the account service supports one or more OAuth 2.0 services as an external account provider,
	// this entity shall be populated by default. This entity shall not be present in the additional
	// external account providers resource collection.
	OAuth2 ExternalAccountProvider

	// PasswordExpirationDays is the number of days before account passwords in this account service will expire.
	PasswordExpirationDays int

	// RequireChangePasswordAction shall indicate whether clients are required to invoke the ChangePassword action to
	// modify the password property in ManagerAccount resources. If 'true', services shall reject PATCH and PUT
	// requests to modify the Password property in ManagerAccount resources.
	RequireChangePasswordAction bool
	// RestrictedOemPrivileges shall contain an array of OEM privileges that are restricted by the service.
	RestrictedOemPrivileges []string
	// RestrictedPrivileges shall contain an array of Redfish privileges that are restricted by the service.
	RestrictedPrivileges []PrivilegeType

	// 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
	// SupportedAccountTypes shall contain an array of the account types supported by the service.
	SupportedAccountTypes []AccountTypes
	// SupportedOEMAccountTypes shall contain an array of the OEM account types supported by the service.
	SupportedOEMAccountTypes []string
	// TACACSplus shall contain the first TACACS+ external account provider that this account service supports. If the
	// account service supports one or more TACACS+ services as an external account provider, this entity shall be
	// populated by default. This entity shall not be present in the additional external account providers resource
	// collection.
	TACACSplus ExternalAccountProvider
	// 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) AdditionalExternalAccountProviders added in v0.16.1

func (accountservice *AccountService) AdditionalExternalAccountProviders() ([]*ExternalAccountProvider, error)

AdditionalExternalAccountProviders gets additional external account providers that this account service uses.

func (*AccountService) CreateAccount added in v0.16.0

func (accountservice *AccountService) CreateAccount(userName, password, roleID string) (*ManagerAccount, error)

CreateAccount creates a new Redfish user account.

`userName` is the new username to use.

`password` is the initial password, must conform to configured password requirements.

`roleID` is the role to assign to the user, typically one of `Administrator`, `Operator`, or `ReadOnly`.

Returns the created user account that can then be updated for things like setting `passwordChangeRequried`, etc.

func (*AccountService) PrivilegeMap added in v0.16.1

func (accountservice *AccountService) PrivilegeMap() (*PrivilegeRegistry, error)

PrivilegeMap gets the mapping of the privileges required to complete a requested operation on a URI associated with this 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 ActionPowerState added in v0.15.0

type ActionPowerState string

In Actions: BreakerControl, PowerControl: The desired power state of the circuit if the breaker is reset successfully.

const (
	// Power off.
	OffActionPowerState ActionPowerState = "Off"
	// Power on.
	OnActionPowerState ActionPowerState = "On"
	// Power cycle.
	PowerCycleActionPowerState ActionPowerState = "PowerCycle"
)

type AdditionalFirmwareVersions added in v0.15.0

type AdditionalFirmwareVersions struct {
	// (v1.7+) The bootloader version contained in this software, such as U-Boot or UEFI.
	Bootloader string
	// (v1.7+) The kernel version contained in this software.
	// For strict POSIX software, the value shall contain the output of uname -srm.
	// For Microsoft Windows, the value shall contain the output of ver.
	Kernel string
	// (v1.7+)The microcode version contained in this software, such as processor microcode.
	Microcode string
	// (v1.7+) Oem contains vendor-specific data.
	Oem json.RawMessage
	// (v1.8+) The operating system name of this software.
	OSDistribution string
}

AdditionalFirmwareVersions shall contain the additional firmware versions of the processor..

type AdditionalVersions added in v0.16.0

type AdditionalVersions struct {
	// Bootloader shall contain the bootloader version contained in this software.
	Bootloader string
	// Kernel shall contain the kernel version contained in this software. For strict POSIX software, the value shall
	// contain the output of 'uname -srm'. For Microsoft Windows, the value shall contain the output of 'ver', from
	// Command Prompt.
	Kernel string
	// Microcode shall contain the microcode version contained in this software.
	Microcode string
	// OSDistribution shall contain the operating system name of this software.
	OSDistribution string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage
}

AdditionalVersions shall contain additional versions.

type AddressPool added in v0.16.0

type AddressPool 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
	// Ethernet shall contain the Ethernet-related properties for this address pool.
	Ethernet APEthernet
	// GenZ shall contain the Gen-Z related properties for this address pool.
	GenZ APGenZ
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// EndpointsCount is the number of connected endpoints.
	EndpointsCount int

	// ZonesCount is the number of zones that this address pool contains.
	ZonesCount int
	// contains filtered or unexported fields
}

AddressPool shall represent an address pool in a Redfish implementation.

func GetAddressPool added in v0.16.0

func GetAddressPool(c common.Client, uri string) (*AddressPool, error)

GetAddressPool will get a AddressPool instance from the service.

func ListReferencedAddressPools added in v0.16.0

func ListReferencedAddressPools(c common.Client, link string) ([]*AddressPool, error)

ListReferencedAddressPools gets the collection of AddressPool from a provided reference.

func (*AddressPool) Endpoints added in v0.16.0

func (addresspool *AddressPool) Endpoints() ([]*Endpoint, error)

Endpoints gets the endpoints connected to this address pool.

func (*AddressPool) UnmarshalJSON added in v0.16.0

func (addresspool *AddressPool) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a AddressPool object from the raw JSON.

func (*AddressPool) Zones added in v0.16.0

func (addresspool *AddressPool) Zones() ([]*Zone, error)

Zones gets the zones associated with this address pool.

type AddressRangeType added in v0.16.0

type AddressRangeType string
const (
	// VolatileAddressRangeType Volatile memory.
	VolatileAddressRangeType AddressRangeType = "Volatile"
	// PMEMAddressRangeType Byte accessible persistent memory.
	PMEMAddressRangeType AddressRangeType = "PMEM"
	// BlockAddressRangeType Block accessible memory.
	BlockAddressRangeType AddressRangeType = "Block"
)

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 Aggregate added in v0.16.0

type Aggregate 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

	// ElementsCount shall contain the number of entries in the Elements array.
	ElementsCount int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// contains filtered or unexported fields
}

Aggregate shall represent an aggregation service grouping method for a Redfish implementation.

func GetAggregate added in v0.16.0

func GetAggregate(c common.Client, uri string) (*Aggregate, error)

GetAggregate will get a Aggregate instance from the service.

func ListReferencedAggregates added in v0.16.0

func ListReferencedAggregates(c common.Client, link string) ([]*Aggregate, error)

ListReferencedAggregates gets the collection of Aggregate from a provided reference.

func (*Aggregate) AddElements added in v0.16.0

func (aggregate *Aggregate) AddElements(elements []*Resource) error

AddElements adds one or more resources to the aggregate.

func (*Aggregate) Elements added in v0.16.0

func (aggregate *Aggregate) Elements() ([]*Resource, error)

Elements get the elements of this aggregate.

func (*Aggregate) RemoveElements added in v0.16.0

func (aggregate *Aggregate) RemoveElements(elements []*Resource) error

RemoveElements removes one or more resources from the aggregate.

func (*Aggregate) Reset added in v0.16.0

func (aggregate *Aggregate) Reset(batchSize, delayBetweenBatchesInSeconds int, resetType ResetType) error

Reset performs a reset of a collection of resources. `batchSize` is the number of elements in each batch being reset. `delayBetweenBatchesInSeconds` is the delay of the batches of elements being reset. `resetType` is the type of reset to perform.

func (*Aggregate) SetDefaultBootOrder added in v0.16.0

func (aggregate *Aggregate) SetDefaultBootOrder() error

SetDefaultBootOrder is used to restore the boot order to the default state for the computer systems that are members of this aggregate.

func (*Aggregate) UnmarshalJSON added in v0.16.0

func (aggregate *Aggregate) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Aggregate object from the raw JSON.

type AggregationService added in v0.16.0

type AggregationService 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ServiceEnabled shall indicate whether the aggregation service is enabled.
	ServiceEnabled bool
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

AggregationService shall represent an aggregation service for a Redfish implementation.

func GetAggregationService added in v0.16.0

func GetAggregationService(c common.Client, uri string) (*AggregationService, error)

GetAggregationService will get a AggregationService instance from the service.

func ListReferencedAggregationServices added in v0.16.0

func ListReferencedAggregationServices(c common.Client, link string) ([]*AggregationService, error)

ListReferencedAggregationServices gets the collection of AggregationService from a provided reference.

func (*AggregationService) Aggregates added in v0.16.0

func (aggregationservice *AggregationService) Aggregates() ([]*Aggregate, error)

Aggregates gets the aggregates associated with this service.

func (*AggregationService) AggregationSources added in v0.16.0

func (aggregationservice *AggregationService) AggregationSources() ([]*AggregationSource, error)

AggregationSources gets the aggregation sources associated with this service.

func (*AggregationService) ConnectionMethods added in v0.16.0

func (aggregationservice *AggregationService) ConnectionMethods() ([]*ConnectionMethod, error)

ConnectionMethods gets the connection methods associated with this service.

func (*AggregationService) Reset added in v0.16.0

func (aggregationservice *AggregationService) Reset(batchSize, delayBetweenBatchesInSeconds int, resetType ResetType, targetURIs []string) error

Reset performs a reset of a set of resources. `batchSize` is the number of elements in each batch being reset. `delayBetweenBatchesInSeconds` is the delay of the batches of elements being reset. `resetType` is the type of reset to perform. `targetURIs` is an array of links to the resources being reset.

func (*AggregationService) SetDefaultBootOrder added in v0.16.0

func (aggregationservice *AggregationService) SetDefaultBootOrder(systems []string) error

SetDefaultBootOrder is used to restore the boot order to the default state for the specified computer systems. `systems` is an array of links to the ComputerSystems to be reset.

func (*AggregationService) UnmarshalJSON added in v0.16.0

func (aggregationservice *AggregationService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a AggregationService object from the raw JSON.

func (*AggregationService) Update added in v0.16.0

func (aggregationservice *AggregationService) Update() error

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

type AggregationSource added in v0.16.0

type AggregationSource 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"`
	// AggregationType shall contain the type of aggregation used for the connection method towards the aggregation
	// source. If this property is not present, the value shall be assumed to be 'Full'.
	AggregationType AggregationType
	// Description provides a description of this resource.
	Description string
	// HostName shall contain the URI of the system to be aggregated. This property shall not be required when the
	// aggregation source is configured to only receive notifications from the aggregated system and the
	// AggregationType property contains the value 'NotificationsOnly'.
	HostName string
	// Password shall contain a password for accessing the aggregation source. The value shall be 'null' in responses.
	Password string
	// SNMP shall contain the SNMP settings of the aggregation source.
	SNMP SNMPSettings
	// SSHSettings shall contain the settings for an aggregation source using SSH as part of the associated connection
	// method.
	SSHSettings SSHSettingsType
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UserName shall contain the user name for accessing the aggregation source.
	UserName string

	// ResourcesAccessedCount is the number of the resources added to the service through the aggregation source.
	ResourcesAccessedCount int
	// contains filtered or unexported fields
}

AggregationSource shall represent an aggregation source for a Redfish implementation.

func GetAggregationSource added in v0.16.0

func GetAggregationSource(c common.Client, uri string) (*AggregationSource, error)

GetAggregationSource will get a AggregationSource instance from the service.

func ListReferencedAggregationSources added in v0.16.0

func ListReferencedAggregationSources(c common.Client, link string) ([]*AggregationSource, error)

ListReferencedAggregationSources gets the collection of AggregationSource from a provided reference.

func (*AggregationSource) UnmarshalJSON added in v0.16.0

func (aggregationsource *AggregationSource) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a AggregationSource object from the raw JSON.

func (*AggregationSource) Update added in v0.16.0

func (aggregationsource *AggregationSource) Update() error

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

type AggregationType added in v0.16.0

type AggregationType string
const (
	// NotificationsOnlyAggregationType shall indicate that the aggregator is only aggregating notifications or events
	// from the aggregation source according to the connection method used. This value shall not be used with
	// connection methods that do not include notifications.
	NotificationsOnlyAggregationType AggregationType = "NotificationsOnly"
	// FullAggregationType shall indicate that the aggregator is performing full aggregation according to the
	// connection method without any limitation such as only receiving notifications.
	FullAggregationType AggregationType = "Full"
)

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 AlertCapabilities added in v0.16.0

type AlertCapabilities struct {
	// CorrectableECCError shall indicate whether correctable ECC errors generate an alert to the CXL Fabric Manager or
	// host.
	CorrectableECCError bool
	// SpareBlock shall indicate whether spare block conditions generate an alert to the CXL Fabric Manager or host.
	SpareBlock bool
	// Temperature shall indicate whether temperature conditions generate an alert to the CXL Fabric Manager or host.
	Temperature bool
	// UncorrectableECCError shall indicate whether uncorrectable ECC errors generate an alert to the CXL Fabric
	// Manager or host.
	UncorrectableECCError bool
}

AlertCapabilities shall contain the conditions that would generate an alert to the CXL Fabric Manager or host.

type AllowDeny added in v0.16.0

type AllowDeny 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"`
	// AllowType shall indicate the type of permission.
	AllowType AllowType
	// Description provides a description of this resource.
	Description string
	// DestinationPortLower shall contain the TCP, UDP, or other destination port to which this rule begins
	// application, inclusive.
	DestinationPortLower int
	// DestinationPortUpper shall contain the TCP, UDP, or other destination port to which this rule ends application,
	// inclusive.
	DestinationPortUpper int
	// Direction shall indicate the direction of the data to which this permission applies for this network device
	// function.
	Direction DataDirection
	// IANAProtocolNumber shall contain the IANA protocol number to which this permission applies.
	IANAProtocolNumber int
	// IPAddressLower shall contain the lower IP address to which this permission applies.
	IPAddressLower string
	// IPAddressType shall contain the type of IP address populated in the IPAddressLower and IPAddressUpper
	// properties. Services shall not permit mixing IPv6 and IPv4 addresses on the same resource.
	IPAddressType IPAddressType
	// IPAddressUpper shall contain the upper IP address to which this permission applies.
	IPAddressUpper string
	// SourcePortLower shall contain the TCP, UDP, or other source port to which this rule begins application,
	// inclusive.
	SourcePortLower int
	// SourcePortUpper shall contain the TCP, UDP, or other source port to which this rule ends application, inclusive.
	SourcePortUpper int
	// StatefulSession shall indicate if this permission only applies to stateful connections, which are those using
	// SYN, ACK, and FIN.
	StatefulSession bool
	// contains filtered or unexported fields
}

AllowDeny shall represent an AllowDeny resource in a Redfish implementation.

func GetAllowDeny added in v0.16.0

func GetAllowDeny(c common.Client, uri string) (*AllowDeny, error)

GetAllowDeny will get a AllowDeny instance from the service.

func ListReferencedAllowDenys added in v0.16.0

func ListReferencedAllowDenys(c common.Client, link string) ([]*AllowDeny, error)

ListReferencedAllowDenys gets the collection of AllowDeny from a provided reference.

func (*AllowDeny) UnmarshalJSON added in v0.16.0

func (allowdeny *AllowDeny) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a AllowDeny object from the raw JSON.

func (*AllowDeny) Update added in v0.16.0

func (allowdeny *AllowDeny) Update() error

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

type AllowType added in v0.16.0

type AllowType string

AllowType is a set of allow or deny types.

const (
	// AllowAllowType Indicates that traffic that matches the criteria in this resource is permitted.
	AllowAllowType AllowType = "Allow"
	// DenyAllowType Indicates that traffic that matches the criteria in this resource is not permitted.
	DenyAllowType AllowType = "Deny"
)

type Application added in v0.16.0

type Application 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
	// DestinationURIs shall contain an array of URIs to which this application pushes data. This is typically for
	// applications that act as logging or metric agents that transmit data captured to remote servers.
	DestinationURIs []string
	// MetricsURIs shall contain an array of URIs that provide access to data or other information in this application.
	// This is typically for applications that allow external users to perform requests to pull data from the
	// application.
	MetricsURIs []string
	// StartTime shall indicate the date and time when the application started running.
	StartTime string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// Vendor shall contain the name of the company that provides this application.
	Vendor string
	// Version shall contain the version of this application.
	Version string
	// contains filtered or unexported fields
}

Application shall represent an application or service running on a computer system.

func GetApplication added in v0.16.0

func GetApplication(c common.Client, uri string) (*Application, error)

GetApplication will get a Application instance from the service.

func ListReferencedApplications added in v0.16.0

func ListReferencedApplications(c common.Client, link string) ([]*Application, error)

ListReferencedApplications gets the collection of Application from a provided reference.

func (*Application) Reset added in v0.16.0

func (application *Application) Reset(resetType ResetType) error

Reset resets the application.

`ResetType` is the type of reset. `GracefulRestart` and `ForceRestart` shall indicate requests to restart the application. `GracefulShutdown` and `ForceOff` shall indicate requests to stop or disable the application. `On` and `ForceOn` shall indicate requests to start or enable the application.

func (*Application) SoftwareImage added in v0.16.0

func (application *Application) SoftwareImage() (*SoftwareInventory, error)

SoftwareImage returns a `SoftwareInventory“ that represents the software image from which this application runs.

func (*Application) UnmarshalJSON added in v0.16.0

func (application *Application) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Application object from the raw JSON.

type ApplyTime added in v0.16.0

type ApplyTime string
const (
	// ImmediateApplyTime shall indicate the values within the settings resource are applied immediately. This value
	// may result in an immediate host reset, manager reset, or other side effects.
	ImmediateApplyTime ApplyTime = "Immediate"
	// OnResetApplyTime shall indicate the values within settings resource are applied when the system or service is
	// reset.
	OnResetApplyTime ApplyTime = "OnReset"
	// AtMaintenanceWindowStartApplyTime shall indicate the values within the settings resource are applied during the
	// maintenance window specified by the MaintenanceWindowStartTime and MaintenanceWindowDurationInSeconds
	// properties. A service can perform resets during this maintenance window.
	AtMaintenanceWindowStartApplyTime ApplyTime = "AtMaintenanceWindowStart"
	// InMaintenanceWindowOnResetApplyTime shall indicate the values within the settings resource are applied during
	// the maintenance window specified by the MaintenanceWindowStartTime and MaintenanceWindowDurationInSeconds
	// properties, and if a reset occurs within the maintenance window.
	InMaintenanceWindowOnResetApplyTime ApplyTime = "InMaintenanceWindowOnReset"
)

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
	// ISOCountryCodeOfOrigin shall contain the ISO 3166-1-defined alpha-2 or alpha-3 country code that reflects the
	// manufacturing country of origin.
	ISOCountryCodeOfOrigin string
	// Location shall contain the location information of the associated assembly.
	Location common.Location
	// 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
	// Replaceable shall indicate whether the component associated this assembly can be independently replaced as
	// allowed by the vendor's replacement policy. A value of 'false' indicates the component needs to be replaced by
	// policy as part of another component. If the 'LocationType' property of this assembly contains 'Embedded', this
	// property shall contain 'false'.
	Replaceable bool
	// 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 AttachDetachNamespacesResponse added in v0.17.0

type AttachDetachNamespacesResponse struct {
	// AttachedVolumes shall contain an array of links to resources of type Volume that are attached to this instance
	// of storage controller.
	AttachedVolumes []string
	// AttachedVolumesCount is the number of attached volumes.
	AttachedVolumesCount int `json:"AttachedVolumes@odata.count"`
}

AttachDetachNamespacesResponse shall contain the properties found in the response body for the AttachNamespaces and DetachNamespaces actions.

func (*AttachDetachNamespacesResponse) UnmarshalJSON added in v0.17.0

func (attachdetachnamespacesresponse *AttachDetachNamespacesResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a AttachDetachNamespacesResponse object from the raw JSON.

type Attribute added in v0.15.0

type Attribute struct {
	// The unique name for the attribute.
	AttributeName string
	// The placeholder of the current value for the attribute.
	CurrentValue interface{}
	// The default value for the attribute.
	DefaultValue interface{}
	// The user-readable display string for the attribute
	// in the defined language.
	DisplayName string
	// The ascending order, as a number, in which this attribute appears
	// relative to other attributes.
	DisplayOrder int64
	// An indication of whether this attribute is grayed out.
	GrayOut bool
	// The help text for the attribute.
	HelpText string
	// An indication of whether this attribute is hidden in user interfaces.
	Hidden bool
	// An indication of whether this attribute is immutable.
	Immutable bool
	// An indication of whether this attribute is unique for this system
	// and should not be replicated.
	IsSystemUniqueProperty bool
	// The lower limit for an integer attribute.
	LowerBound int64
	// The maximum character length of a string attribute.
	MaxLength int64
	// The path that describes the menu hierarchy of this attribute.
	MenuPath string
	// The minimum character length of the string attribute.
	MinLength int64
	// Oem contains all the vendor specific information.
	Oem json.RawMessage
	// An indication of whether this attribute is read-only.
	ReadOnly bool
	// An indication of whether a system or device reset is required
	// for this attribute value change to take effect.
	ResetRequired bool
	// The amount to increment or decrement an integer attribute
	// each time a user requests a value change.
	ScalarIncrement int64
	// The attribute type.
	Type AttributeType
	// The UEFI device path that qualifies this attribute.
	UefiDevicePath string
	// The UEFI keyword string for this attribute.
	UefiKeywordName string
	// The UEFI namespace ID for the attribute.
	UefiNamespaceID string `json:"UefiNamespaceId"`
	// The upper limit for an integer attribute.
	UpperBound int64
	// 	An array of the possible values for enumerated attribute values.
	Value []AttributeValue
	// A valid regular expression, according to the Perl regular expression dialect,
	// that validates the attribute value.
	ValueExpression string
	// The warning text for the attribute.
	WarningText string
	// An indication of whether this attribute is write-only.
	WriteOnly bool
}

Attribute represents attributes and their possible values in the attribute registry.

type AttributeRegistry added in v0.15.0

type AttributeRegistry 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

	// The RFC5646-conformant language code for the attribute registry.
	Language string
	// The organization or company that publishes this attribute registry.
	OwningEntity string
	// The list of all attributes and their metadata for this component.
	RegistryEntries RegistryEntries
	// The attribute registry version.
	RegistryVersion string
	// An array of systems that this attribute registry supports.
	SupportedSystems []SupportedSystem
}

AttributeRegistry shall represent an attribute registry for a Redfish implementation.

func GetAttributeRegistry added in v0.15.0

func GetAttributeRegistry(c common.Client, uri string) (*AttributeRegistry, error)

GetAttributeRegistry will get an AttributeRegistry instance from the Redfish service, e.g. BiosAttributeRegistry

type AttributeType added in v0.15.0

type AttributeType string
const (
	// A flag with a true or false value.
	BooleanAttributeType AttributeType = "Boolean"
	// A list of the known possible enumerated values.
	EnumerationAttributeType AttributeType = "Enumeration"
	// An integer value.
	IntegerAttributeType AttributeType = "Integer"
	// Password values that do not appear as plain text.
	// The value shall be null in responses.
	PasswordAttributeType AttributeType = "Password"
	// Free-form text in their values.
	StringAttributeType AttributeType = "String"
)

type AttributeValue added in v0.15.0

type AttributeValue struct {
	// A user-readable display string of the value for the attribute in the defined language.
	ValueDisplayName string
	// The unique value name for the attribute.
	ValueName string
}

AttributeValue represents the possible values for enumerated attribute values.

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 AuthenticationType added in v0.16.0

type AuthenticationType string
const (
	// MTLSAuthenticationType shall indicate the service will exchange and verify certificates during TLS handshaking
	// when establishing the outbound connecting.
	MTLSAuthenticationType AuthenticationType = "MTLS"
	// JWTAuthenticationType shall indicate an RFC7519-defined JSON Web Token (JWT) is specified in one of the HTTP
	// headers in the PreUpgradeHTTPHeaders property. This is typically encoded in the 'Authorization' header with the
	// scheme 'Bearer'.
	JWTAuthenticationType AuthenticationType = "JWT"
	// NoneAuthenticationType shall indicate the service does not provide any authentication information to the remote
	// client.
	NoneAuthenticationType AuthenticationType = "None"
	// OEMAuthenticationType shall indicate an OEM-specific authentication mechanism.
	OEMAuthenticationType AuthenticationType = "OEM"
)

type AuthenticationTypes added in v0.5.0

type AuthenticationTypes string

AuthenticationTypes are the different authentication types.

const (

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

type AuthorizationScope added in v0.16.0

type AuthorizationScope string

AuthorizationScope shall describe the authorization scope for this license.

const (
	// DeviceAuthorizationScope shall indicate the license authorizes functionality for one or more specific device
	// instances, listed as values of the AuthorizedDevices property.
	DeviceAuthorizationScope AuthorizationScope = "Device"
	// CapacityAuthorizationScope shall indicate the license authorizes functionality for one or more device instances
	// limited to a maximum number of devices specified by the value of the MaxAuthorizedDevices property. In an
	// aggregator, the aggregating service shall represent the applicable services in the TargetServices property in
	// the Links property.
	CapacityAuthorizationScope AuthorizationScope = "Capacity"
	// ServiceAuthorizationScope shall indicate the license authorizes product-level or service-level functionality for
	// a service. This may include hardware or software features not tied to a specific device or subsystem. License
	// resources using this value shall not include the AuthorizedDevices nor the MaxAuthorizedDevices properties. In
	// an aggregator, the aggregating service shall represent the applicable services in the TargetServices property in
	// the Links property.
	ServiceAuthorizationScope AuthorizationScope = "Service"
)

type AutoVolumeCreate added in v0.16.0

type AutoVolumeCreate string
const (
	// DisabledAutoVolumeCreate Do not automatically create volumes.
	DisabledAutoVolumeCreate AutoVolumeCreate = "Disabled"
	// NonRAIDAutoVolumeCreate Automatically create non-RAID volumes.
	NonRAIDAutoVolumeCreate AutoVolumeCreate = "NonRAID"
	// RAID0AutoVolumeCreate Automatically create RAID0 volumes.
	RAID0AutoVolumeCreate AutoVolumeCreate = "RAID0"
	// RAID1AutoVolumeCreate Automatically create RAID1 volumes.
	RAID1AutoVolumeCreate AutoVolumeCreate = "RAID1"
)

type AutomaticRetryConfig added in v0.16.0

type AutomaticRetryConfig string
const (
	// DisabledAutomaticRetryConfig shall indicate that automatic retrying of booting is disabled.
	DisabledAutomaticRetryConfig AutomaticRetryConfig = "Disabled"
	// RetryAttemptsAutomaticRetryConfig shall indicate that the number of retries of booting is based on the
	// AutomaticRetryAttempts property, and the RemainingAutomaticRetryAttempts property indicates the number of
	// remaining attempts.
	RetryAttemptsAutomaticRetryConfig AutomaticRetryConfig = "RetryAttempts"
	// RetryAlwaysAutomaticRetryConfig shall indicate that the system will always automatically retry booting.
	RetryAlwaysAutomaticRetryConfig AutomaticRetryConfig = "RetryAlways"
)

type BFDSingleHopOnly added in v0.16.0

type BFDSingleHopOnly struct {
	// DemandModeEnabled shall indicate if Bidirectional Forwarding Detection (BFD) Demand Mode is enabled. In Demand
	// mode, no periodic BFD Control packets will flow in either direction.
	DemandModeEnabled bool
	// DesiredMinTxIntervalMilliseconds shall contain the minimum interval, in milliseconds, that the local system
	// would like to use when transmitting Bidirectional Forwarding Detection (BFD) Control packets, less any jitter
	// applied.
	DesiredMinTxIntervalMilliseconds int
	// KeyChain shall contain the name of the Bidirectional Forwarding Detection (BFD) Key Chain.
	KeyChain string
	// LocalMultiplier shall contain the Bidirectional Forwarding Detection (BFD) multiplier value. A BFD multiplier
	// consists of the number of consecutive BFD packets that shall be missed from a BFD peer before declaring that
	// peer unavailable and informing the higher-layer protocols of the failure.
	LocalMultiplier int
	// MeticulousModeEnabled shall indicate whether the keyed MD5 sequence number is updated with every packet. If
	// 'true', the keyed MD5 sequence number is updated with every packet. If 'false', it is updated periodically.
	MeticulousModeEnabled bool
	// RequiredMinRxIntervalMilliseconds shall contain the Bidirectional Forwarding Detection (BFD) receive value. The
	// BFD receive value determines how frequently (in milliseconds) BFD packets will be expected to be received from
	// BFD peers.
	RequiredMinRxIntervalMilliseconds int
	// SourcePort shall contain the Bidirectional Forwarding Detection (BFD) source port.
	SourcePort int
}

BFDSingleHopOnly shall contain the BFD-related properties for an Ethernet fabric that uses Bidirectional Forwarding Detection (BFD) for link fault detection.

type BGPEvpn added in v0.16.0

type BGPEvpn struct {
	// ARPProxyEnabled shall indicate whether proxy Address Resolution Protocol (ARP) is enabled.
	ARPProxyEnabled bool
	// ARPSupressionEnabled shall indicate whether Address Resolution Protocol (ARP) suppression is enabled.
	ARPSupressionEnabled bool
	// AnycastGatewayIPAddress shall contain the anycast gateway IPv4 address for a host subnet.
	AnycastGatewayIPAddress string
	// AnycastGatewayMACAddress shall contain the anycast gateway MAC address for a host subnet.
	AnycastGatewayMACAddress string
	// ESINumberRange shall contain Ethernet Segment Identifier (ESI) number ranges for allocation in supporting
	// functions such as multihoming.
	ESINumberRange ESINumberRange
	// EVINumberRange shall contain the Ethernet Virtual Private Network (EVPN) Instance number (EVI) range for EVPN-
	// based fabrics.
	EVINumberRange EVINumberRange
	// GatewayIPAddress shall contain the Gateway IPv4 address for a host subnet.
	GatewayIPAddress string
	// GatewayIPAddressRange shall contain the IPv4 address range for gateway nodes on this subnet.
	GatewayIPAddressRange GatewayIPAddressRange
	// NDPProxyEnabled shall indicate whether Network Discovery Protocol (NDP) proxy is enabled.
	NDPProxyEnabled bool
	// NDPSupressionEnabled shall indicate whether Network Discovery Protocol (NDP) suppression is enabled.
	NDPSupressionEnabled bool
	// RouteDistinguisherAdministratorSubfield shall contain the RFC4364-defined Route Distinguisher (RD) Administrator
	// subfield.
	RouteDistinguisherAdministratorSubfield string
	// RouteDistinguisherRange shall contain the Route Distinguisher (RD) Instance number range for Ethernet Virtual
	// Private Network (EVPN) based fabrics.
	RouteDistinguisherRange RouteDistinguisherRange
	// RouteTargetAdministratorSubfield shall contain the RFC4364-defined Route Target (RT) Administrator subfield.
	RouteTargetAdministratorSubfield string
	// RouteTargetRange shall contain the Route Target (RT) Instance number range for Ethernet Virtual Private Network
	// (EVPN) based fabrics.
	RouteTargetRange RouteTargetRange
	// UnderlayMulticastEnabled shall indicate whether multicast is enabled on the Ethernet fabric underlay.
	UnderlayMulticastEnabled bool
	// UnknownUnicastSuppressionEnabled shall indicate whether unknown unicast packets should be suppressed.
	UnknownUnicastSuppressionEnabled bool
	// VLANIdentifierAddressRange shall contain the Virtual LAN (VLAN) tag related address range applicable to this
	// Ethernet fabric or for endpoint host subnets. VLAN tags can be used for the purpose of identifying packets
	// belonging to different networks.
	VLANIdentifierAddressRange VLANIdentifierAddressRange
}

BGPEvpn shall contain the EVPN-related properties for an Ethernet fabric that uses an IETF-defined Ethernet Virtual Private Network (EVPN) based control plane specification based on RFC7432.

type BGPNeighbor added in v0.16.0

type BGPNeighbor struct {
	// Address shall contain the IPv4 address assigned to a Border Gateway Protocol (BGP) neighbor.
	Address string
	// AllowOwnASEnabled shall indicate whether the Autonomous System (AS) of the receiving router is permitted in a
	// Border Gateway Protocol (BGP) update. If 'true', routes should be received and processed even if the router
	// detects its own ASN in the AS-Path. If 'false', they should be dropped.
	AllowOwnASEnabled bool
	// CIDR shall contain the RFC4271-defined Classless Inter-Domain Routing (CIDR) value.
	CIDR string
	// ConnectRetrySeconds shall contain the Border Gateway Protocol (BGP) Retry Timer. The BGP Retry Timer allows the
	// administrator to set the amount of time in seconds between retries to establish a connection to configured peers
	// that have gone down.
	ConnectRetrySeconds int
	// Enabled shall indicate whether BGP neighbor communication is enabled.
	Enabled string
	// HoldTimeSeconds shall contain the Border Gateway Protocol (BGP) Hold Timer agreed upon between peers.
	HoldTimeSeconds int
	// KeepaliveIntervalSeconds shall contain the Keepalive timer in seconds. It is used in conjunction with the Border
	// Gateway Protocol (BGP) hold timer.
	KeepaliveIntervalSeconds int
	// LocalAS shall contain the Autonomous System (AS) number of the local Border Gateway Protocol (BGP) peer.
	LocalAS int
	// LogStateChangesEnabled shall indicate whether Border Gateway Protocol (BGP) neighbor state changes are logged.
	LogStateChangesEnabled bool
	// MaxPrefix These properties are applicable to configuring Border Gateway Protocol (BGP) max prefix related
	// properties.
	MaxPrefix MaxPrefix
	// MinimumAdvertisementIntervalSeconds shall contain the minimum time between Border Gateway Protocol (BGP) route
	// advertisements in seconds.
	MinimumAdvertisementIntervalSeconds int
	// PassiveModeEnabled shall indicate whether Border Gateway Protocol (BGP) passive mode is enabled.
	PassiveModeEnabled bool
	// PathMTUDiscoveryEnabled shall indicate whether MTU discovery is permitted.
	PathMTUDiscoveryEnabled bool
	// PeerAS shall contain the Autonomous System (AS) number of the external Border Gateway Protocol (BGP) peer.
	PeerAS int
	// ReplacePeerASEnabled shall indicate whether peer Autonomous System (AS) numbers should be replaced. If 'true',
	// private ASNs are removed and replaced with the peer AS. If 'false', they remain unchanged.
	ReplacePeerASEnabled bool
	// TCPMaxSegmentSizeBytes shall contain the TCP max segment size in bytes signifying the number of bytes that shall
	// be transported in a single packet.
	TCPMaxSegmentSizeBytes int
	// TreatAsWithdrawEnabled shall indicate Border Gateway Protocol (BGP) withdraw status. If 'true', the UPDATE
	// message containing the path attribute shall be treated as though all contained routes had been withdrawn. If
	// 'false', they should remain.
	TreatAsWithdrawEnabled bool
}

BGPNeighbor shall contain all Border Gateway Protocol (BGP) neighbor related properties.

type BGPRoute added in v0.16.0

type BGPRoute struct {
	// AdvertiseInactiveRoutesEnabled shall indicate whether inactive routes should be advertised. If 'true', advertise
	// the best Border Gateway Protocol (BGP) route that is inactive because of Interior Gateway Protocol (IGP)
	// preference. If 'false', do not use as part of BGP best path selection.
	AdvertiseInactiveRoutesEnabled bool
	// DistanceExternal shall modify the administrative distance for routes learned via External BGP (eBGP).
	DistanceExternal int
	// DistanceInternal shall modify the administrative distance for routes learned via Internal BGP (iBGP).
	DistanceInternal int
	// DistanceLocal shall modify the administrative distance for routes configured on a local router.
	DistanceLocal int
	// ExternalCompareRouterIdEnabled shall indicate whether external router identifiers should be compared. If 'true',
	// prefer the route that comes from the Border Gateway Protocol (BGP) router with the lowest router identifier. If
	// 'false', do not use as part of BGP best path selection.
	ExternalCompareRouterIDEnabled bool `json:"ExternalCompareRouterIdEnabled"`
	// FlapDampingEnabled shall indicate whether route flap dampening should be enabled.
	FlapDampingEnabled bool
	// SendDefaultRouteEnabled shall indicate whether the default route should be advertised. If 'true', the default
	// route is advertised to all Border Gateway Protocol (BGP) neighbors unless specifically denied. If 'false', the
	// default route is not advertised.
	SendDefaultRouteEnabled bool
}

BGPRoute shall contain properties that are applicable to configuring Border Gateway Protocol (BGP) route related properties.

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 BaseSpeedPrioritySettings added in v0.16.0

type BaseSpeedPrioritySettings struct {
	// BaseSpeedMHz shall contain the clock speed to configure the set of cores in MHz.
	BaseSpeedMHz int
	// CoreCount shall contain the number of cores to configure with the speed specified by the BaseSpeedMHz property.
	// The sum of all CoreCount properties shall equal the value of the TotalAvailableCoreCount property.
	CoreCount int
	// CoreIDs shall contain an array identifying the cores to configure with the speed specified by the BaseSpeedMHz
	// property. The length of the array shall equal the value of the CoreCount property.
	CoreIDs []int
}

BaseSpeedPrioritySettings shall specify the clock speed for a set of cores.

type BaseSpeedPriorityState added in v0.15.0

type BaseSpeedPriorityState string

The state of the base frequency settings of the operation configuration applied to this processor.

const (
	// Base speed priority is disabled.
	DisabledBaseSpeedPriority BaseSpeedPriorityState = "Disabled"
	// Base speed priority is enabled.
	EnabledBaseSpeedPriority BaseSpeedPriorityState = "Enabled"
)

type BasicAuthState added in v0.16.0

type BasicAuthState string

BasicAuthState is the state of basic authentication support.

const (
	// EnabledBasicAuthState shall indicate that HTTP Basic authentication is enabled for the service. The service
	// shall include the 'WWW-Authenticate' HTTP response header with the value including 'Basic' when returning the
	// HTTP 401 (Unauthorized) status code.
	EnabledBasicAuthState BasicAuthState = "Enabled"
	// UnadvertisedBasicAuthState shall indicate that HTTP Basic authentication is enabled for the service. The service
	// shall not include 'Basic' in the value of the 'WWW-Authenticate' HTTP response header and may omit the header
	// entirely from responses. The lack of advertisement prevents some clients from accessing the service with HTTP
	// Basic authentication, such as web browsers.
	UnadvertisedBasicAuthState BasicAuthState = "Unadvertised"
	// DisabledBasicAuthState shall indicate that HTTP Basic authentication is disabled for the service.
	DisabledBasicAuthState BasicAuthState = "Disabled"
)

type Battery added in v0.16.0

type Battery 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"`

	// CapacityActualAmpHours shall contain the actual maximum capacity of this battery in amp-hour units.
	CapacityActualAmpHours float64
	// CapacityActualWattHours shall contain the actual maximum capacity of this battery in watt-hour units.
	CapacityActualWattHours float64
	// CapacityRatedAmpHours shall contain the rated maximum capacity of this battery in amp-hour units.
	CapacityRatedAmpHours float64
	// CapacityRatedWattHours shall contain the rated maximum capacity of this battery in watt-hour units.
	CapacityRatedWattHours float64
	// ChargeState shall contain the charge state of this battery.
	ChargeState ChargeState
	// Description provides a description of this resource.
	Description string
	// FirmwareVersion shall contain the firmware version as defined by the manufacturer for this battery.
	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
	// Location shall contain the location information of this battery.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// Manufacturer shall contain the name of the organization responsible for producing the battery. This organization
	// may be the entity from whom the battery is purchased, but this is not necessarily true.
	Manufacturer string
	// MaxChargeRateAmps shall contain the maximum charge rate of this battery in amp units.
	MaxChargeRateAmps float64
	// MaxChargeVoltage shall contain the maximum charge voltage of this battery.
	MaxChargeVoltage float64
	// MaxDischargeRateAmps shall contain the maximum discharge rate of this battery in amp units.
	MaxDischargeRateAmps float64

	// Model shall contain the model information as defined by the manufacturer for this battery.
	Model string
	// PartNumber shall contain the part number as defined by the manufacturer for this battery.
	PartNumber string
	// ProductionDate shall contain the date of production or manufacture for this battery.
	ProductionDate string
	// Replaceable shall indicate whether this component can be independently replaced as allowed by the vendor's
	// replacement policy. A value of 'false' indicates the component needs to be replaced by policy as part of another
	// component. If the 'LocationType' property of this component contains 'Embedded', this property shall contain
	// 'false'.
	Replaceable bool
	// SerialNumber shall contain the serial number as defined by the manufacturer for this battery.
	SerialNumber string
	// SparePartNumber shall contain the spare or replacement part number as defined by the manufacturer for this
	// battery.
	SparePartNumber string
	// StateOfHealthPercent shall contain the state of health, in percent units, of this battery. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Percent'.
	StateOfHealthPercent SensorExcerpt
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// Version shall contain the hardware version of this battery as determined by the vendor or supplier.
	Version string

	// MemoryCount is the number of associated Memory devices.
	MemoryCount int

	// StorageControllersCount is the number of associated StorageControllers.
	StorageControllersCount int
	// contains filtered or unexported fields
}

Battery shall represent a battery for a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed if the State property within the Status property contains 'Absent'.

func GetBattery added in v0.16.0

func GetBattery(c common.Client, uri string) (*Battery, error)

GetBattery will get a Battery instance from the service.

func ListReferencedBatterys added in v0.16.0

func ListReferencedBatterys(c common.Client, link string) ([]*Battery, error)

ListReferencedBatterys gets the collection of Battery from a provided reference.

func (*Battery) Assembly added in v0.16.0

func (battery *Battery) Assembly() (*Assembly, error)

Assembly get the containing assembly of this battery.

func (*Battery) BatteryMetrics added in v0.17.0

func (battery *Battery) BatteryMetrics() (*BatteryMetrics, error)

BatteryMetrics get the metrics for this battery.

func (*Battery) Calibrate added in v0.16.0

func (battery *Battery) Calibrate() error

Calibrate performs a self-calibration, or learn cycle, of the battery.

func (*Battery) Memory added in v0.16.0

func (battery *Battery) Memory() ([]*Memory, error)

Memory returns a collection of Memory devices associated with this Battery.

func (*Battery) Reset added in v0.16.0

func (battery *Battery) Reset(resetType ResetType) error

Reset resets the battery.

func (*Battery) SelfTest added in v0.16.0

func (battery *Battery) SelfTest() error

SelfTest performs a self-test of the battery.

func (*Battery) StorageControllers added in v0.16.0

func (battery *Battery) StorageControllers() ([]*StorageController, error)

StorageControllers returns a collection of StorageControllers associated with this Battery.

func (*Battery) UnmarshalJSON added in v0.16.0

func (battery *Battery) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Battery object from the raw JSON.

func (*Battery) Update added in v0.16.0

func (battery *Battery) Update() error

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

type BatteryMetrics added in v0.16.0

type BatteryMetrics 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"`
	// CellVoltages shall contain the cell voltages, in volt units, for this battery. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Voltage'.
	CellVoltages []SensorVoltageExcerpt
	// CellVoltages@odata.count
	CellVoltagesCount int `json:"CellVoltages@odata.count"`
	// ChargePercent shall contain the amount of charge available, in percent units, typically '0' to '100', in this
	// battery. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'Percent'.
	ChargePercent SensorExcerpt
	// Description provides a description of this resource.
	Description string
	// DischargeCycles shall contain the number of discharges this battery has sustained.
	DischargeCycles float64
	// InputCurrentAmps shall contain the input current, in ampere units, for this battery. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Current'.
	InputCurrentAmps SensorCurrentExcerpt
	// InputVoltage shall contain the input voltage, in volt units, for this battery. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Voltage'.
	InputVoltage SensorVoltageExcerpt
	// OutputCurrentAmps shall contain the output currents, in ampere units, for this battery. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Current'. The sensors shall appear in the same array order as the OutputVoltages property.
	OutputCurrentAmps []SensorCurrentExcerpt
	// OutputCurrentAmps@odata.count
	OutputCurrentAmpsCount int `json:"OutputCurrentAmps@odata.count"`
	// OutputVoltages shall contain the output voltages, in volt units, for this battery. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Voltage'. The sensors shall appear in the same array order as the OutputCurrentAmps
	// property.
	OutputVoltages []SensorVoltageExcerpt
	// OutputVoltages@odata.count
	OutputVoltagesCount int `json:"OutputVoltages@odata.count"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// StoredChargeAmpHours shall contain the stored charge, in ampere-hour units, for this battery. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'ChargeAh'.
	StoredChargeAmpHours SensorExcerpt
	// StoredEnergyWattHours shall contain the stored energy, in watt-hour units, for this battery. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'EnergyWh'.
	StoredEnergyWattHours SensorExcerpt
	// TemperatureCelsius shall contain the temperature, in degree Celsius units, for this battery. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Temperature'.
	TemperatureCelsius SensorExcerpt
}

BatteryMetrics shall be used to represent the metrics of a battery unit for a Redfish implementation.

func GetBatteryMetrics added in v0.16.0

func GetBatteryMetrics(c common.Client, uri string) (*BatteryMetrics, error)

GetBatteryMetrics will get a BatteryMetrics instance from the service.

func ListReferencedBatteryMetricss added in v0.16.0

func ListReferencedBatteryMetricss(c common.Client, link string) ([]*BatteryMetrics, error)

ListReferencedBatteryMetricss gets the collection of BatteryMetrics from a provided reference.

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 SettingsAttributes
	// 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) GetActiveSoftwareImage added in v0.12.0

func (bios *Bios) GetActiveSoftwareImage() (*SoftwareInventory, error)

GetActiveSoftwareImage gets the SoftwareInventory which represents the active BIOS firmware image.

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 SettingsAttributes) error

UpdateBiosAttributes is used to update attribute values.

func (*Bios) UpdateBiosAttributesApplyAt added in v0.14.0

func (bios *Bios) UpdateBiosAttributesApplyAt(attrs SettingsAttributes, applyTime common.ApplyTime) error

UpdateBiosAttributesApplyAt is used to update attribute values and set apply time together

type BitRate added in v0.15.0

type BitRate string

The receive and transmit rate of data flow, typically in bits per second (bit/s), over the serial connection.

const (
	// A bit rate of 1200 bit/s.
	BitRate1200 BitRate = "1200"
	// A bit rate of 2400 bit/s.
	BitRate2400 BitRate = "2400"
	// A bit rate of 4800 bit/s.
	BitRate4800 BitRate = "4800"
	// A bit rate of 9600 bit/s.
	BitRate9600 BitRate = "9600"
	// A bit rate of 19200 bit/s.
	BitRate19200 BitRate = "19200"
	// A bit rate of 38400 bit/s.
	BitRate38400 BitRate = "38400"
	// A bit rate of 57600 bit/s.
	BitRate57600 BitRate = "57600"
	// A bit rate of 115200 bit/s.
	BitRate115200 BitRate = "115200"
	// A bit rate of 230400 bit/s.
	BitRate230400 BitRate = "230400"
)

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"`
	// AutomaticRetryAttempts is the number of attempts the system will automatically retry
	// booting in the event the system enters an error state on boot.
	AutomaticRetryAttempts int `json:",omitempty"`
	// AutomaticRetryConfig is how the system retries booting automatically.
	AutomaticRetryConfig AutomaticRetryConfig `json:",omitempty"`
	// BootNext shall contain 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 set to 'Continuous' is not supported for BootSourceOverrideTarget set to
	// 'UefiBootNext' because this setting is defined in UEFI as a one-time boot setting.
	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"`

	// The URI to boot from when BootSourceOverrideTarget is set to UefiHttp.
	HTTPBootURI string `json:"HttpBootUri,omitempty"`
	// RemainingAutomaticRetryAttempts shall contain the number of attempts remaining the system will retry booting in
	// the event the system enters an error state on boot. If '0', the system has no remaining automatic boot retry
	// attempts and shall not automatically retry booting if the system enters an error state. This property shall be
	// reset to the value of AutomaticRetryAttempts upon a successful boot attempt.
	RemainingAutomaticRetryAttempts int `json:",omitempty"`
	// StopBootOnFault shall contain the setting if the boot should stop on a fault.
	StopBootOnFault StopBootOnFault `json:",omitempty"`
	// TrustedModuleRequiredToBoot shall contain the Trusted Module boot requirement.
	TrustedModuleRequiredToBoot TrustedModuleRequiredToBoot `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"
	// HTTPBootMode Boot this device by using the embedded HTTP/HTTPS support. Only applicable if the NetDevFuncType is
	// 'Ethernet'.
	HTTPBootMode BootMode = "HTTP"
)

type BootOption added in v0.14.0

type BootOption struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Alias is the alias of this boot source if one exists.
	Alias BootSourceOverrideTarget
	// BootOptionEnabled is an indication of whether the boot option is
	// enabled. If true , it is enabled. If false, the boot option that the
	// boot order array on the computer system contains is skipped. In the
	// UEFI context, this property shall influence the load option active
	// flag for the boot option.
	BootOptionEnabled bool
	// BootOptionReference is the unique identifier seen in Boot.BootOrder.
	BootOptionReference string
	// DisplayName is the user-readable display name of the boot option
	// that appears in the boot order list in the user interface.
	DisplayName string
	// UefiDevicePath is the UEFI device path to access this UEFI boot
	// option.
	UefiDevicePath string
}

BootOption represents the properties of a bootable device available in the system.

func GetBootOption added in v0.14.0

func GetBootOption(c common.Client, uri string) (*BootOption, error)

GetBootOption will get a BootOption instance from the service.

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 BootProgress added in v0.16.0

type BootProgress struct {
	// LastBootTimeSeconds shall contain the number of seconds that elapsed between system reset or power on and
	// LastState transitioning to 'OSRunning'. If LastState contains 'OSRunning', this property shall contain the most
	// recent boot time. For other values of LastState, this property shall contain the boot time for the previous
	// boot.
	LastBootTimeSeconds float64
	// LastState shall contain the last boot progress state.
	LastState BootProgressTypes
	// LastStateTime shall contain the date and time when the last boot state was updated.
	LastStateTime string
}

BootProgress shall contain the last boot progress state and time.

type BootProgressTypes added in v0.16.0

type BootProgressTypes string
const (
	// NoneBootProgressTypes shall indicate that the system is not booting or running, such as the system is powered
	// off.
	NoneBootProgressTypes BootProgressTypes = "None"
	// PrimaryProcessorInitializationStartedBootProgressTypes shall indicate that the system has started to initialize
	// the primary processor.
	PrimaryProcessorInitializationStartedBootProgressTypes BootProgressTypes = "PrimaryProcessorInitializationStarted"
	// BusInitializationStartedBootProgressTypes shall indicate that the system has started to initialize the buses.
	BusInitializationStartedBootProgressTypes BootProgressTypes = "BusInitializationStarted"
	// MemoryInitializationStartedBootProgressTypes shall indicate that the system has started to initialize the
	// memory.
	MemoryInitializationStartedBootProgressTypes BootProgressTypes = "MemoryInitializationStarted"
	// SecondaryProcessorInitializationStartedBootProgressTypes shall indicate that the system has started to
	// initialize the secondary processors.
	SecondaryProcessorInitializationStartedBootProgressTypes BootProgressTypes = "SecondaryProcessorInitializationStarted"
	// PCIResourceConfigStartedBootProgressTypes shall indicate that the system has started to initialize the PCI
	// resources.
	PCIResourceConfigStartedBootProgressTypes BootProgressTypes = "PCIResourceConfigStarted"
	// SystemHardwareInitializationCompleteBootProgressTypes shall indicate that the system has completed initializing
	// all hardware.
	SystemHardwareInitializationCompleteBootProgressTypes BootProgressTypes = "SystemHardwareInitializationComplete"
	// SetupEnteredBootProgressTypes shall indicate that the system has entered the setup utility.
	SetupEnteredBootProgressTypes BootProgressTypes = "SetupEntered"
	// OSBootStartedBootProgressTypes shall indicate that the operating system has started to boot.
	OSBootStartedBootProgressTypes BootProgressTypes = "OSBootStarted"
	// OSRunningBootProgressTypes shall indicate that the operating system is running and shall indicate the final boot
	// progress state.
	OSRunningBootProgressTypes BootProgressTypes = "OSRunning"
	// OEMBootProgressTypes shall indicate an OEM-defined boot progress state.
	OEMBootProgressTypes BootProgressTypes = "OEM"
)

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 contain the logical unit number (LUN) ID from which to boot on the device to which the corresponding
	// WWPN refers.
	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.

type BootTimeStatistics added in v0.16.0

type BootTimeStatistics struct {
	// FirmwareTimeSeconds shall contain the number of seconds the manager spent in the firmware stage.
	FirmwareTimeSeconds float64
	// InitrdTimeSeconds shall contain the number of seconds the manager spent in the initrd boot stage.
	InitrdTimeSeconds float64
	// KernelTimeSeconds shall contain the number of seconds the manager spent in the kernel stage.
	KernelTimeSeconds float64
	// LoaderTimeSeconds shall contain the number of seconds the manager spent in the loader stage.
	LoaderTimeSeconds float64
	// UserSpaceTimeSeconds shall contain the number of seconds the manager spent in the user space boot stage.
	UserSpaceTimeSeconds float64
}

BootTimeStatistics shall contain the boot-time statistics of a manager.

type BreakerState added in v0.15.0

type BreakerState string

The state of the over current protection device.

const (
	// The breaker is powered on.
	NormalBreakerState BreakerState = "Normal"
	// The breaker is off.
	OffBreakerState BreakerState = "Off"
	// The breaker has been tripped.
	TrippedBreakerState BreakerState = "Tripped"
)

type CHAPConnectionKey added in v0.16.0

type CHAPConnectionKey struct {
	// CHAPPassword shall contain the password for CHAP authentication. The value shall be 'null' in responses.
	CHAPPassword string
	// CHAPUsername shall contain the username for CHAP authentication.
	CHAPUsername string
	// InitiatorCHAPPassword shall contain the initiator shared secret for mutual (2-way) CHAP authentication. The
	// value shall be 'null' in responses.
	InitiatorCHAPPassword string
	// InitiatorCHAPUsername shall contain the initiator username for mutual (2-way) CHAP authentication. For example,
	// this would be the initiator iQN in iSCSI environments.
	InitiatorCHAPUsername string
	// TargetCHAPPassword shall contain the target shared secret for mutual (2-way) CHAP authentication. The value
	// shall be 'null' in responses.
	TargetCHAPPassword string
}

CHAPConnectionKey shall contain the CHAP-specific permission key information for a connection.

type CPER added in v0.16.0

type CPER struct {
	// NotificationType shall contain the CPER Notification Type for a CPER record that corresponds to the contents of
	// the DiagnosticData property or data retrieved from the URI specified by the AdditionalDataURI property. This
	// property shall only be present if DiagnosticDataType contains 'CPER'.
	NotificationType string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SectionType shall contain the CPER Section Type for a CPER section that corresponds to the contents of the
	// DiagnosticData property or data retrieved from the URI specified by the AdditionalDataURI property. This
	// property shall only be present if DiagnosticDataType contains 'CPERSection'.
	SectionType string
}

CPER shall contain the details for a CPER section or record that is the source of an event.

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 CStateResidency added in v0.16.0

type CStateResidency struct {
	// Level shall contain the C-state level, such as C0, C1, or C2. When this resource is subordinate to the
	// ProcessorSummary object, this property is not applicable.
	Level string
	// ResidencyPercent shall contain the percentage of time, '0' to '100', that the processor or core has spent in
	// this particular level of C-state. When this resource is subordinate to the ProcessorSummary object, this
	// property is not applicable.
	ResidencyPercent float64
}

CStateResidency shall contain properties that describe the C-state residency of the processor or core.

type CXLDevice added in v0.16.0

type CXLDevice struct {
	// DeviceType shall contain the CXL device type.
	DeviceType CXLDeviceType
	// DynamicCapacity shall contain the CXL dynamic capacity device (DCD) information for this CXL device.
	DynamicCapacity CXLDynamicCapacity
	// EgressPortCongestionSupport shall indicate whether the CXL device supports the CXL Specification-defined 'Egress
	// Port Congestion' mechanism.
	EgressPortCongestionSupport bool
	// MaxNumberLogicalDevices shall contain the maximum number of logical devices supported by this CXL device.
	MaxNumberLogicalDevices int
	// ThroughputReductionSupport shall indicate whether the CXL device supports the CXL Specification-defined
	// 'Throughput Reduction' mechanism.
	ThroughputReductionSupport bool
	// Timestamp shall contain the timestamp set on the CXL device.
	Timestamp string
}

CXLDevice shall contain CXL-specific properties of a PCIe device.

type CXLDeviceType added in v0.16.0

type CXLDeviceType string
const (
	// Type1CXLDeviceType shall indicate a CXL Specification-defined Type 1 device.
	Type1CXLDeviceType CXLDeviceType = "Type1"
	// Type2CXLDeviceType shall indicate a CXL Specification-defined Type 2 device.
	Type2CXLDeviceType CXLDeviceType = "Type2"
	// Type3CXLDeviceType shall indicate a CXL Specification-defined Type 3 device.
	Type3CXLDeviceType CXLDeviceType = "Type3"
)

type CXLDynamicCapacity added in v0.16.0

type CXLDynamicCapacity struct {
	// AddCapacityPoliciesSupported shall contain the CXL Specification-defined dynamic capacity policies that are
	// supported by this CXL device when dynamic capacity is added.
	AddCapacityPoliciesSupported []CXLDynamicCapacityPolicies
	// MaxDynamicCapacityRegions shall contain the maximum number of dynamic capacity memory regions available per host
	// from this CXL device.
	MaxDynamicCapacityRegions int
	// MaxHosts shall contain the maximum number of hosts supported by this CXL device.
	MaxHosts int
	// MemoryBlockSizesSupported shall contain the set of memory block sizes supported by memory regions in this CXL
	// device.
	MemoryBlockSizesSupported []CXLRegionBlockSizes
	// ReleaseCapacityPoliciesSupported shall contain the CXL Specification-defined dynamic capacity policies that are
	// supported by this CXL device when dynamic capacity is released.
	ReleaseCapacityPoliciesSupported []CXLDynamicCapacityPolicies
	// SanitizationOnReleaseSupport shall indicate whether the sanitization on capacity release is configurable for the
	// memory regions in this CXL device.
	SanitizationOnReleaseSupport []CXLRegionSanitization
	// TotalDynamicCapacityMiB shall contain the total memory media capacity of the CXL device available for dynamic
	// assignment in mebibytes (MiB).
	TotalDynamicCapacityMiB int
}

CXLDynamicCapacity shall contain the CXL dynamic capacity device (DCD) information for a CXL device.

type CXLDynamicCapacityPolicies added in v0.16.0

type CXLDynamicCapacityPolicies string
const (
	// FreeCXLDynamicCapacityPolicies shall indicate the CXL Specification-defined free add capacity policy.
	FreeCXLDynamicCapacityPolicies CXLDynamicCapacityPolicies = "Free"
	// ContiguousCXLDynamicCapacityPolicies shall indicate the CXL Specification-defined contiguous add capacity
	// policy.
	ContiguousCXLDynamicCapacityPolicies CXLDynamicCapacityPolicies = "Contiguous"
	// PrescriptiveCXLDynamicCapacityPolicies shall indicate the CXL Specification-defined prescriptive add or release
	// policy.
	PrescriptiveCXLDynamicCapacityPolicies CXLDynamicCapacityPolicies = "Prescriptive"
	// TagBasedCXLDynamicCapacityPolicies shall indicate the CXL Specification-defined tag-based release policy.
	TagBasedCXLDynamicCapacityPolicies CXLDynamicCapacityPolicies = "TagBased"
)

type CXLEntryType added in v0.16.0

type CXLEntryType string
const (
	// DynamicCapacityCXLEntryType is a CXL Dynamic Capacity log entry.
	DynamicCapacityCXLEntryType CXLEntryType = "DynamicCapacity"
	// InformationalCXLEntryType is a CXL informational log entry.
	InformationalCXLEntryType CXLEntryType = "Informational"
	// WarningCXLEntryType is a CXL warning log entry.
	WarningCXLEntryType CXLEntryType = "Warning"
	// FailureCXLEntryType is a CXL failure log entry.
	FailureCXLEntryType CXLEntryType = "Failure"
	// FatalCXLEntryType is a CXL fatal log entry.
	FatalCXLEntryType CXLEntryType = "Fatal"
)

type CXLLogicalDevice added in v0.16.0

type CXLLogicalDevice 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
	// Identifiers shall contain a list of all known durable names for the associated CXL logical device.
	Identifiers []common.Identifier

	// MemorySizeMiB shall contain the memory region size defined in this CXL logical device in mebibytes (MiB).
	MemorySizeMiB int
	// QoS shall contain the quality of service configuration for this CXL logical device.
	QoS QoS
	// QoSTelemetryCapabilities shall contain the quality of service telemetry capabilities for this CXL logical
	// device.
	QoSTelemetryCapabilities QoSTelemetryCapabilities
	// SemanticsSupported shall contain the CXL Specification-defined semantics that are supported by this CXL logical
	// device.
	SemanticsSupported []CXLSemantic
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// EndpointsCount is the number of endpoints associated with this CXL logical device.
	EndpointsCount int

	// MemoryChunksCount is the number of memory chunks owned by this CXL logical device.
	MemoryChunksCount int

	// MemoryDomainsCount is the number of memory domains associated with this CXL logical device.
	MemoryDomainsCount int

	// PCIeFunctionsCount is the number of PCIe functions assigned to this CXL logical device.
	PCIeFunctionsCount int
	// contains filtered or unexported fields
}

CXLLogicalDevice shall represent a CXL logical device that is a part of a PCIe device.

func GetCXLLogicalDevice added in v0.16.0

func GetCXLLogicalDevice(c common.Client, uri string) (*CXLLogicalDevice, error)

GetCXLLogicalDevice will get a CXLLogicalDevice instance from the service.

func ListReferencedCXLLogicalDevices added in v0.16.0

func ListReferencedCXLLogicalDevices(c common.Client, link string) ([]*CXLLogicalDevice, error)

ListReferencedCXLLogicalDevices gets the collection of CXLLogicalDevice from a provided reference.

func (*CXLLogicalDevice) Endpoints added in v0.16.0

func (cxllogicaldevice *CXLLogicalDevice) Endpoints() ([]*Endpoint, error)

Endpoints get the endpoints associated with this CXL logical device.

func (*CXLLogicalDevice) Log added in v0.16.0

func (cxllogicaldevice *CXLLogicalDevice) Log() (*LogService, error)

Log gets the LogService for this device.

func (*CXLLogicalDevice) MemoryChunks added in v0.16.0

func (cxllogicaldevice *CXLLogicalDevice) MemoryChunks() ([]*MemoryChunks, error)

MemoryChunks get the memory chunks associated with this CXL logical device.

func (*CXLLogicalDevice) MemoryDomains added in v0.16.0

func (cxllogicaldevice *CXLLogicalDevice) MemoryDomains() ([]*MemoryDomain, error)

MemoryDomains get the memory domains associated with this CXL logical device.

func (*CXLLogicalDevice) PCIeFunctions added in v0.16.0

func (cxllogicaldevice *CXLLogicalDevice) PCIeFunctions() ([]*PCIeDevice, error)

PCIeFunctions get the PCIe devices associated with this CXL logical device.

func (*CXLLogicalDevice) UnmarshalJSON added in v0.16.0

func (cxllogicaldevice *CXLLogicalDevice) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CXLLogicalDevice object from the raw JSON.

type CXLMemoryMetrics added in v0.16.0

type CXLMemoryMetrics struct {
	// AlertCapabilities shall contain the conditions that would generate an alert to the CXL Fabric Manager or host.
	AlertCapabilities AlertCapabilities
}

CXLMemoryMetrics shall contain the memory metrics specific to CXL devices.

type CXLPort added in v0.16.0

type CXLPort struct {
	// The congestion properties for this CXL port.
	Congestion Congestion
	// The connected device mode.
	ConnectedDeviceMode ConnectedDeviceMode
	// The connected device type.
	ConnectedDeviceType ConnectedDeviceType
	// The current port configuration state.
	CurrentPortConfigurationState CurrentPortConfigurationState
	// The maximum number of logical devices supported.
	MaxLogicalDeviceCount int
	// The quality of service telemetry capabilities for this CXL port.
	QoSTelemetryCapabilities QoSTelemetryCapabilities
	// Indicates whether temporary throughput reduction is enabled.
	TemporaryThroughputReductionEnabled bool
}

type CXLPortMetrics added in v0.16.0

type CXLPortMetrics struct {
	// BackpressureAveragePercentage shall contain CXL Specification-defined 'Backpressure Average Percentage' as a
	// percentage, typically '0' to '100'.
	BackpressureAveragePercentage string
}

CXLPortMetrics shall contain the port metrics specific to CXL ports.

type CXLRegionBlockSizes added in v0.16.0

type CXLRegionBlockSizes struct {
	// BlockSizeMiB shall contain the set of memory block sizes supported by this memory region, with units in MiB.
	BlockSizeMiB []string
	// RegionNumber shall contain the memory region number.
	RegionNumber int
}

CXLRegionBlockSizes shall contain the set of memory block sizes supported by memory region in the dynamic capacity device.

type CXLRegionSanitization added in v0.16.0

type CXLRegionSanitization struct {
	// RegionNumber shall contain the memory region number.
	RegionNumber int
	// SanitizationOnReleaseSupported shall indicate whether the sanitization on capacity release is configurable for
	// this memory region.
	SanitizationOnReleaseSupported bool
}

CXLRegionSanitization shall indicate whether the sanitization on capacity release is configurable for the memory region.

type CXLSemantic added in v0.16.0

type CXLSemantic string
const (
	// CXLioCXLSemantic shall indicate the device conforms with the CXL Specification-defined 'CXL.io' semantic.
	CXLioCXLSemantic CXLSemantic = "CXLio"
	// CXLcacheCXLSemantic shall indicate the device conforms with the CXL Specification-defined 'CXL.cache' semantic.
	CXLcacheCXLSemantic CXLSemantic = "CXLcache"
	// CXLmemCXLSemantic shall indicate the device conforms with the CXL Specification-defined 'CXL.mem' semantic.
	CXLmemCXLSemantic CXLSemantic = "CXLmem"
)

type Cable added in v0.16.0

type Cable 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"`
	// Assembly shall contain a link to a resource of type Assembly.
	Assembly string
	// AssetTag shall track the cable for inventory purposes.
	AssetTag string
	// CableClass shall contain the cable class for this cable.
	CableClass CableClass
	// CableStatus shall contain the user-reported status of this resource.
	CableStatus CableStatus
	// CableType shall contain a user-defined type for this cable.
	CableType string
	// Description provides a description of this resource.
	Description string
	// DownstreamConnectorTypes shall contain an array of connector types this cable supports.
	DownstreamConnectorTypes []CableConnectorType
	// DownstreamName shall contain any identifier for a downstream resource.
	DownstreamName string
	// LengthMeters shall contain the length of the cable in meters.
	LengthMeters float64
	// Location shall contain the location information of the associated assembly.
	Location common.Location
	// Manufacturer shall contain the name of the organization responsible for producing the cable. This organization
	// might be the entity from whom the cable is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the name by which the manufacturer generally refers to the cable.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the part number assigned by the organization that is responsible for producing or
	// manufacturing the cable.
	PartNumber string
	// SKU shall contain the stock-keeping unit (SKU) number for this cable.
	SKU string
	// SerialNumber shall contain the manufacturer-allocated number that identifies the cable.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UpstreamConnectorTypes shall contain an array of connector types this cable supports.
	UpstreamConnectorTypes []CableConnectorType
	// UpstreamName shall contain any identifier for an upstream resource.
	UpstreamName string
	// UserDescription shall contain a user-defined description for this cable.
	UserDescription string
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string
	// Vendor shall contain the name of the company that provides the final product that includes this cable.
	Vendor string

	// DownstreamChassisCount is the number of physical downstream containers connected to this cable.
	DownstreamChassisCount int

	// DownstreamPortsCount is the number of physical downstream connections connected to this cable.
	DownstreamPortsCount int

	// DownstreamResourcesCount is the number of physical downstream resources connected to this cable.
	DownstreamResourcesCount int

	// UpstreamChassisCount is the number of physical upstream containers connected to this cable.
	UpstreamChassisCount int

	// UpstreamPortsCount is the number of physical upstream connections connected to this cable.
	UpstreamPortsCount int

	// UpstreamResourcesCount is the number of physical upstream resources connected to this cable.
	UpstreamResourcesCount int
	// contains filtered or unexported fields
}

Cable contains a simple cable for a Redfish implementation.

func GetCable added in v0.16.0

func GetCable(c common.Client, uri string) (*Cable, error)

GetCable will get a Cable instance from the service.

func ListReferencedCables added in v0.16.0

func ListReferencedCables(c common.Client, link string) ([]*Cable, error)

ListReferencedCables gets the collection of Cable from a provided reference.

func (*Cable) DownstreamChassis added in v0.16.0

func (cable *Cable) DownstreamChassis() ([]*Chassis, error)

DownstreamChassis gets the physical downstream containers connected to this cable.

func (*Cable) DownstreamPorts added in v0.16.0

func (cable *Cable) DownstreamPorts() ([]*Port, error)

DownstreamPorts gets the physical downstream connections connected to this cable.

func (*Cable) UnmarshalJSON added in v0.16.0

func (cable *Cable) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Cable object from the raw JSON.

func (*Cable) Update added in v0.16.0

func (cable *Cable) Update() error

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

func (*Cable) UpstreamChassis added in v0.16.0

func (cable *Cable) UpstreamChassis() ([]*Chassis, error)

UpstreamChassis gets the physical upstream containers connected to this cable.

func (*Cable) UptreamPorts added in v0.16.0

func (cable *Cable) UptreamPorts() ([]*Port, error)

UpstreamPorts gets the physical upstream connections connected to this cable.

type CableClass added in v0.16.0

type CableClass string
const (
	// PowerCableClass is used for connecting to a power system.
	PowerCableClass CableClass = "Power"
	// NetworkCableClass is used for connecting to a networking system.
	NetworkCableClass CableClass = "Network"
	// StorageCableClass is used for connecting to a storage system.
	StorageCableClass CableClass = "Storage"
	// FanCableClass is used for connecting to a fan system.
	FanCableClass CableClass = "Fan"
	// PCIeCableClass is used for connecting to a PCIe endpoint.
	PCIeCableClass CableClass = "PCIe"
	// USBCableClass is used for connecting to a USB endpoint.
	USBCableClass CableClass = "USB"
	// VideoCableClass is used for connecting to a video system.
	VideoCableClass CableClass = "Video"
	// FabricCableClass is used for connecting to a fabric.
	FabricCableClass CableClass = "Fabric"
	// SerialCableClass is used for connecting to a serial endpoint.
	SerialCableClass CableClass = "Serial"
	// GeneralCableClass is used for providing general connectivity.
	GeneralCableClass CableClass = "General"
)

type CableConnectorType added in v0.16.0

type CableConnectorType string
const (
	// ACPowerCableConnectorType This cable connects to an AC power connector.
	ACPowerCableConnectorType CableConnectorType = "ACPower"
	// DB9CableConnectorType This cable connects to a DB9 connector.
	DB9CableConnectorType CableConnectorType = "DB9"
	// DCPowerCableConnectorType This cable connects to a DC power connector.
	DCPowerCableConnectorType CableConnectorType = "DCPower"
	// DisplayPortCableConnectorType This cable connects to a DisplayPort power connector.
	DisplayPortCableConnectorType CableConnectorType = "DisplayPort"
	// HDMICableConnectorType This cable connects to an HDMI connector.
	HDMICableConnectorType CableConnectorType = "HDMI"
	// ICICableConnectorType This cable connects to an ICI connector.
	ICICableConnectorType CableConnectorType = "ICI"
	// IPASSCableConnectorType This cable connects to an IPASS connector.
	IPASSCableConnectorType CableConnectorType = "IPASS"
	// PCIeCableConnectorType This cable connects to a PCIe connector.
	PCIeCableConnectorType CableConnectorType = "PCIe"
	// ProprietaryCableConnectorType This cable connects to a proprietary connector.
	ProprietaryCableConnectorType CableConnectorType = "Proprietary"
	// RJ45CableConnectorType This cable connects to an RJ45 connector.
	RJ45CableConnectorType CableConnectorType = "RJ45"
	// SATACableConnectorType This cable connects to a SATA connector.
	SATACableConnectorType CableConnectorType = "SATA"
	// SCSICableConnectorType This cable connects to a SCSI connector.
	SCSICableConnectorType CableConnectorType = "SCSI"
	// SlimSASCableConnectorType This cable connects to a SlimSAS connector.
	SlimSASCableConnectorType CableConnectorType = "SlimSAS"
	// SFPCableConnectorType This cable connects to an SFP connector.
	SFPCableConnectorType CableConnectorType = "SFP"
	// SFPPlusCableConnectorType This cable connects to an SFPPlus connector.
	SFPPlusCableConnectorType CableConnectorType = "SFPPlus"
	// USBACableConnectorType This cable connects to a USB-A connector.
	USBACableConnectorType CableConnectorType = "USBA"
	// USBCCableConnectorType This cable connects to a USB-C connector.
	USBCCableConnectorType CableConnectorType = "USBC"
	// QSFPCableConnectorType This cable connects to a QSFP connector.
	QSFPCableConnectorType CableConnectorType = "QSFP"
	// CDFPCableConnectorType This cable connects to a CDFP connector.
	CDFPCableConnectorType CableConnectorType = "CDFP"
	// OSFPCableConnectorType This cable connects to an OSFP connector.
	OSFPCableConnectorType CableConnectorType = "OSFP"
)

type CableStatus added in v0.16.0

type CableStatus string
const (
	// NormalCableStatus shall indicate the cable is operating normally. The State property in Status shall contain the
	// value 'Enabled' and the Health property in Status shall contain the value 'OK'.
	NormalCableStatus CableStatus = "Normal"
	// DegradedCableStatus shall indicate the cable is degraded. The State property in Status shall contain the value
	// 'Enabled' and the Health property in Status shall contain the value 'Warning'.
	DegradedCableStatus CableStatus = "Degraded"
	// FailedCableStatus shall indicate the cable has failed. The State property in Status shall contain the value
	// 'Enabled' and the Health property in Status shall contain the value 'Critical'.
	FailedCableStatus CableStatus = "Failed"
	// TestingCableStatus shall indicate the cable is under test. The State property in Status shall contain the value
	// 'InTest'.
	TestingCableStatus CableStatus = "Testing"
	// DisabledCableStatus shall indicate the cable is disabled. The State property in Status shall contain the value
	// 'Disabled'.
	DisabledCableStatus CableStatus = "Disabled"
	// SetByServiceCableStatus shall indicate the status for the cable is not defined by the user. If implemented, the
	// service shall determine the value of the State and Health properties in Status.
	SetByServiceCableStatus CableStatus = "SetByService"
)

type CacheMetrics added in v0.16.0

type CacheMetrics struct {
	// CacheMiss shall contain the number of cache line misses of the processor or core in millions.
	CacheMiss float64
	// CacheMissesPerInstruction shall contain the number of cache misses per instruction of the processor or core.
	CacheMissesPerInstruction float64
	// HitRatio shall contain the cache hit ratio of the processor or core.
	HitRatio float64
	// Level shall contain the level of the cache in the processor or core.
	Level string
	// OccupancyBytes shall contain the total cache occupancy of the processor or core in bytes.
	OccupancyBytes int
	// OccupancyPercent shall contain the total cache occupancy percentage, '0' to '100', of the processor or core.
	OccupancyPercent float64
}

CacheMetrics shall contain properties that describe cache metrics of a processor or core.

type CacheMetricsTotal added in v0.16.0

type CacheMetricsTotal struct {
	// CurrentPeriod shall contain properties that describe the metrics for the current period of cache memory for this
	// processor.
	CurrentPeriod CurrentPeriod
	// LifeTime shall contain properties that describe the metrics for the lifetime of the cache memory for this
	// processor.
	LifeTime ProcessorMetricsLifeTime
}

CacheMetricsTotal shall contain properties that describe the metrics for all of the cache memory for a processor.

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 Calculable added in v0.16.0

type Calculable string

Calculable ishall describe the types of calculations that can be applied to the metric reading.

const (
	// NonCalculatableCalculable No calculations should be performed on the metric reading.
	NonCalculatableCalculable Calculable = "NonCalculatable"
	// SummableCalculable The sum of the metric reading across multiple instances is meaningful.
	SummableCalculable Calculable = "Summable"
	// NonSummableCalculable The sum of the metric reading across multiple instances is not meaningful.
	NonSummableCalculable Calculable = "NonSummable"
)

type CalculationAlgorithmEnum added in v0.16.0

type CalculationAlgorithmEnum string

CalculationAlgorithmEnum shall specify the function to apply to the list of metric properties.

const (
	// AverageCalculationAlgorithmEnum shall indicate the metric is calculated as the average metric reading over a
	// duration. The duration shall be the CollectionDuration property value.
	AverageCalculationAlgorithmEnum CalculationAlgorithmEnum = "Average"
	// MaximumCalculationAlgorithmEnum shall indicate the metric is calculated as the maximum metric reading over a
	// duration. The duration shall be the CollectionDuration property value.
	MaximumCalculationAlgorithmEnum CalculationAlgorithmEnum = "Maximum"
	// MinimumCalculationAlgorithmEnum shall indicate the metric is calculated as the minimum metric reading over a
	// duration. The duration shall be the CollectionDuration property value.
	MinimumCalculationAlgorithmEnum CalculationAlgorithmEnum = "Minimum"
	// SummationCalculationAlgorithmEnum shall indicate the metric is calculated as the sum of the specified metric
	// reading over a duration. The duration shall be the CollectionDuration property value.
	SummationCalculationAlgorithmEnum CalculationAlgorithmEnum = "Summation"
)

type CalculationParamsType added in v0.16.0

type CalculationParamsType struct {
	// ResultMetric shall contain a URI with wildcards and property identifiers of the metric property that stores the
	// result of the calculation. A set of curly braces shall delimit each wildcard in the URI. The corresponding entry
	// in the Wildcard property shall replace each wildcard. After each wildcard is replaced, it shall identify a
	// resource property to which the metric definition applies. The property identifiers portion of the URI shall
	// follow RFC6901-defined JSON pointer notation rules.
	ResultMetric string
	// SourceMetric shall contain a URI with wildcards and property identifiers of the metric property used as the
	// input into the calculation. A set of curly braces shall delimit each wildcard in the URI. The corresponding
	// entry in the Wildcard property shall replace each wildcard. After each wildcard is replaced, it shall identify a
	// resource property to which the metric definition applies. The property identifiers portion of the URI shall
	// follow RFC6901-defined JSON pointer notation rules.
	SourceMetric string
}

CalculationParamsType shall contain the parameters for a metric calculation.

type Certificate added in v0.15.0

type Certificate struct {
	common.Entity

	Description string
	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// The string for the certificate.
	CertificateString string
	// The format of the certificate.
	CertificateType CertificateType
	// The types or purposes for this certificate.
	CertificateUsageTypes []CertificateUsageType
	// The fingerprint of the certificate.
	Fingerprint string
	// The hash algorithm for the fingerprint of the certificate.
	FingerprintHashAlgorithm string
	// The issuer of the certificate.
	Issuer CertificateIdentifier
	// The usages of a key contained within a certificate.
	KeyUsage []KeyUsageExtension
	// The serial number of the certificate.
	SerialNumber string
	// The algorithm used for creating the signature of the certificate.
	SignatureAlgorithm string
	// SPDM-related information for the certificate.
	SPDM SPDM
	// The subject of the certificate.
	Subject CertificateIdentifier
	// The UEFI signature owner for this certificate.
	UefiSignatureOwner string
	// The date when the certificate is no longer valid.
	ValidNotAfter string
	// The date when the certificate becomes valid.
	ValidNotBefore string
	Oem            json.RawMessage

	SubjectsCount int
	OemLinks      json.RawMessage

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

func GetCertificate added in v0.15.0

func GetCertificate(c common.Client, uri string) (*Certificate, error)

GetCertificate will get a Certificate instance from the Redfish service.

func ListReferencedCertificates added in v0.15.0

func ListReferencedCertificates(c common.Client, link string) ([]*Certificate, error)

ListReferencedCertificates gets the Certificates collection.

func (*Certificate) RekeyCertificate added in v0.15.0

func (certificate *Certificate) RekeyCertificate(challengePassword, keyCurveID, keyPairAlgorithm string, keyBitLength int) error

func (*Certificate) RenewCertificate added in v0.15.0

func (certificate *Certificate) RenewCertificate(challengePassword string) error

func (*Certificate) UnmarshalJSON added in v0.15.0

func (certificate *Certificate) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a NetworkAdapter object from the raw JSON.

type CertificateIdentifier added in v0.15.0

type CertificateIdentifier struct {
	// Additional common names of the entity.
	AdditionalCommonNames []string
	// Additional organizational units of the entity.
	AdditionalOrganizationalUnits []string
	// The additional host names of the entity.
	AlternativeNames []string
	// The city or locality of the organization of the entity.
	City string
	// The common name of the entity.
	CommonName string
	// The country of the organization of the entity.
	Country string
	// A human-readable string for this identifier.
	DisplayString string
	// The domain components of the entity.
	DomainComponents []string
	// The email address of the contact within the organization of the entity.
	Email string
	// The name of the organization of the entity.
	Organization string
	// The name of the unit or division of the organization of the entity.
	OrganizationalUnit string
	// The state, province, or region of the organization of the entity.
	State string
}

type CertificateLocations added in v0.16.0

type CertificateLocations 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

	// CertificatesCount is the number of certificates installed on this service.
	CertificatesCount int
	// contains filtered or unexported fields
}

CertificateLocations shall represent the certificate location properties for a Redfish implementation.

func GetCertificateLocations added in v0.16.0

func GetCertificateLocations(c common.Client, uri string) (*CertificateLocations, error)

GetCertificateLocations will get a CertificateLocations instance from the service.

func ListReferencedCertificateLocations added in v0.16.0

func ListReferencedCertificateLocations(c common.Client, link string) ([]*CertificateLocations, error)

ListReferencedCertificateLocationss gets the collection of CertificateLocations from a provided reference.

func (*CertificateLocations) Certificates added in v0.16.0

func (certificatelocations *CertificateLocations) Certificates() ([]*Certificate, error)

Certificates retrieves a collection of the Certificates installed on the system.

func (*CertificateLocations) UnmarshalJSON added in v0.16.0

func (certificatelocations *CertificateLocations) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CertificateLocations object from the raw JSON.

type CertificateMappingAttribute added in v0.16.0

type CertificateMappingAttribute string

CertificateMappingAttribute is how the certificate details are mapped to a user.

const (
	// WholeCertificateMappingAttribute shall indicate the service matches the entire certificate with a Certificate
	// resource subordinate to a ManagerAccount resource or the entire certificate matches the appropriate field from
	// an external account provider.
	WholeCertificateMappingAttribute CertificateMappingAttribute = "Whole"
	// CommonNameCertificateMappingAttribute shall indicate the service matches the RFC5280-defined 'commonName'
	// attribute in the provided certificate to the UserName property in a ManagerAccount resource or the appropriate
	// field from an external account provider.
	CommonNameCertificateMappingAttribute CertificateMappingAttribute = "CommonName"
	// UserPrincipalNameCertificateMappingAttribute shall indicate the service matches the User Principal Name (UPN)
	// field in the provided certificate to the UserName property in a ManagerAccount resource or the appropriate field
	// from an external account provider.
	UserPrincipalNameCertificateMappingAttribute CertificateMappingAttribute = "UserPrincipalName"
)

type CertificateService added in v0.16.0

type CertificateService 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
	// contains filtered or unexported fields
}

CertificateService shall represent the certificate service properties for a Redfish implementation.

func GetCertificateService added in v0.16.0

func GetCertificateService(c common.Client, uri string) (*CertificateService, error)

GetCertificateService will get a CertificateService instance from the service.

func ListReferencedCertificateServices added in v0.16.0

func ListReferencedCertificateServices(c common.Client, link string) ([]*CertificateService, error)

ListReferencedCertificateServices gets the collection of CertificateService from a provided reference.

func (*CertificateService) CertificateLocations added in v0.16.0

func (certificateservice *CertificateService) CertificateLocations() (*CertificateLocations, error)

CertificateLocations get the certificate locations.

func (*CertificateService) GenerateCSR added in v0.16.0

func (certificateservice *CertificateService) GenerateCSR(request *GenerateCSRRequest) (*GenerateCSRResponse, error)

GenerateCSR makes a certificate signing request. The response shall contain a signing request that a certificate authority (CA) will sign. The service should retain the private key that was generated during this request for installation of the certificate. WARNING: this has not been fully tested and is subject to change.

func (*CertificateService) ReplaceCertificate added in v0.16.0

func (certificateservice *CertificateService) ReplaceCertificate(certificateString string, certificateType CertificateType, certificateURI string) error

ReplaceCertificate replaces a certificate.

`certificateString` is the string of the certificate, and the format shall follow the requirements specified by the CertificateType property value. If the service does not know the private key for the certificate and it is needed to use the certificate, the client shall provide the private key as part of the string in the request.

`certificateType` specifies the format type of the certificate.

`certificateURI` is a link to a resource of type Certificate that is being replaced. WARNING: this has not been fully tested.

func (*CertificateService) UnmarshalJSON added in v0.16.0

func (certificateservice *CertificateService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CertificateService object from the raw JSON.

type CertificateType added in v0.15.0

type CertificateType string
const (
	// A Privacy Enhanced Mail (PEM)-encoded single certificate.
	PEMCertificateType CertificateType = "PEM"
	// A Privacy Enhanced Mail (PEM)-encoded certificate chain.
	PEMChainCertificateType CertificateType = "PEMChain"
	// A Privacy Enhanced Mail (PEM)-encoded PKCS7 certificate.
	PKCS7CertificateType CertificateType = "PKCS7"
)

type CertificateUsageType added in v0.15.0

type CertificateUsageType string
const (
	// This certificate is a BIOS certificate like those associated with UEFI.
	BIOSCertificateUsageType CertificateUsageType = "BIOS"
	// This certificate is a device type certificate like those associated with SPDM and other standards.
	DeviceCertificateUsageType CertificateUsageType = "Device"
	// This certificate is a platform type certificate like those associated with SPDM and other standards.
	PlatformCertificateUsageType CertificateUsageType = "Platform"
	// This certificate is used for SSH.
	SSHCertificateUsageType CertificateUsageType = "SSH"
	// This certificate is a user certificate like those associated with a manager account.
	UserCertificateUsageType CertificateUsageType = "User"
	// This certificate is a web or HTTPS certificate like those used for event destinations.
	WebCertificateUsageType CertificateUsageType = "Web"
)

type ChargeState added in v0.16.0

type ChargeState string

ChargeState is the current state of the batter charge.

const (
	// IdleChargeState shall indicate the battery is idle and energy is not entering or leaving the battery. Small
	// amounts of energy may enter or leave the battery while in this state if the battery is regulating itself.
	IdleChargeState ChargeState = "Idle"
	// ChargingChargeState shall indicate the battery is charging and energy is entering the battery.
	ChargingChargeState ChargeState = "Charging"
	// DischargingChargeState shall indicate the battery is discharging and energy is leaving the battery.
	DischargingChargeState ChargeState = "Discharging"
)

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

	// Doors shall contain information about the doors or access panels of the chassis.
	// Added in v1.24.0.
	Doors Doors

	// DrivesCount is the number of drives attached to this chassis.
	DrivesCount int `json:"Drives@odata.count"`
	// ElectricalSourceManagerURIs shall contain an array of URIs to the management applications or devices that
	// provide monitoring or control of the external electrical sources that provide power to this chassis.
	ElectricalSourceManagerURIs []string
	// ElectricalSourceNames shall contain an array of strings that identify the external electrical sources, such as
	// the names of circuits or outlets, that provide power to this chassis.
	ElectricalSourceNames []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

	// HeatingCoolingEquipmentNames shall contain an array of strings that identify the external heating or cooling
	// equipment, such as the names of specific coolant distribution units, that provide thermal management for this
	// chassis.
	HeatingCoolingEquipmentNames []string
	// HeatingCoolingManagerURIs shall contain an array of URIs to the management applications or devices that provide
	// monitoring or control of the external heating or cooling equipment that provide thermal management for this
	// chassis.
	HeatingCoolingManagerURIs []string
	// HeightMm shall represent the height of the chassis,
	// in millimeters, as specified by the manufacturer.
	HeightMm float64
	// HotPluggable shall indicate whether the component can be inserted or removed while the underlying equipment
	// otherwise remains in its current operational state. Components indicated as hot-pluggable shall allow the
	// component to become operable without altering the operational state of the underlying equipment. Components that
	// cannot be inserted or removed from equipment in operation, or components 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 system.
	// Deprecated v1.14+ in favor of LocationIndicatorActive property
	IndicatorLED common.IndicatorLED
	// Location shall contain location information of the
	// associated chassis.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource. A write to this property shall update the value of IndicatorLED in this resource, if supported, to
	// reflect the implementation of the locating function. Modifying this property may modify the
	// LocationIndicatorActive in the resource that represents the functional view of this Chassis, such as a
	// ComputerSystem resource.
	LocationIndicatorActive bool

	// 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
	// MaxPowerWatts shall contain the upper bound of the total power consumed by the chassis.
	MaxPowerWatts float64

	// MinPowerWatts shall contain the lower bound of the total power consumed by the chassis.
	MinPowerWatts float64
	// 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

	// PoweredByParent shall indicate whether the chassis receives power from the chassis that contains it. The value
	// 'true' shall indicate that the containing chassis provides power. The value 'false' shall indicate the chassis
	// receives power from its own power subsystem, another chassis instance's power supplies, or outlets.
	PoweredByParent bool

	// Replaceable shall indicate whether this component can be independently replaced as allowed by the vendor's
	// replacement policy. A value of 'false' indicates the component needs to be replaced by policy as part of another
	// component. If the 'LocationType' property of this component contains 'Embedded', this property shall contain
	// 'false'.
	Replaceable bool
	// 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
	// SparePartNumber shall contain the spare part number of the chassis.
	SparePartNumber string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// ThermalDirection shall indicate the general direction of the thermal management path through the chassis.
	ThermalDirection ThermalDirection
	// ThermalManagedByParent shall indicate whether the chassis relies on the containing chassis to provide thermal
	// management. The value 'true' shall indicate that the chassis relies on the containing chassis to provide thermal
	// management. The value 'false' shall indicate the chassis provides thermal management, and may provide details in
	// a ThermalSubsystem resource, or by populating the Fans property in Links.
	ThermalManagedByParent bool

	// 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

	// CablesCount is the number of connected cables
	CablesCount int

	// ComputerSystemsCount is the number of computer systems in this chassis.
	ComputerSystemsCount int

	// ConnectedCoolingLoopsCount is the number of cooling loops connected to this chassis.
	ConnectedCoolingLoopsCount int

	// ContainsCount is the number of chassis this chassis contains.
	ContainsCount int

	// CoolingUnitsCount is the number of cooling units connected to this chassis.
	CoolingUnitsCount int

	// FansCount is the number of fans connected to this chassis.
	FansCount int

	// ManagedByCount is the number of managers for this chassis.
	ManagedByCount int

	// ManagersInChassisCount is the number of managers contained in this chassis.
	ManagersInChassisCount int

	// PowerOutletsCount is the number of power outlets in this chassis.
	PowerOutletsCount int

	// PowerSuppliesCount gets the number of power supplies in the chassis.
	PowerSuppliesCount int

	// ResourceBlocksCount is the number of resource blocks in this chassis.
	ResourceBlockCount int

	// StorageCount is the number of storage instances connected to this chassis.
	StorageCount int

	// SwitchesCount is the number of switches in this chassis.
	SwitchesCount int
	// 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) Assembly added in v0.14.0

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

The Assembly schema defines an assembly. Assembly information contains details about a device, such as part number, serial number, manufacturer, and production date. It also provides access to the original data for the assembly.

func (*Chassis) Cables added in v0.16.1

func (chassis *Chassis) Cables() ([]*Cable, error)

Cables gets the connected cables.

func (*Chassis) Certificates added in v0.16.0

func (chassis *Chassis) Certificates() ([]*Certificate, error)

Certificates returns certificates in this Chassis.

func (*Chassis) ComputerSystems

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

ComputerSystems returns the collection of systems from this chassis

func (*Chassis) ConnectedCoolingLoops added in v0.16.0

func (chassis *Chassis) ConnectedCoolingLoops() ([]*CoolingLoop, error)

ConnectedCoolingLoops returns a collection of CoolingLoops associated with this Chassis.

func (*Chassis) ContainedBy added in v0.16.1

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

ContainedBy gets the chassis that contains this chassis. The result is nil if this chassis is not contained by another one.

func (*Chassis) Contains added in v0.16.1

func (chassis *Chassis) Contains() ([]*Chassis, error)

Contains gets the chassis instances that this chassis contains.

func (*Chassis) Controls added in v0.16.1

func (chassis *Chassis) Controls() ([]*Control, error)

Controls returns controls in this Chassis.

func (*Chassis) CoolingUnits added in v0.16.0

func (chassis *Chassis) CoolingUnits() ([]*CoolingUnit, error)

CoolingUnits returns a collection of CoolingUnits associated with this Chassis.

func (*Chassis) Drives added in v0.10.0

func (chassis *Chassis) Drives() ([]*Drive, error)

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

func (*Chassis) EnvironmentMetrics added in v0.16.1

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

EnvironmentMetrics gets the environment metrics for the chassis

func (*Chassis) Facility added in v0.16.0

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

Facility gets the smallest facility that contains the chassis.

func (*Chassis) Fans added in v0.16.1

func (chassis *Chassis) Fans() ([]*Fan, error)

Fans gets the the fans that provide cooling to this chassis. This property shall not be present if the ThermalManagedByParent property contains `true` or if the fans are contained in the ThermalSubsystem resource for this chassis.

func (*Chassis) LogServices added in v0.14.0

func (chassis *Chassis) LogServices() ([]*LogService, error)

LogServices get this chassis's log services.

func (*Chassis) ManagedBy

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

ManagedBy gets the collection of managers of this chassis

func (*Chassis) ManagersInChassis added in v0.16.1

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

ManagersInChassis gets the managers contained in this chassis.

func (*Chassis) Memory added in v0.16.0

func (chassis *Chassis) Memory() ([]*Memory, error)

Memory gets the memory in the chassis.

func (*Chassis) MemoryDomains added in v0.16.0

func (chassis *Chassis) MemoryDomains() ([]*MemoryDomain, error)

MemoryDomains gets the memory domains in the chassis.

func (*Chassis) NetworkAdapters

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

NetworkAdapters gets the collection of network adapters of this chassis

func (*Chassis) PCIeDevices added in v0.16.0

func (chassis *Chassis) PCIeDevices() ([]*PCIeDevice, error)

PCIeDevices gets the PCIe devices in the chassis

func (*Chassis) PCIeSlots added in v0.15.0

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

PCIeSlots gets the PCIe slots properties for the chassis. This property has been deprecated in favor of the PCIeDevices property. The PCIeSlots schema has been deprecated in favor of the PCIeDevice schema. Empty PCIe slots are represented by PCIeDevice resources using the `Absent` value of the State property within Status.

func (*Chassis) Power

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

Power gets the power information for the chassis This link has been deprecated in favor of the PowerSubsystem link property.

func (*Chassis) PowerDistribution added in v0.16.1

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

PowerDistribution gets the power distribution functionality contained within this chassis.

func (*Chassis) PowerOutlets added in v0.16.1

func (chassis *Chassis) PowerOutlets() ([]*Outlet, error)

PowerOutlets gets the power outlets in this chassis.

func (*Chassis) PowerSupplies added in v0.16.1

func (chassis *Chassis) PowerSupplies() ([]*PowerSupply, error)

PowerSupplies gets the power supplies that provide power to this chassis. This property shall not be present if the PoweredByParent property contains 'true' or if the power supplies are contained in the PowerSubsystem resource for this chassis.

func (*Chassis) Processors added in v0.16.0

func (chassis *Chassis) Processors() ([]*Processor, error)

Processors returns the collection of systems from this chassis. Added in v1.25.0.

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) ResourceBlocks added in v0.16.1

func (chassis *Chassis) ResourceBlocks() ([]*ResourceBlock, error)

ResourceBlocks gets the resource blocks located in this chassis.

func (*Chassis) Sensors added in v0.15.0

func (chassis *Chassis) Sensors() ([]*Sensor, error)

Sensors gets the collection of sensors located in the equipment and sub-components of this chassis

func (*Chassis) Storage added in v0.16.1

func (chassis *Chassis) Storage() ([]*Storage, error)

Storage gets the storage subsystems connected to or inside this chassis.

func (*Chassis) Switches added in v0.16.1

func (chassis *Chassis) Switches() ([]*Switch, error)

Switches gets the switches in this chassis.

func (*Chassis) Thermal

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

Thermal gets the thermal temperature and cooling information for the chassis This link has been deprecated in favor of the ThermalSubsystem link property.

func (*Chassis) ThermalSubsystem added in v0.16.1

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

ThermalSubsystem gets the thermal subsystem for this 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"
	// HeatExchangerChassisType A heat exchanger.
	HeatExchangerChassisType ChassisType = "HeatExchanger"
	// ImmersionTankChassisType An immersion cooling tank.
	ImmersionTankChassisType ChassisType = "ImmersionTank"
	// 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"
	// PowerStripChassisType A power strip, typically placed in the zero-U space of a rack.
	PowerStripChassisType ChassisType = "PowerStrip"
	// 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 Circuit added in v0.15.0

type Circuit 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

	// The state of the over current protection device.
	BreakerState BreakerState
	// The type of circuit.
	CircuitType CircuitType
	// Indicates whether the configuration is locked.
	ConfigurationLocked bool
	// Designates if this is a critical circuit.
	CriticalCircuit bool
	// The current (A) for this single phase circuit.
	CurrentAmps SensorVoltageExcerpt
	// An array of names of downstream devices that are powered by this circuit.
	ElectricalConsumerNames []string
	// The combination of current-carrying conductors.
	ElectricalContext common.ElectricalContext
	// The URI of the management interface
	// for the upstream electrical source connection for this circuit.
	ElectricalSourceManagerURI string
	// The name of the upstream electrical source,
	// such as a circuit or outlet, connected to this circuit.
	ElectricalSourceName string
	// The energy (kWh) for this circuit.
	EnergykWh SensorEnergykWhExcerpt
	// The frequency (Hz) for this circuit.
	FrequencyHz SensorExcerpt
	// Deprecated: (v1.1)
	// The state of the indicator LED, which identifies the circuit.
	IndicatorLED common.IndicatorLED
	// An indicator allowing an operator to physically locate this resource.
	LocationIndicatorActive bool
	// The nominal voltage for this circuit.
	NominalVoltage NominalVoltage
	// The number of ungrounded current-carrying conductors (phases)
	// and the total number of conductors (wires).
	PhaseWiringType PhaseWiringType
	// The type of plug according to NEMA, IEC, or regional standards.
	PlugType PlugType
	// The current readings for this circuit.
	PolyPhaseCurrentAmps PolyPhaseCurrentAmps
	// The energy readings for this circuit.
	PolyPhaseEnergykWh PolyPhaseEnergykWh
	// The power readings for this circuit.
	PolyPhasePowerWatts PolyPhasePowerWatts
	// The voltage readings for this circuit.
	PolyPhaseVoltage PolyPhaseVoltage
	// Indicates whether power control requests are locked.
	PowerControlLocked bool
	// The number of seconds to delay power on
	// after a PowerControl action to cycle power.
	// Zero seconds indicates no delay.
	PowerCycleDelaySeconds float32
	// Indicates if the circuit can be powered.
	PowerEnabled bool
	// The power load (percent) for this circuit.
	PowerLoadPercent SensorExcerpt
	// The number of seconds to delay power off after a PowerControl action.
	// Zero seconds indicates no delay to power off.
	PowerOffDelaySeconds float32
	// The number of seconds to delay power up after a power cycle or
	// a PowerControl action. Zero seconds indicates no delay to power up.
	PowerOnDelaySeconds float32
	// The number of seconds to delay power on after power has been restored.
	// Zero seconds indicates no delay.
	PowerRestoreDelaySeconds float32
	// The desired power state of the circuit
	// when power is restored after a power loss.
	PowerRestorePolicy PowerRestorePolicyTypes
	// The power state of the circuit.
	PowerState PowerState
	// Indicates whether the power state is undergoing a delayed transition.
	PowerStateInTransition bool
	// The power (W) for this circuit.
	PowerWatts SensorPowerExcerpt
	// The rated maximum current allowed for this circuit.
	RatedCurrentAmps float32
	// The status and health of the resource and its subordinate or dependent resources.
	Status common.Status
	// The current imbalance (percent) between phases.
	UnbalancedCurrentPercent SensorExcerpt
	// The voltage imbalance (percent) between phases.
	UnbalancedVoltagePercent SensorExcerpt
	// A user-assigned label.
	UserLabel string
	// The voltage (V) for this single phase circuit.
	Voltage SensorVoltageExcerpt
	// The type of voltage applied to the circuit.
	VoltageType InputType

	DistributionCircuitsCount int
	// OemLinks are all OEM data under link section
	OemLinks json.RawMessage

	OutletsCount int

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

Circuit shall be used to represent an electrical circuit for a Redfish implementation.

func GetCircuit added in v0.15.0

func GetCircuit(c common.Client, uri string) (*Circuit, error)

GetCircuit will get a Circuit instance from the Redfish service.

func ListReferencedCircuits added in v0.15.0

func ListReferencedCircuits(c common.Client, link string) ([]*Circuit, error)

ListReferencedCircuits gets the collection of Circuits from a provided reference.

func (*Circuit) BranchCircuit added in v0.15.0

func (circuit *Circuit) BranchCircuit() (*Circuit, error)

BranchCircuit gets a resource that represents the branch circuit associated with this circuit.

func (*Circuit) BreakerControl added in v0.15.0

func (circuit *Circuit) BreakerControl(powerState ActionPowerState) error

This action shall control the state of the circuit breaker or over-current protection device.

func (*Circuit) DistributionCircuits added in v0.15.0

func (circuit *Circuit) DistributionCircuits() ([]*Circuit, error)

DistributionCircuits gets the collection that contains the circuits powered by this circuit.

func (*Circuit) PowerControl added in v0.15.0

func (circuit *Circuit) PowerControl(powerState ActionPowerState) error

This action shall control the power state of the circuit.

func (*Circuit) ResetMetrics added in v0.15.0

func (circuit *Circuit) ResetMetrics() error

This action shall reset any time intervals or counted values for this circuit.

func (*Circuit) SourceCircuit added in v0.15.0

func (circuit *Circuit) SourceCircuit() (*Circuit, error)

SourceCircuit gets a resource that represents the circuit that provides power to this circuit.

func (*Circuit) UnmarshalJSON added in v0.15.0

func (circuit *Circuit) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Circuit object from the raw JSON.

func (*Circuit) Update added in v0.15.0

func (circuit *Circuit) Update() error

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

type CircuitType added in v0.15.0

type CircuitType string

The type of circuit.

const (
	// A branch (output) circuit.
	BranchCircuitType CircuitType = "Branch"
	// (v1.3+)	An electrical bus circuit.
	BusCircuitType CircuitType = "Bus"
	// A feeder (output) circuit.
	FeederCircuitType CircuitType = "Feeder"
	// A mains input or utility circuit.
	MainsCircuitType CircuitType = "Mains"
	// A subfeed (output) circuit.
	SubfeedCircuitType CircuitType = "Subfeed"
)

type ClearingLogic added in v0.16.0

type ClearingLogic struct {
	// ClearsAll shall indicate whether all prior conditions and messages are cleared, provided the ClearsIf condition
	// is met.
	ClearsAll bool
	// ClearsIf shall contain the condition the event is cleared.
	ClearsIf ClearingType
	// ClearsMessage shall contain an array of MessageIds that this message clears when the other conditions are met.
	// The MessageIds shall not include the message registry name or version and shall contain only the MessageId
	// portion. MessageIds shall not refer to other message registries.
	ClearsMessage []string
}

ClearingLogic shall contain the available actions for this resource.

type ClearingType added in v0.16.0

type ClearingType string
const (
	// SameOriginOfConditionClearingType Indicates the message for an event is cleared by the other messages in the
	// ClearingLogic property, provided the OriginOfCondition for both events are the same.
	SameOriginOfConditionClearingType ClearingType = "SameOriginOfCondition"
)

type ClientCertificate added in v0.16.0

type ClientCertificate struct {
	// CertificateMappingAttribute shall contain the client certificate attribute to map to a user.
	CertificateMappingAttribute CertificateMappingAttribute

	// Enabled shall indicate whether client certificate authentication is enabled.
	Enabled bool
	// RespondToUnauthenticatedClients shall indicate whether the service responds to clients that do not successfully
	// authenticate. If this property is not supported by the service, it shall be assumed to be 'true'. See the
	// 'Client certificate authentication' clause in the Redfish Specification.
	RespondToUnauthenticatedClients bool
	// contains filtered or unexported fields
}

ClientCertificate shall contain settings for client certificate authentication.

func (*ClientCertificate) ClientCertificates added in v0.16.1

func (clientcertificate *ClientCertificate) ClientCertificates(c common.Client) ([]*Certificate, error)

ClientCertificates gets the client certificates.

func (*ClientCertificate) UnmarshalJSON added in v0.16.0

func (clientcertificate *ClientCertificate) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ClientCertificate object from the raw JSON.

type ClientType added in v0.16.0

type ClientType string
const (
	// MonitorClientType The registered client only performs read operations on this service.
	MonitorClientType ClientType = "Monitor"
	// ConfigureClientType The registered client performs update, create, and delete operations on the resources listed
	// in the ManagedResources property as well as read operations on the service.
	ConfigureClientType ClientType = "Configure"
)

type CollectionFunction added in v0.16.0

type CollectionFunction string

CollectionFunction is if present, the metric value shall be computed according to this function.

const (
	// AverageCollectionFunction An averaging function.
	AverageCollectionFunction CollectionFunction = "Average"
	// MaximumCollectionFunction A maximum function.
	MaximumCollectionFunction CollectionFunction = "Maximum"
	// MinimumCollectionFunction A minimum function.
	MinimumCollectionFunction CollectionFunction = "Minimum"
	// SummationCollectionFunction A summation function.
	SummationCollectionFunction CollectionFunction = "Summation"
)

type CollectionTimeScope added in v0.16.0

type CollectionTimeScope string

CollectionTimeScope shall specify the time scope of the corresponding metric values.

const (
	// PointCollectionTimeScope shall indicate the corresponding metric values apply to a point in time. On the
	// corresponding metric value instances, the Timestamp property value in the metric report shall specify the point
	// in time.
	PointCollectionTimeScope CollectionTimeScope = "Point"
	// IntervalCollectionTimeScope shall indicate the corresponding metric values apply to a time interval. On the
	// corresponding metric value instances, the Timestamp property value in the metric report shall specify the end of
	// the time interval and the CollectionDuration property shall specify its duration.
	IntervalCollectionTimeScope CollectionTimeScope = "Interval"
	// StartupIntervalCollectionTimeScope shall indicate the corresponding metric values apply to a time interval that
	// began at the startup of the measured resource. On the corresponding metric value instances, the Timestamp
	// property value in the metric report shall specify the end of the time interval. The CollectionDuration property
	// value shall specify the duration between the startup of the resource and timestamp.
	StartupIntervalCollectionTimeScope CollectionTimeScope = "StartupInterval"
)

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 CommonAuthInfo added in v0.16.0

type CommonAuthInfo struct {

	// VerificationStatus shall contain the status of the verification of the identity of the component referenced by
	// the TargetComponentURI property.
	VerificationStatus VerificationStatus
	// contains filtered or unexported fields
}

CommonAuthInfo shall contain common identity-related authentication information.

func (*CommonAuthInfo) ComponentCertificate added in v0.16.0

func (commonauthinfo *CommonAuthInfo) ComponentCertificate(c common.Client) (*Certificate, error)

ComponentCertificate gets the identity of the component.

func (*CommonAuthInfo) UnmarshalJSON added in v0.16.0

func (commonauthinfo *CommonAuthInfo) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CommonAuthInfo object from the raw JSON.

type CommonBGPProperties added in v0.16.0

type CommonBGPProperties struct {
	// ASNumberRange shall contain the range of Autonomous System (AS) numbers assigned to each Border Gateway Protocol
	// (BGP) peer within the fabric.
	ASNumberRange ASNumberRange
	// BGPNeighbor shall contain all Border Gateway Protocol (BGP) neighbor related properties.
	BGPNeighbor BGPNeighbor
	// BGPRoute shall contain Border Gateway Protocol (BGP) route-related properties.
	BGPRoute BGPRoute
	// GracefulRestart shall contain all graceful restart related properties.
	GracefulRestart GracefulRestart
	// MultiplePaths shall contain all multiple path related properties.
	MultiplePaths MultiplePaths
	// SendCommunityEnabled shall indicate whether community attributes are sent to BGP neighbors.
	SendCommunityEnabled bool
}

CommonBGPProperties shall contain properties shared across both External and Internal Border Gateway Protocol (BGP) related properties.

type CommunicationInfo added in v0.16.0

type CommunicationInfo struct {
	// Sessions shall contain an array of the active sessions or communication channels between two components. The
	// active sessions or communication channels do not reflect how future sessions or communication channels are
	// established.
	Sessions []SingleSessionInfo
}

CommunicationInfo shall contain information about communication between two components.

type ComponentIntegrity added in v0.16.0

type ComponentIntegrity 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"`
	// ComponentIntegrityEnabled shall indicate whether security protocols are enabled for the component. If
	// ComponentIntegrityType contains 'SPDM', a value of 'false' shall prohibit the SPDM Requester from using SPDM to
	// communicate with the component identified by the TargetComponentURI property. If ComponentIntegrityType contains
	// 'TPM', a value of 'false' shall disable the TPM component identified by the TargetComponentURI property
	// entirely. If 'false', services shall not provide the TPM and SPDM properties in response payloads for this
	// resource. If 'false', services shall reject action requests to this resource. If 'true', services shall allow
	// security protocols with the component identified by the TargetComponentURI property.
	ComponentIntegrityEnabled bool
	// ComponentIntegrityType shall contain the underlying security technology providing integrity information for the
	// component.
	ComponentIntegrityType ComponentIntegrityType
	// ComponentIntegrityTypeVersion shall contain the version of the security technology indicated by the
	// ComponentIntegrityType property. If the service has not established secure communication with the device or if
	// security protocols are disabled, this property shall contain an empty string. If ComponentIntegrityType contains
	// 'SPDM', this property shall contain the negotiated or selected SPDM protocol and shall follow the regular
	// expression pattern '^\d+\.\d+\.\d+$'. If ComponentIntegrityType contains 'TPM', this property shall contain the
	// version of the TPM.
	ComponentIntegrityTypeVersion string
	// Description provides a description of this resource.
	Description string
	// LastUpdated shall contain the date and time when information for the component was last updated.
	LastUpdated string
	// SPDM shall contain integrity information about the SPDM Responder identified by the TargetComponentURI property
	// as reported by an SPDM Requester. This property shall be present if ComponentIntegrityType contains 'SPDM' and
	// if 'ComponentIntegrityEnabled' contains 'true'. For other cases, this property shall be absent.
	SPDM SPDMinfo
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// TPM shall contain integrity information about the Trusted Platform Module (TPM) identified by the
	// TargetComponentURI property. This property shall be present if ComponentIntegrityType contains 'TPM' and if
	// 'ComponentIntegrityEnabled' contains 'true'. For other cases, this property shall be absent.
	TPM TPMinfo
	// TargetComponentURI shall contain a link to the resource whose integrity information is reported in this
	// resource. If ComponentIntegrityType contains 'SPDM', this property shall contain a URI to the resource that
	// represents the SPDM Responder. If ComponentIntegrityType contains 'TPM', this property shall contain a URI with
	// RFC6901-defined JSON fragment notation to a member of the TrustedModules array in a ComputerSystem resource that
	// represents the TPM or a resource of type TrustedComponent that represents the TPM.
	TargetComponentURI string

	// ComponentsProtectedCount is the number of resources protected by the compoent identified by TargetComponentURI.
	ComponentsProtectedCount int
	// contains filtered or unexported fields
}

ComponentIntegrity shall represent critical and pertinent security information about a specific device, system, software element, or other managed entity.

func GetComponentIntegrity added in v0.16.0

func GetComponentIntegrity(c common.Client, uri string) (*ComponentIntegrity, error)

GetComponentIntegrity will get a ComponentIntegrity instance from the service.

func ListReferencedComponentIntegritys added in v0.16.0

func ListReferencedComponentIntegritys(c common.Client, link string) ([]*ComponentIntegrity, error)

ListReferencedComponentIntegritys gets the collection of ComponentIntegrity from a provided reference.

func (*ComponentIntegrity) SPDMGetSignedMeasurements added in v0.16.0

func (componentintegrity *ComponentIntegrity) SPDMGetSignedMeasurements(request *SPDMGetSignedMeasurementsRequest) (*SPDMGetSignedMeasurementsResponse, error)

SPDMGetSignedMeasurements generates an SPDM cryptographic signed statement over the given nonce and measurements of the SPDM Responder.

func (*ComponentIntegrity) TPMGetSignedMeasurements added in v0.16.0

func (componentintegrity *ComponentIntegrity) TPMGetSignedMeasurements(request *TPMGetSignedMeasurementsRequest) (*TPMGetSignedMeasurementsResponse, error)

TPMGetSignedMeasurements generates a TPM cryptographic signed statement over the given nonce and PCRs of the TPM for TPM 2.0 devices.

func (*ComponentIntegrity) UnmarshalJSON added in v0.16.0

func (componentintegrity *ComponentIntegrity) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ComponentIntegrity object from the raw JSON.

func (*ComponentIntegrity) Update added in v0.16.0

func (componentintegrity *ComponentIntegrity) Update() error

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

type ComponentIntegrityType added in v0.16.0

type ComponentIntegrityType string
const (
	// SPDMComponentIntegrityType shall indicate the integrity information is obtained through the Security Protocol
	// and Data Model (SPDM) protocol as defined in DMTF DSP0274.
	SPDMComponentIntegrityType ComponentIntegrityType = "SPDM"
	// TPMComponentIntegrityType shall indicate the integrity information is related to a Trusted Platform Module (TPM)
	// as defined by the Trusted Computing Group (TCG).
	TPMComponentIntegrityType ComponentIntegrityType = "TPM"
	// OEMComponentIntegrityType shall indicate the integrity information is OEM-specific and the OEM section may
	// include additional information.
	OEMComponentIntegrityType ComponentIntegrityType = "OEM"
)

type ComposeRequest added in v0.16.0

type ComposeRequest struct {
	// Manifest is the manifest containing the compose operation request. This parameter shall be required if
	// RequestFormat contains the value `Manifest`.
	Manifest Manifest `json:",omitempty"`
	// RequestFormat is the format of the request.
	RequestFormat ComposeRequestFormat
	// RequestFormat is the type of request.
	RequestType ComposeRequestType
	// ReservationID is the identifier of the composition reservation if applying a reservation. The value for this
	// parameter is obtained from the response of a Compose action where the RequestType parameter contains the value
	// `PreviewReserve`.
	ReservationID string `json:"ReservationID,omitempty"`
}

ComposeRequest contains the parameters for the `Compose` action.

type ComposeRequestFormat added in v0.16.0

type ComposeRequestFormat string
const (
	// ManifestComposeRequestFormat shall indicate that the request contains a manifest as defined by the Redfish
	// Manifest schema.
	ManifestComposeRequestFormat ComposeRequestFormat = "Manifest"
)

type ComposeRequestType added in v0.16.0

type ComposeRequestType string
const (
	// PreviewComposeRequestType shall indicate that the request is to preview the outcome of the operations specified
	// by the manifest to show what the service will do based on the contents of the request, and not affect any
	// resources within the service.
	PreviewComposeRequestType ComposeRequestType = "Preview"
	// PreviewReserveComposeRequestType shall indicate that the request is to preview the outcome of the operations
	// specified by the manifest to show what the service will do based on the contents of the request. Resources that
	// would have been affected by this request shall be marked as reserved but otherwise shall not be affected.
	PreviewReserveComposeRequestType ComposeRequestType = "PreviewReserve"
	// ApplyComposeRequestType shall indicate that the request is to apply the requested operations specified by the
	// manifest and modify resources as needed.
	ApplyComposeRequestType ComposeRequestType = "Apply"
)

type ComposeResponse added in v0.16.0

type ComposeResponse struct {
	// Manifest shall contain the manifest containing the compose operation response. This property shall be required
	// if RequestFormat contains the value 'Manifest'.
	Manifest Manifest
	// RequestFormat shall contain the format of the request.
	RequestFormat ComposeRequestFormat
	// RequestType shall contain the type of request.
	RequestType ComposeRequestType
	// ReservationID shall contain the value of the ID property of the CompositionReservation resource that was
	// created. This property shall be required if RequestType contains the value 'PreviewReserve'.
	ReservationID string `json:"ReservationId"`
}

ComposeResponse shall contain the properties found in the response body for the Compose action.

type Composition added in v0.16.0

type Composition struct {
	// UseCases shall contain the composition use cases in which this computer system can participate.
	UseCases []CompositionUseCase
}

Composition shall contain information about the composition capabilities and state of a computer system.

type CompositionReservation added in v0.16.0

type CompositionReservation 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"`
	// Client shall contain the client that owns the reservation. The service shall determine this value based on the
	// client that invoked the Compose action that resulted in the creation of this reservation.
	Client string
	// Description provides a description of this resource.
	Description string
	// Manifest shall contain the manifest document processed by the service that resulted in this reservation. This
	// property shall be required if the RequestFormat parameter in the Compose action request contained the value
	// 'Manifest'.
	Manifest Manifest
	// ReservationTime shall indicate the date and time when the reservation was created by the service.
	ReservationTime string

	// ReservedResourceBlocksCount is the number of ResourceBlocks for this reservation.
	ReservedResourceBlocksCount int `json:"ReservedResourceBlocks@odata.count"`
	// contains filtered or unexported fields
}

CompositionReservation This resource represents the composition reservation of the composition service for a Redfish implementation.

func GetCompositionReservation added in v0.16.0

func GetCompositionReservation(c common.Client, uri string) (*CompositionReservation, error)

GetCompositionReservation will get a CompositionReservation instance from the service.

func ListReferencedCompositionReservations added in v0.16.0

func ListReferencedCompositionReservations(c common.Client, link string) ([]*CompositionReservation, error)

ListReferencedCompositionReservations gets the collection of CompositionReservation from a provided reference.

func (*CompositionReservation) ReservedResourceBlocks added in v0.16.0

func (compositionreservation *CompositionReservation) ReservedResourceBlocks() ([]*ResourceBlock, error)

ReservedResourceBlocks gets reserved resource blocks for this reservation. Upon deletion of the reservation or when the reservation is applied, the Reserved property in the referenced resource blocks shall change to 'false'.

func (*CompositionReservation) UnmarshalJSON added in v0.16.0

func (compositionreservation *CompositionReservation) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CompositionReservation object from the raw JSON.

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

	// ReservationDuration shall contain the length of time a composition reservation is held before the service
	// deletes the reservation and marks any related resource blocks as no longer reserved.
	ReservationDuration 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) ActivePool added in v0.16.0

func (compositionservice *CompositionService) ActivePool() ([]*ResourceBlock, error)

ActivePool gets a resource collection whose members represent the resource blocks in the active pool.

func (*CompositionService) Compose added in v0.16.0

func (compositionservice *CompositionService) Compose(request *ComposeRequest) (*ComposeResponse, error)

Compose performs a set of operations specified by a manifest.

func (*CompositionService) CompositionReservations added in v0.16.0

func (compositionservice *CompositionService) CompositionReservations() ([]*ResourceBlock, error)

CompositionReservations gets a resource collection whose members represent the reserved resource blocks and the related document that caused the reservations.

func (*CompositionService) FreePool added in v0.16.0

func (compositionservice *CompositionService) FreePool() ([]*ResourceBlock, error)

FreePool gets a resource collection whose members represent the reserved resource blocks in the free pool.

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 CompositionState added in v0.16.0

type CompositionState string
const (
	// ComposingCompositionState Intermediate state indicating composition is in progress.
	ComposingCompositionState CompositionState = "Composing"
	// ComposedAndAvailableCompositionState The resource block is currently participating in one or more compositions,
	// and is available to use in more compositions.
	ComposedAndAvailableCompositionState CompositionState = "ComposedAndAvailable"
	// ComposedCompositionState Final successful state of a resource block that has participated in composition.
	ComposedCompositionState CompositionState = "Composed"
	// UnusedCompositionState The resource block is free and can participate in composition.
	UnusedCompositionState CompositionState = "Unused"
	// FailedCompositionState The final composition resulted in failure and manual intervention might be required to
	// fix it.
	FailedCompositionState CompositionState = "Failed"
	// UnavailableCompositionState The resource block has been made unavailable by the service, such as due to
	// maintenance being performed on the resource block.
	UnavailableCompositionState CompositionState = "Unavailable"
)

type CompositionStatus added in v0.16.0

type CompositionStatus struct {
	// CompositionState shall contain an enumerated value that describes the composition state of the resource block.
	CompositionState CompositionState
	// MaxCompositions shall contain a number indicating the maximum number of compositions in which this resource
	// block can participate simultaneously. Services can have additional constraints that prevent this value from
	// being achieved, such as due to system topology and current composed resource utilization. If SharingCapable is
	// 'false', this value shall be set to '1'. The service shall support this property if SharingCapable supported.
	MaxCompositions int
	// NumberOfCompositions shall contain the number of compositions in which this resource block is currently
	// participating.
	NumberOfCompositions int
	// Reserved shall indicate whether any client has reserved the resource block. A client sets this property after
	// the resource block is identified as composed. It shall provide a way for multiple clients to negotiate the
	// ownership of the resource block.
	Reserved bool
	// SharingCapable shall indicate whether this resource block can participate in multiple compositions
	// simultaneously. If this property is not provided, it shall be assumed that this resource block is not capable of
	// being shared.
	SharingCapable bool
	// SharingEnabled shall indicate whether this resource block can participate in multiple compositions
	// simultaneously. The service shall reject modifications of this property with HTTP 400 Bad Request if this
	// resource block is already being used as part of a composed resource. If 'false', the service shall not use the
	// 'ComposedAndAvailable' state for this resource block.
	SharingEnabled bool
}

CompositionStatus shall contain properties that describe the high level composition status of the resource block.

type CompositionUseCase added in v0.16.0

type CompositionUseCase string
const (
	// ResourceBlockCapableCompositionUseCase shall indicate the computer system supports being registered as a
	// resource block in order for it to participate in composition requests.
	ResourceBlockCapableCompositionUseCase CompositionUseCase = "ResourceBlockCapable"
	// ExpandableSystemCompositionUseCase shall indicate the computer system supports expandable system composition and
	// is associated with a resource block.
	ExpandableSystemCompositionUseCase CompositionUseCase = "ExpandableSystem"
)

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
	// BootProgress shall contain the last boot progress state and time.
	BootProgress BootProgress

	// Composition shall contain information about the composition capabilities and state of the computer system.
	Composition Composition
	// Description is the resource description.
	Description string

	// GraphicalConsole shall contain the information about the graphical console (KVM-IP) service of this system.
	GraphicalConsole HostGraphicalConsole

	// 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 that this computer system supports.
	HostedServices HostedServices
	// HostingRoles shall be the hosting roles supported by this computer system.
	HostingRoles []string
	// IdlePowerSaver shall contain the idle power saver settings of the computer system.
	IdlePowerSaver IdlePowerSaver
	// KeyManagement shall contain the key management settings of the computer system.
	KeyManagement KeyManagement
	// LastResetTime shall contain the date and time when the system last came out of a reset or was rebooted.
	LastResetTime string
	// IndicatorLED shall contain the indicator
	// light state for the indicator light associated with this system.
	IndicatorLED common.IndicatorLED
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource. A write to this property shall update the value of IndicatorLED in this resource, if supported, to
	// reflect the implementation of the locating function. Modifying this property may modify the
	// LocationIndicatorActive in the containing Chassis resource.
	LocationIndicatorActive bool

	// 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

	// OperatingSystem shall contain a link to a resource of type OperatingSystem that contains operating system
	// information for this system.
	OperatingSystem 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
	// PowerCycleDelaySeconds shall contain the number of seconds to delay power on after a 'Reset' action requesting
	// 'PowerCycle'. The value '0' shall indicate no delay to power on.
	PowerCycleDelaySeconds float64
	// PowerMode shall contain the computer system power mode setting.
	PowerMode PowerMode
	// PowerOffDelaySeconds shall contain the number of seconds to delay power off during a reset. The value '0' shall
	// indicate no delay to power off.
	PowerOffDelaySeconds float64
	// PowerOnDelaySeconds shall contain the number of seconds to delay power on after a power cycle or during a reset.
	// The value '0' shall indicate no delay to power on.
	PowerOnDelaySeconds float64
	// 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

	// 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

	// SerialConsole shall contain information about the serial console services of this system.
	SerialConsole HostSerialConsole
	// 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 configuration) of the system. This shall not
	// include the model/product name or the manufacturer name.
	SubModel string
	// SystemType An enumeration that indicates the kind of system that this resource represents.
	SystemType SystemType

	// UUID shall contain the universally unique identifier number for this system. RFC4122 describes methods to create
	// this value. The value should be considered to be opaque. Client software should only treat the overall value as
	// a UUID and should not interpret any subfields within the UUID. If the system supports SMBIOS, the property value
	// should follow the SMBIOS 2.6 and later 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

	// TrustedModules shall contain an array of objects with
	// properties which describe the trusted modules for the current resource.
	// This property has been deprecated in favor of the TrustedComponents property in Links.
	TrustedModules []TrustedModules

	// 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) BootCertificates added in v0.15.0

func (computersystem *ComputerSystem) BootCertificates() ([]*Certificate, error)

func (*ComputerSystem) BootOptions added in v0.14.0

func (computersystem *ComputerSystem) BootOptions() ([]*BootOption, error)

BootOptions gets all BootOption items for this system.

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) USBControllers added in v0.16.0

func (computersystem *ComputerSystem) USBControllers() ([]*USBController, error)

USBControllers gets the USB controllers 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.

func (*ComputerSystem) UpdateBootAttributes added in v0.14.0

func (computersystem *ComputerSystem) UpdateBootAttributes(attrs SettingsAttributes) error

UpdateBootAttributes is used to update attribute values.

func (*ComputerSystem) UpdateBootAttributesApplyAt added in v0.14.0

func (computersystem *ComputerSystem) UpdateBootAttributesApplyAt(attrs SettingsAttributes, applyTime common.ApplyTime) error

UpdateBootAttributesApplyAt is used to update attribute values and set apply time together

func (*ComputerSystem) VirtualMedia added in v0.15.0

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

VirtualMedia gets the virtual media associated with this system.

type Condition added in v0.16.0

type Condition struct {

	// Message is the human-readable message for this condition.
	Message string
	// MessageArgs is an array of message arguments that are substituted for the arguments in
	// the message when looked up in the message registry. It has the same semantics as the
	// MessageArgs property in the Redfish MessageRegistry schema.
	MessageArgs []string
	// MessageID is an identifier for the message.
	MessageID string

	// Resolution is a suggestions on how to resolve the condition.
	Resolution string
	// ResolutionSteps is a list of recommended steps to resolve the condition.
	ResolutionSteps []ResolutionStep
	// Severity is the severity of the condition.
	Severity common.Health
	// Timestamp is the time the condition occurred.
	Timestamp string
	// contains filtered or unexported fields
}

Condition is a condition that requires attention.

func (*Condition) LogEntry added in v0.16.0

func (condition *Condition) LogEntry(c common.Client) (*LogEntry, error)

LogEntry gets the log entry created for this condition.

func (*Condition) UnmarshalJSON added in v0.16.0

func (condition *Condition) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Condition object from the raw JSON.

type ConfiguredNetworkLink struct {
	// ConfiguredLinkSpeedGbps shall contain the network link speed per lane this port is configured to allow for
	// autonegotiation purposes. This value includes overhead associated with the protocol.
	ConfiguredLinkSpeedGbps float64
	// ConfiguredWidth shall contain the network link width this port is configured to use for autonegotiation
	// purposes.
	ConfiguredWidth int
}

ConfiguredNetworkLink shall contain a set of link settings that a port is configured to use for autonegotiation.

type Congestion added in v0.16.0

type Congestion struct {
	// The CXL Specification-defined 'Backpressure Sample Interval' in nanoseconds.
	BackpressureSampleInterval int
	// The CXL Specification-defined 'Completion Collection Interval' in nanoseconds.
	CompletionCollectionInterval int
	// Indicates whether congestion telemetry collection is enabled for this port.
	CongestionTelemetryEnabled bool
	// The threshold for moderate egress port congestion as a percentage.
	EgressModeratePercentage int
	// The threshold for severe egress port congestion as a percentage.
	EgressSeverePercentage int
	// The CXL Specification-defined 'ReqCmpBasis'.
	MaxSustainedRequestCmpBias int
}

type ConnectedDeviceMode added in v0.16.0

type ConnectedDeviceMode string
const (
	// DisconnectedConnectedDeviceMode shall indicate the connection is not CXL or is disconnected.
	DisconnectedConnectedDeviceMode ConnectedDeviceMode = "Disconnected"
	// RCDConnectedDeviceMode shall indicate the connected device mode is restricted CXL device (RCD).
	RCDConnectedDeviceMode ConnectedDeviceMode = "RCD"
	// CXL68BFlitAndVHConnectedDeviceMode shall indicate the connected device mode is CXL 68B flit and VH.
	CXL68BFlitAndVHConnectedDeviceMode ConnectedDeviceMode = "CXL68BFlitAndVH"
	// Standard256BFlitConnectedDeviceMode shall indicate the connected device mode is standard 256B flit.
	Standard256BFlitConnectedDeviceMode ConnectedDeviceMode = "Standard256BFlit"
	// CXLLatencyOptimized256BFlitConnectedDeviceMode shall indicate the connected device mode is CXL latency-optimized
	// 256B flit.
	CXLLatencyOptimized256BFlitConnectedDeviceMode ConnectedDeviceMode = "CXLLatencyOptimized256BFlit"
	// PBRConnectedDeviceMode shall indicate the connected device mode is port-based routing (PBR).
	PBRConnectedDeviceMode ConnectedDeviceMode = "PBR"
)

type ConnectedDeviceType added in v0.16.0

type ConnectedDeviceType string
const (
	// NoneConnectedDeviceType shall indicate no device is detected.
	NoneConnectedDeviceType ConnectedDeviceType = "None"
	// PCIeDeviceConnectedDeviceType shall indicate the connected device is a PCIe device.
	PCIeDeviceConnectedDeviceType ConnectedDeviceType = "PCIeDevice"
	// Type1ConnectedDeviceType shall indicate the connected device is a CXL Type 1 device.
	Type1ConnectedDeviceType ConnectedDeviceType = "Type1"
	// Type2ConnectedDeviceType shall indicate the connected device is a CXL Type 2 device.
	Type2ConnectedDeviceType ConnectedDeviceType = "Type2"
	// Type3SLDConnectedDeviceType shall indicate the connected device is a CXL Type 3 single logical device (SLD).
	Type3SLDConnectedDeviceType ConnectedDeviceType = "Type3SLD"
	// Type3MLDConnectedDeviceType shall indicate the connected device is a CXL Type 3 multi-logical device (MLD).
	Type3MLDConnectedDeviceType ConnectedDeviceType = "Type3MLD"
)

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 Connection added in v0.16.0

type Connection 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"`
	// ConnectionKeys shall contain the permission keys required to access the specified resources for this connection.
	// Some fabrics require permission checks on transactions from authorized initiators.
	ConnectionKeys ConnectionKey
	// ConnectionType shall contain the type of resources this connection specifies.
	ConnectionType ConnectionType
	// Description provides a description of this resource.
	Description string
	// MemoryChunkInfo shall contain the set of memory chunks and access capabilities specified for this connection.
	MemoryChunkInfo []MemoryChunkInfo
	// MemoryRegionInfo shall contain the set of memory regions and access capabilities specified for this connection.
	MemoryRegionInfo []MemoryRegionInfo
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// VolumeInfo shall contain the set of volumes and access capabilities specified for this connection.
	VolumeInfo []VolumeInfo

	// InitiatorEndpointGroupsCount is the number of initiator endpoint groups associated with this connection.
	InitiatorEndpointGroupsCount int

	// InititiatorEndpointsCount is the number of initiator endpoints associated with this connection.
	InitiatorEndpointsCount int

	// TargetEndpointGroupsCount is the number of target endpoint groups associated with this connection.
	TargetEndpointGroupsCount int

	// TargetEndpointsCount is the number of target endpoints associated with this connection.
	TargetEndpointsCount int
	// contains filtered or unexported fields
}

Connection shall represent information about a connection in the Redfish Specification.

func GetConnection added in v0.16.0

func GetConnection(c common.Client, uri string) (*Connection, error)

GetConnection will get a Connection instance from the service.

func ListReferencedConnections added in v0.16.0

func ListReferencedConnections(c common.Client, link string) ([]*Connection, error)

ListReferencedConnections gets the collection of Connection from a provided reference.

func (*Connection) InitiatorEndpointGroups added in v0.16.0

func (connection *Connection) InitiatorEndpointGroups() ([]*EndpointGroup, error)

InitiatorEndpointGroups get the initiator endpoint groups associated with this connection.

func (*Connection) InitiatorEndpoints added in v0.16.0

func (connection *Connection) InitiatorEndpoints() ([]*Endpoint, error)

InitiatorEndpoints get the initiator endpoint associated with this connection.

func (*Connection) TargetEndpointGroups added in v0.16.0

func (connection *Connection) TargetEndpointGroups() ([]*EndpointGroup, error)

TargetEndpointGroups get the target endpoint groups associated with this connection.

func (*Connection) TargetEndpoints added in v0.16.0

func (connection *Connection) TargetEndpoints() ([]*Endpoint, error)

TargetEndpoints get the target endpoint associated with this connection.

func (*Connection) UnmarshalJSON added in v0.16.0

func (connection *Connection) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Connection object from the raw JSON.

type ConnectionKey added in v0.16.0

type ConnectionKey struct {
	// CHAP shall contain the CHAP-specific permission key information for this connection. This property shall not be
	// present if DHCHAP is present.
	CHAP CHAPConnectionKey
	// DHCHAP shall contain the DHCHAP-specific permission key information for this connection. This property shall not
	// be present if CHAP is present.
	DHCHAP DHCHAPKey
	// GenZ shall contain the Gen-Z-specific permission key information for this connection.
	GenZ GenZConnectionKey
}

ConnectionKey shall contain the permission key information required to access the target resources for a connection.

type ConnectionMethod added in v0.16.0

type ConnectionMethod 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"`
	// ConnectionMethodType shall contain an identifier of the connection method.
	ConnectionMethodType ConnectionMethodType
	// ConnectionMethodVariant shall contain an additional identifier of the connection method. This property shall be
	// present if ConnectionMethodType is 'OEM'.
	ConnectionMethodVariant string
	// Description provides a description of this resource.
	Description string
	// TunnelingProtocol shall contain the tunneling protocol used for this connection method.
	TunnelingProtocol TunnelingProtocolType

	// AggregationSourcesCount is the number of AggregationSource that are using this connection method.
	AggregationSourcesCount int
	// contains filtered or unexported fields
}

ConnectionMethod shall represent a connection method for a Redfish implementation.

func GetConnectionMethod added in v0.16.0

func GetConnectionMethod(c common.Client, uri string) (*ConnectionMethod, error)

GetConnectionMethod will get a ConnectionMethod instance from the service.

func ListReferencedConnectionMethods added in v0.16.0

func ListReferencedConnectionMethods(c common.Client, link string) ([]*ConnectionMethod, error)

ListReferencedConnectionMethods gets the collection of ConnectionMethod from a provided reference.

func (*ConnectionMethod) AggregationSources added in v0.16.0

func (connectionmethod *ConnectionMethod) AggregationSources() ([]*AggregationSource, error)

AggregationSources gets the access points using this connection method.

func (*ConnectionMethod) UnmarshalJSON added in v0.16.0

func (connectionmethod *ConnectionMethod) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ConnectionMethod object from the raw JSON.

type ConnectionMethodType added in v0.16.0

type ConnectionMethodType string
const (
	// RedfishConnectionMethodType shall indicate the connection method is Redfish.
	RedfishConnectionMethodType ConnectionMethodType = "Redfish"
	// SNMPConnectionMethodType shall indicate the connection method is SNMP.
	SNMPConnectionMethodType ConnectionMethodType = "SNMP"
	// IPMI15ConnectionMethodType shall indicate the connection method is IPMI 1.5.
	IPMI15ConnectionMethodType ConnectionMethodType = "IPMI15"
	// IPMI20ConnectionMethodType shall indicate the connection method is IPMI 2.0.
	IPMI20ConnectionMethodType ConnectionMethodType = "IPMI20"
	// NETCONFConnectionMethodType shall indicate the connection method is NETCONF.
	NETCONFConnectionMethodType ConnectionMethodType = "NETCONF"
	// OEMConnectionMethodType shall indicate the connection method is OEM. The ConnectionMethodVariant property shall
	// contain further identification information.
	OEMConnectionMethodType ConnectionMethodType = "OEM"
)

type ConnectionType added in v0.16.0

type ConnectionType string
const (
	// StorageConnectionType is a connection to storage-related resources, such as volumes.
	StorageConnectionType ConnectionType = "Storage"
	// MemoryConnectionType is a connection to memory-related resources.
	MemoryConnectionType ConnectionType = "Memory"
)

type ConnectorType added in v0.15.0

type ConnectorType string

The type of connector used for this interface.

const (
	// A DB25 Female connector.
	DB25FemaleConnector ConnectorType = "DB25 Female"
	// A DB25 Male connector.
	DB25MaleConnector ConnectorType = "DB25 Male"
	// A DB9 Female connector.
	DB9FemaleConnector ConnectorType = "DB9 Female"
	// A DB9 Male connector.
	DB9MaleConnector ConnectorType = "DB9 Male"
	// A mUSB connector.
	MUSBConnector ConnectorType = "mUSB"
	// An RJ11 connector.
	RJ11Connector ConnectorType = "RJ11"
	// An RJ45 connector.
	RJ45Connector ConnectorType = "RJ45"
	// A USB connector.
	USBConnector ConnectorType = "USB"
	// A uUSB connector.
	UUSBConnector ConnectorType = "uUSB"
)

type ContactInfo added in v0.16.0

type ContactInfo struct {
	// ContactName shall contain the name of a person or organization to contact for information about this license.
	ContactName string
	// EmailAddress shall contain the email address for a person or organization to contact for information about this
	// license.
	EmailAddress string
	// PhoneNumber shall contain the phone number for a person or organization to contact for information about this
	// license.
	PhoneNumber string
}

ContactInfo shall contain contact information for an individual or organization responsible for this license.

type Container added in v0.16.0

type Container 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

	// Limits shall contain the resource limits allocated to this container.
	Limits Limits
	// MountPoints shall contain the file system mount points configured for this container.
	MountPoints []MountPoint
	// ProgrammaticID shall contain the programmatic identifier for this container. This is typically a hash string
	// that represents the running instance of this container.
	ProgrammaticID string
	// StartTime shall indicate the date and time when the container started running.
	StartTime string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

Container shall represent an instance of a container that is running on a computer system.

func GetContainer added in v0.16.0

func GetContainer(c common.Client, uri string) (*Container, error)

GetContainer will get a Container instance from the service.

func ListReferencedContainers added in v0.16.0

func ListReferencedContainers(c common.Client, link string) ([]*Container, error)

ListReferencedContainers gets the collection of Container from a provided reference.

func (*Container) ContainerImage added in v0.16.0

func (container *Container) ContainerImage() (*ContainerImage, error)

ContainerImage gets the image used by this container.

func (*Container) EthernetInterfaces added in v0.16.0

func (container *Container) EthernetInterfaces() ([]*EthernetInterface, error)

EthernetIntefaces gets the ethernet interfaces associated with this container.

func (*Container) Reset added in v0.16.0

func (container *Container) Reset() error

Reset resets the container.

func (*Container) UnmarshalJSON added in v0.16.0

func (container *Container) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Container object from the raw JSON.

type ContainerEngine added in v0.16.0

type ContainerEngine struct {
	// ManagementURIs shall contain an array of URIs to management interfaces for this container engine. This is
	// typically a web UI or API provided by the container engine.
	ManagementURIs []string
	// SupportedImageTypes shall contain the supported image types for this container engine.
	SupportedImageTypes []ImageTypes
	// Type shall contain the type for this container engine.
	Type ContainerEngineTypes
	// Version shall contain the version of this container engine.
	Version string
}

ContainerEngine shall contain a container engine running in an operating system.

type ContainerEngineTypes added in v0.16.0

type ContainerEngineTypes string
const (
	// DockerContainerEngineTypes shall indicate the container engine is Docker.
	DockerContainerEngineTypes ContainerEngineTypes = "Docker"
	// containerdContainerEngineTypes shall indicate the container engine is containerd.
	ContainerdContainerEngineTypes ContainerEngineTypes = "containerd"
	// CRIOContainerEngineTypes shall indicate the container engine is CRI-O.
	CRIOContainerEngineTypes ContainerEngineTypes = "CRIO"
)

type ContainerImage added in v0.16.0

type ContainerImage 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"`
	// CreateTime shall indicate the date and time when the container image was created.
	CreateTime string
	// Description provides a description of this resource.
	Description string
	// ProgrammaticID shall contain the programmatic identifier for this container image. This is typically a hash
	// string that represents the identifier of this container image.
	ProgrammaticID string
	// SizeBytes shall contain the size of this container image in bytes.
	SizeBytes int
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// Type shall contain the supported image types for this container engine.
	Type ImageTypes
	// Version shall contain the version of this application.
	Version string

	// ContainersCount is the number of container instances running from this container image.
	ContainersCount int
	// contains filtered or unexported fields
}

ContainerImage shall represent a container image available to a computer system.

func GetContainerImage added in v0.16.0

func GetContainerImage(c common.Client, uri string) (*ContainerImage, error)

GetContainerImage will get a ContainerImage instance from the service.

func ListReferencedContainerImages added in v0.16.0

func ListReferencedContainerImages(c common.Client, link string) ([]*ContainerImage, error)

ListReferencedContainerImages gets the collection of ContainerImage from a provided reference.

func (*ContainerImage) Containers added in v0.16.0

func (containerimage *ContainerImage) Containers() ([]*Container, error)

Containers get the container instances using this container image.

func (*ContainerImage) UnmarshalJSON added in v0.16.0

func (containerimage *ContainerImage) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ContainerImage object from the raw JSON.

type Control added in v0.16.0

type Control 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"`
	// AllowableMax shall indicate the maximum possible value of the SetPoint or SettingMax properties for this
	// control. Services shall not accept values for SetPoint or SettingMax above this value.
	AllowableMax float64
	// AllowableMin shall indicate the minimum possible value of the SetPoint or SettingMin properties for this
	// control. Services shall not accept values for SetPoint or SettingMin below this value.
	AllowableMin float64
	// AllowableNumericValues shall contain the supported values for this control. The units shall follow the value of
	// SetPointUnits. This property should only be present when the set point or range has a limited set of supported
	// values that cannot be accurately described using the Increment property.
	AllowableNumericValues []float64

	// AssociatedSensorsCount is the number of sensors related to this control.
	AssociatedSensorsCount int `json:"AssociatedSensors@odata.count"`
	// ControlDelaySeconds shall contain the time in seconds that will elapse after the control value deviates above or
	// below the value of SetPoint before the control will activate.
	ControlDelaySeconds float64
	// ControlLoop shall contain the details for the control loop described by this resource.
	ControlLoop ControlLoop
	// ControlMode shall contain the operating mode of the control.
	ControlMode ControlMode
	// ControlType shall contain the type of the control.
	ControlType ControlType
	// DeadBand shall contain the maximum deviation value allowed above or below the value of SetPoint before the
	// control will activate.
	DeadBand float64
	// DefaultSetPoint shall contain the default set point control value. The units shall follow the value of
	// SetPointUnits. Services apply this value to the SetPoint property under certain conditions, such as a reset of
	// the manager or a ResetToDefaults action.
	DefaultSetPoint float64
	// Description provides a description of this resource.
	Description string
	// Implementation shall contain the implementation of the control.
	Implementation ControlImplementationType
	// Increment shall contain the smallest change allowed to the value of the SetPoint, SettingMin, or SettingMax
	// properties. The units shall follow the value of SetPointUnits.
	Increment float64
	// Location shall indicate the location information for this control.
	Location common.Location
	// PhysicalContext shall contain a description of the affected component or region within the equipment to which
	// this control applies.
	PhysicalContext PhysicalContext
	// PhysicalSubContext shall contain a description of the usage or sub-region within the equipment to which this
	// control applies. This property generally differentiates multiple controls within the same PhysicalContext
	// instance.
	PhysicalSubContext PhysicalSubContext

	// RelatedItemCount is the number of resources that this control services.
	RelatedItemCount int `json:"RelatedItem@odata.count"`
	// Sensor shall contain the Sensor excerpt directly associated with this control. The value of the DataSourceUri
	// property shall reference a resource of type Sensor. This property shall not be present if multiple sensors are
	// associated with a single control.
	Sensor SensorExcerpt
	// SetPoint shall contain the desired set point control value. The units shall follow the value of SetPointUnits.
	// If the DefaultSetPoint property is not supported and if a user-defined set point is not configured, the property
	// may contain 'null' in responses.
	SetPoint float64
	// SetPointAccuracy shall contain the accuracy of the value of the SetPoint for this control. The value shall be
	// the absolute value of the maximum deviation of the SetPoint from its actual value. The value shall be in units
	// that follow the SetPointUnits for this control.
	SetPointAccuracy float64
	// SetPointType shall contain the type of set point definitions used to describe this control.
	SetPointType SetPointType
	// SetPointUnits shall contain the units of the control's set point.
	SetPointUnits string
	// SetPointUpdateTime shall contain the date and time that the value of SetPoint was last changed.
	SetPointUpdateTime string
	// SettingMax shall contain the maximum desired set point within the acceptable range. The service shall reject
	// values greater than the value of AllowableMax. The units shall follow the value of SetPointUnits.
	SettingMax float64
	// SettingMin shall contain the minimum desired set point within the acceptable range. The service shall reject
	// values less than the value of AllowableMin. The units shall follow the value of SetPointUnits.
	SettingMin float64
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

Control shall represent a control point for a Redfish implementation.

func GetControl added in v0.16.0

func GetControl(c common.Client, uri string) (*Control, error)

GetControl will get a Control instance from the service.

func ListReferencedControls added in v0.16.0

func ListReferencedControls(c common.Client, link string) ([]*Control, error)

ListReferencedControls gets the collection of Control from a provided reference.

func (*Control) ResetToDefault added in v0.16.0

func (control *Control) ResetToDefault() error

ResetToDefault resets the values of writable properties to factory defaults.

func (*Control) UnmarshalJSON added in v0.16.0

func (control *Control) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Control object from the raw JSON.

func (*Control) Update added in v0.16.0

func (control *Control) Update() error

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

type ControlExcerpt added in v0.16.0

type ControlExcerpt struct {
	// AllowableMax shall indicate the maximum possible value of the SetPoint or SettingMax properties for this
	// control. Services shall not accept values for SetPoint or SettingMax above this value.
	AllowableMax float64
	// AllowableMin shall indicate the minimum possible value of the SetPoint or SettingMin properties for this
	// control. Services shall not accept values for SetPoint or SettingMin below this value.
	AllowableMin float64
	// ControlMode shall contain the operating mode of the control.
	ControlMode ControlMode
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy. If no source resource is implemented, meaning the excerpt represents the only available data, this
	// property shall not be present.
	DataSourceURI string
	// Reading shall contain the value of the Reading property of the Sensor resource directly associated with this
	// control. This property shall not be present if multiple sensors are associated with a single control.
	Reading float64
	// ReadingUnits shall contain the units of the sensor's reading and thresholds. This property shall not be present
	// if multiple sensors are associated with a single control.
	ReadingUnits string
}

ControlExcerpt shall represent a control point for a Redfish implementation.

type ControlImplementationType added in v0.16.0

type ControlImplementationType string
const (
	// ProgrammableImplementationType The set point can be adjusted through this interface.
	ProgrammableControlImplementationType ControlImplementationType = "Programmable"
	// DirectImplementationType The set point directly affects the control value.
	DirectControlImplementationType ControlImplementationType = "Direct"
	// MonitoredImplementationType A physical control that cannot be adjusted through this interface.
	MonitoredControlImplementationType ControlImplementationType = "Monitored"
)

type ControlLoop added in v0.16.0

type ControlLoop struct {
	// CoefficientUpdateTime shall contain the date and time that any of the coefficients for the control loop were
	// last changed.
	CoefficientUpdateTime string
	// Differential shall contain the coefficient for the differential factor in a control loop.
	Differential float64
	// Integral shall contain the coefficient for the integral factor in a control loop.
	Integral float64
	// Proportional shall contain the coefficient for the proportional factor in a control loop.
	Proportional float64
}

ControlLoop shall describe the details of a control loop.

type ControlMode added in v0.16.0

type ControlMode string
const (
	// AutomaticControlMode Automatically adjust control to meet the set point.
	AutomaticControlMode ControlMode = "Automatic"
	// OverrideControlMode User override of the automatic set point value.
	OverrideControlMode ControlMode = "Override"
	// ManualControlMode No automatic adjustments are made to the control.
	ManualControlMode ControlMode = "Manual"
	// DisabledControlMode The control has been disabled.
	DisabledControlMode ControlMode = "Disabled"
)

type ControlRangeExcerpt added in v0.16.0

type ControlRangeExcerpt struct {
	// AllowableMax shall indicate the maximum possible value of the SetPoint or SettingMax properties for this
	// control. Services shall not accept values for SetPoint or SettingMax above this value.
	AllowableMax float64
	// AllowableMin shall indicate the minimum possible value of the SetPoint or SettingMin properties for this
	// control. Services shall not accept values for SetPoint or SettingMin below this value.
	AllowableMin float64
	// AllowableNumericValues shall contain the supported values for this control. The units shall follow the value of
	// SetPointUnits. This property should only be present when the set point or range has a limited set of supported
	// values that cannot be accurately described using the Increment property.
	AllowableNumericValues []string
	// ControlMode shall contain the operating mode of the control.
	ControlMode ControlMode
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy. If no source resource is implemented, meaning the excerpt represents the only available data, this
	// property shall not be present.
	DataSourceURI string
	// Reading shall contain the value of the Reading property of the Sensor resource directly associated with this
	// control. This property shall not be present if multiple sensors are associated with a single control.
	Reading float64
	// ReadingUnits shall contain the units of the sensor's reading and thresholds. This property shall not be present
	// if multiple sensors are associated with a single control.
	ReadingUnits string
	// SettingMax shall contain the maximum desired set point within the acceptable range. The service shall reject
	// values greater than the value of AllowableMax. The units shall follow the value of SetPointUnits.
	SettingMax float64
	// SettingMin shall contain the minimum desired set point within the acceptable range. The service shall reject
	// values less than the value of AllowableMin. The units shall follow the value of SetPointUnits.
	SettingMin float64
}

ControlRangeExcerpt shall represent a control point for a Redfish implementation.

type ControlSingleExcerpt added in v0.16.0

type ControlSingleExcerpt struct {
	// AllowableMax shall indicate the maximum possible value of the SetPoint or SettingMax properties for this
	// control. Services shall not accept values for SetPoint or SettingMax above this value.
	AllowableMax float64
	// AllowableMin shall indicate the minimum possible value of the SetPoint or SettingMin properties for this
	// control. Services shall not accept values for SetPoint or SettingMin below this value.
	AllowableMin float64
	// ControlMode shall contain the operating mode of the control.
	ControlMode ControlMode
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy. If no source resource is implemented, meaning the excerpt represents the only available data, this
	// property shall not be present.
	DataSourceURI string
	// DefaultSetPoint shall contain the default set point control value. The units shall follow the value of
	// SetPointUnits. Services apply this value to the SetPoint property under certain conditions, such as a reset of
	// the manager or a ResetToDefaults action.
	DefaultSetPoint float64
	// Reading shall contain the value of the Reading property of the Sensor resource directly associated with this
	// control. This property shall not be present if multiple sensors are associated with a single control.
	Reading float64
	// ReadingUnits shall contain the units of the sensor's reading and thresholds. This property shall not be present
	// if multiple sensors are associated with a single control.
	ReadingUnits string
	// SetPoint shall contain the desired set point control value. The units shall follow the value of SetPointUnits.
	// If the DefaultSetPoint property is not supported and if a user-defined set point is not configured, the property
	// may contain 'null' in responses.
	SetPoint float64
}

ControlSingleExcerpt shall represent a control point for a Redfish implementation.

type ControlType added in v0.16.0

type ControlType string
const (
	// TemperatureControlType shall indicate a control used to regulate temperature, in degree Celsius units, either to
	// a single set point or within a range. The SetPointUnits property shall contain 'Cel'.
	TemperatureControlType ControlType = "Temperature"
	// PowerControlType shall indicate a control used to regulate or limit maximum power consumption, in watt units,
	// either to a single set point or within a range. The SetPointUnits property shall contain 'W'.
	PowerControlType ControlType = "Power"
	// FrequencyControlType shall indicate a control used to limit the operating frequency, in hertz units, of a
	// device, either to a single set point or within a range. The SetPointUnits property shall contain 'Hz'.
	FrequencyControlType ControlType = "Frequency"
	// FrequencyMHzControlType shall indicate a control used to limit the operating frequency, in megahertz units, of a
	// device, either to a single set point or within a range. The SetPointUnits property shall contain 'MHz'.
	FrequencyMHzControlType ControlType = "FrequencyMHz"
	// PressureControlType shall indicate a control used to adjust pressure in a system, in kilopascal units. The
	// SetPointUnits property shall contain 'kPa'.
	PressureControlType ControlType = "Pressure"
	// PressurekPaControlType shall indicate a control used to adjust pressure in a system, in kilopascal units. The
	// SetPointUnits property shall contain 'kPa'.
	PressurekPaControlType ControlType = "PressurekPa"
	// ValveControlType shall indicate a control used to adjust a valve in a system, in percent units. The
	// SetPointUnits property shall contain '%'. A value of '100' shall indicate the valve is completely open, and a
	// value of '0' shall indicate the valve is completely closed.
	ValveControlType ControlType = "Valve"
	// PercentControlType shall indicate a percent-based control, in percent units. The SetPointUnits property shall
	// contain '%'.
	PercentControlType ControlType = "Percent"
	// DutyCycleControlType shall indicate a control used to adjust the duty cycle, such as a PWM-based control, in
	// percent units. The SetPointUnits property shall contain '%'.
	DutyCycleControlType ControlType = "DutyCycle"
)

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.
	// This property has been deprecated in favor of the Ports property.
	NetworkPortsCount int

	// PCIeDevicesCount is the number of PCIeDevices.
	PCIeDevicesCount int

	// PortsCount gets the number of ports associated with this network controller.
	PortsCount int

	// SoftwareImagesCount gets the number of firmware images that apply to this controller.
	SoftwareImagesCount int
	// contains filtered or unexported fields
}

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

func (*Controllers) ActiveSoftwareImage added in v0.16.0

func (controllers *Controllers) ActiveSoftwareImage(c common.Client) (*SoftwareInventory, error)

ActiveSoftwareImage gets the active firmware image for this network controller.

func (*Controllers) NetworkDeviceFunctions added in v0.16.0

func (controllers *Controllers) NetworkDeviceFunctions(c common.Client) ([]*NetworkDeviceFunction, error)

NetworkDeviceFunctions gets the collection of NetworkDeviceFunctions of this network controller.

func (*Controllers) NetworkPorts added in v0.16.0

func (controllers *Controllers) NetworkPorts(c common.Client) ([]*NetworkPort, error)

NetworkPorts gets the collection of NetworkPorts for this network controller.

func (*Controllers) PCIeDevices added in v0.16.0

func (controllers *Controllers) PCIeDevices(c common.Client) ([]*PCIeDevice, error)

PCIeDevices gets the PCIe devices associated with this network controller.

func (*Controllers) Ports added in v0.16.0

func (controllers *Controllers) Ports(c common.Client) ([]*Port, error)

Ports gets the ports associated with this network controller.

func (*Controllers) SoftwareImages added in v0.16.0

func (controllers *Controllers) SoftwareImages(c common.Client) ([]*SoftwareInventory, error)

SoftwareImages gets the firmware images that apply to this controller.

func (*Controllers) UnmarshalJSON

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

UnmarshalJSON unmarshals a Controllers object from the raw JSON.

type Coolant added in v0.16.0

type Coolant struct {
	// AdditiveName shall contain the name of the additive contained in the coolant.
	AdditiveName string
	// AdditivePercent shall contain the percent of additives, '0' to '100', by volume, contained in the coolant
	// mixture.
	AdditivePercent float64
	// CoolantType shall contain the type of coolant used by this resource.
	CoolantType CoolantType
	// DensityKgPerCubicMeter shall contain the density of the coolant, in kilograms per cubic meter units, as measured
	// at room temperature (20-25 degrees C) and atmospheric pressure.
	DensityKgPerCubicMeter float64
	// RatedServiceHours shall contain the number of hours of service that the coolant is rated to provide before
	// servicing or replacement is necessary.
	RatedServiceHours float64
	// ServiceHours shall contain the number of hours of service that the coolant has provided.
	ServiceHours float64
	// ServicedDate shall contain the date the coolant was last serviced or tested for quality.
	ServicedDate string
	// SpecificHeatkJoulesPerKgK shall contain the specific heat capacity of the coolant, in kilojoules per kilogram
	// per degree kelvin units, as measured at room temperature (20-25 degrees C) and atmospheric pressure.
	SpecificHeatkJoulesPerKgK float64
}

Coolant shall describe the coolant used with a device.

type CoolantConnector added in v0.16.0

type CoolantConnector 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"`
	// Coolant shall contain details regarding the coolant contained or used by this unit.
	Coolant Coolant
	// CoolantConnectorType shall contain the type of coolant connector.
	CoolantConnectorType CoolantConnectorType
	// CoolingLoopName shall contain the name of the cooling loop attached to this interface. If the 'CoolingLoop' link
	// property is present, this property shall contain the value of the 'Id' property in the resource referenced by
	// that link.
	CoolingLoopName string
	// CoolingManagerURI shall contain a URI to the application or device that provides administration or management of
	// the cooling loop associated with this interface.
	CoolingManagerURI string
	// DeltaPressurekPa shall contain the pressure, in kilopascal units, for the difference in pressure between the
	// supply and outflow or return connection to the cooling loop. The value of the DataSourceUri property, if
	// present, shall reference a resource of type Sensor with the ReadingType property containing the value
	// 'PressurekPa'.
	DeltaPressurekPa SensorExcerpt
	// DeltaTemperatureCelsius shall contain the change in temperature, in degree Celsius units, between the supply
	// connection and the outflow or return connection to the cooling loop. The value of the DataSourceUri property, if
	// present, shall reference a resource of type Sensor with the ReadingType property containing the value
	// 'Temperature'.
	DeltaTemperatureCelsius SensorExcerpt
	// Description provides a description of this resource.
	Description string
	// FlowLitersPerMinute shall contain the liquid flow rate, in liters per minute units, for this coolant connector.
	// The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'LiquidFlowLPM'.
	FlowLitersPerMinute SensorExcerpt
	// HeatRemovedkW shall contain the amount of heat removed, in kilowatt units, by the coolant flow through this
	// connector. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with
	// the ReadingType property containing the value 'Heat'.
	HeatRemovedkW SensorExcerpt
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// RatedFlowLitersPerMinute shall contain the rated liquid flow, in liters per minute units, for this loop
	// interface.
	RatedFlowLitersPerMinute float64
	// RatedFlowPressurekPa shall contain the pressure, in kilopascal units, that the rated liquid flow is valid for
	// this connector.
	RatedFlowPressurekPa float64
	// RatedPressurekPa shall contain the rated maximum pressure, in kilopascal units, for this connector.
	RatedPressurekPa float64
	// ReturnPressurekPa shall contain the pressure, in kilopascal units, for the outflow or return connection to the
	// cooling loop. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor
	// with the ReadingType property containing the value 'PressurekPa'.
	ReturnPressurekPa SensorExcerpt
	// ReturnTemperatureCelsius shall contain the temperature, in degree Celsius units, for the outflow or return
	// connection to the cooling loop. The value of the DataSourceUri property, if present, shall reference a resource
	// of type Sensor with the ReadingType property containing the value 'Temperature'.
	ReturnTemperatureCelsius SensorExcerpt
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// SupplyPressurekPa shall contain the pressure, in kilopascal units, for the intake or supply connection to the
	// cooling loop. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor
	// with the ReadingType property containing the value 'PressurekPa'.
	SupplyPressurekPa SensorExcerpt
	// SupplyTemperatureCelsius shall contain the temperature, in degree Celsius units, for the intake or supply
	// connection to the cooling loop. The value of the DataSourceUri property, if present, shall reference a resource
	// of type Sensor with the ReadingType property containing the value 'Temperature'.
	SupplyTemperatureCelsius SensorExcerpt

	// ConnectedChassisCount is the number of connected chassis at the other end of the connection.
	ConnectedChassisCount int
	// contains filtered or unexported fields
}

CoolantConnector shall represent a coolant connector for a Redfish implementation.

func GetCoolantConnector added in v0.16.0

func GetCoolantConnector(c common.Client, uri string) (*CoolantConnector, error)

GetCoolantConnector will get a CoolantConnector instance from the service.

func ListReferencedCoolantConnectors added in v0.16.0

func ListReferencedCoolantConnectors(c common.Client, link string) ([]*CoolantConnector, error)

ListReferencedCoolantConnectors gets the collection of CoolantConnector from a provided reference.

func (*CoolantConnector) ConnectedChassis added in v0.16.0

func (coolantconnector *CoolantConnector) ConnectedChassis() ([]*Chassis, error)

ConnectedChassis retrieves a collection of the Chassis at the other end of the connection.

func (*CoolantConnector) ConnectedCoolingLoop added in v0.16.0

func (coolantconnector *CoolantConnector) ConnectedCoolingLoop() (*CoolingLoop, error)

ConnectedCoolingLoop gets the cooling loop at the other end of the connection.

func (*CoolantConnector) ConnectedCoolingUnit added in v0.16.0

func (coolantconnector *CoolantConnector) ConnectedCoolingUnit() (*CoolingUnit, error)

ConnectedCoolingUnit gets the cooling unit at the other end of the connection.

func (*CoolantConnector) UnmarshalJSON added in v0.16.0

func (coolantconnector *CoolantConnector) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CoolantConnector object from the raw JSON.

func (*CoolantConnector) Update added in v0.16.0

func (coolantconnector *CoolantConnector) Update() error

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

type CoolantConnectorType added in v0.16.0

type CoolantConnectorType string
const (
	// PairCoolantConnectorType is a connection pair.
	PairCoolantConnectorType CoolantConnectorType = "Pair"
	// SupplyCoolantConnectorType is a supply or intake connection.
	SupplyCoolantConnectorType CoolantConnectorType = "Supply"
	// ReturnCoolantConnectorType is a return or outflow connection.
	ReturnCoolantConnectorType CoolantConnectorType = "Return"
	// InlineCoolantConnectorType An inline connection or measurement point.
	InlineCoolantConnectorType CoolantConnectorType = "Inline"
	// ClosedCoolantConnectorType is a closed or self-contained loop.
	ClosedCoolantConnectorType CoolantConnectorType = "Closed"
)

type CoolantType added in v0.16.0

type CoolantType string
const (
	// WaterCoolantType Water or glycol mixture, including additives.
	WaterCoolantType CoolantType = "Water"
	// HydrocarbonCoolantType Hydrocarbon-based.
	HydrocarbonCoolantType CoolantType = "Hydrocarbon"
	// FluorocarbonCoolantType Fluorocarbon-based.
	FluorocarbonCoolantType CoolantType = "Fluorocarbon"
	// DielectricCoolantType Dielectric fluid.
	DielectricCoolantType CoolantType = "Dielectric"
)

type CoolingEquipmentType added in v0.16.0

type CoolingEquipmentType string
const (
	// CDUCoolingEquipmentType A coolant distribution unit (CDU).
	CDUCoolingEquipmentType CoolingEquipmentType = "CDU"
	// HeatExchangerCoolingEquipmentType A heat exchanger.
	HeatExchangerCoolingEquipmentType CoolingEquipmentType = "HeatExchanger"
	// ImmersionUnitCoolingEquipmentType An immersion cooling unit.
	ImmersionUnitCoolingEquipmentType CoolingEquipmentType = "ImmersionUnit"
)

type CoolingLoop added in v0.16.0

type CoolingLoop 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"`
	// ConsumingEquipmentNames shall contain an array of user-assigned identifying strings that describe downstream
	// devices that receive coolant from this cooling loop.
	ConsumingEquipmentNames []string
	// Coolant shall contain the details about the coolant contained in this cooling loop.
	Coolant Coolant
	// CoolantLevelPercent shall contain the amount of coolant capacity, in percent units, filled in this cooling loop.
	// The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'Percent'. Services that support this property shall also return the
	// CoolantLevelStatus property.
	CoolantLevelPercent SensorExcerpt
	// CoolantLevelStatus shall indicate the status of the coolant level in this cooling loop.
	CoolantLevelStatus common.Health
	// CoolantQuality shall indicate the quality of the coolant contained in this cooling loop.
	CoolantQuality common.Health
	// CoolingManagerURI shall contain a URI to the application or device that provides administration or management of
	// the cooling loop associated with this interface.
	CoolingManagerURI string
	// Description provides a description of this resource.
	Description string
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// PrimaryCoolantConnectors shall contain a link to a resource collection of type CoolantConnectorCollection that
	// contains the primary coolant connectors for this equipment.
	PrimaryCoolantConnectors string
	// RatedFlowLitersPerMinute shall contain the rated liquid flow, in liters per minute units, for this cooling loop.
	RatedFlowLitersPerMinute float64
	// RatedPressurekPa shall contain the rated maximum pressure, in kilopascal units, for this cooling loop.
	RatedPressurekPa float64

	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// SupplyEquipmentNames shall contain an array of user-assigned identifying strings that describe upstream devices
	// that supply coolant to this cooling loop.
	SupplyEquipmentNames []string
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string

	// ManagedByCount is the number of managers that manage this equipment.
	ManagedByCount int
	// contains filtered or unexported fields
}

CoolingLoop shall represent a cooling loop for a Redfish implementation.

func GetCoolingLoop added in v0.16.0

func GetCoolingLoop(c common.Client, uri string) (*CoolingLoop, error)

GetCoolingLoop will get a CoolingLoop instance from the service.

func ListReferencedCoolingLoops added in v0.16.0

func ListReferencedCoolingLoops(c common.Client, link string) ([]*CoolingLoop, error)

ListReferencedCoolingLoops gets the collection of CoolingLoop from a provided reference.

func (*CoolingLoop) Chassis added in v0.16.0

func (coolingloop *CoolingLoop) Chassis() (*Chassis, error)

Chassis gets the physical container that contains this resource.

func (*CoolingLoop) Facility added in v0.16.0

func (coolingloop *CoolingLoop) Facility() (*Facility, error)

Facility gets the physical container that contains this resource.

func (*CoolingLoop) ManagedBy added in v0.16.0

func (coolingloop *CoolingLoop) ManagedBy() ([]*Manager, error)

ManagedBy gets the collection of managers of this equipment.

func (*CoolingLoop) SecondaryCoolantConnectors added in v0.16.0

func (coolingloop *CoolingLoop) SecondaryCoolantConnectors() ([]*CoolantConnector, error)

SecondaryCoolantConnectors gets the secondary coolant connectors for this equipment.

func (*CoolingLoop) UnmarshalJSON added in v0.16.0

func (coolingloop *CoolingLoop) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CoolingLoop object from the raw JSON.

func (*CoolingLoop) Update added in v0.16.0

func (coolingloop *CoolingLoop) Update() error

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

type CoolingUnit added in v0.16.0

type CoolingUnit 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"`

	// AssetTag shall contain the user-assigned asset tag, which is an identifying string that tracks the equipment for
	// inventory purposes.
	AssetTag string
	// Coolant shall contain details regarding the coolant contained or used by this unit.
	Coolant Coolant

	// CoolingCapacityWatts shall contain the manufacturer-provided cooling capacity, in watt units, of this equipment.
	CoolingCapacityWatts int
	// Description provides a description of this resource.
	Description string

	// EquipmentType shall contain the type of equipment this resource represents.
	EquipmentType CoolingEquipmentType
	// FilterRedundancy shall contain redundancy information for the groups of filters in this unit.
	FilterRedundancy []RedundantGroup

	// FirmwareVersion shall contain a string describing the firmware version of this equipment as provided by the
	// manufacturer.
	FirmwareVersion string

	// Location shall contain the location information of the associated equipment.
	Location common.Location
	// Manufacturer shall contain the name of the organization responsible for producing the equipment. This
	// organization may be the entity from which the equipment is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the manufacturer-provided model information of this equipment.
	Model string
	// PartNumber shall contain the manufacturer-provided part number for the equipment.
	PartNumber string

	// ProductionDate shall contain the date of production or manufacture for this equipment.
	ProductionDate string
	// PumpRedundancy shall contain redundancy information for the groups of pumps in this unit.
	PumpRedundancy []RedundantGroup

	// SerialNumber shall contain a manufacturer-allocated number that identifies the equipment.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string
	// Version shall contain the hardware version of this equipment as determined by the vendor or supplier.
	Version string

	// ChassisCount is the number of physical containers that contain this equipment.
	ChassisCount int

	// ManagedByCount is the number of managers that manage this equipment.
	ManagedByCount int
	// contains filtered or unexported fields
}

CoolingUnit shall represent a cooling system component or unit for a Redfish implementation.

func GetCoolingUnit added in v0.16.0

func GetCoolingUnit(c common.Client, uri string) (*CoolingUnit, error)

GetCoolingUnit will get a CoolingUnit instance from the service.

func ListReferencedCoolingUnits added in v0.16.0

func ListReferencedCoolingUnits(c common.Client, link string) ([]*CoolingUnit, error)

ListReferencedCoolingUnits gets the collection of CoolingUnit from a provided reference.

func (*CoolingUnit) UnmarshalJSON added in v0.16.0

func (coolingunit *CoolingUnit) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a CoolingUnit object from the raw JSON.

func (*CoolingUnit) Update added in v0.16.0

func (coolingunit *CoolingUnit) Update() error

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

type CoreMetrics added in v0.16.0

type CoreMetrics struct {
	// CStateResidency shall contain properties that describe the C-state residency of this core in the processor.
	CStateResidency []CStateResidency
	// CoreCache shall contain properties that describe the cache metrics of this core in the processor.
	CoreCache []CacheMetrics
	// CoreID shall contain the identifier of the core within the processor.
	CoreID string
	// CorrectableCoreErrorCount shall contain the number of correctable core errors, such as TLB or cache errors. When
	// this resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// CorrectableCoreErrorCount over all processors.
	CorrectableCoreErrorCount int
	// CorrectableOtherErrorCount shall contain the number of correctable errors of all other components. When this
	// resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// CorrectableOtherErrorCount over all processors.
	CorrectableOtherErrorCount int
	// IOStallCount shall contain the number of stalled cycles due to I/O operations of this core in the processor.
	IOStallCount int
	// InstructionsPerCycle shall contain the number of instructions per clock cycle of this core in the processor.
	InstructionsPerCycle float64
	// MemoryStallCount shall contain the number of stalled cycles due to memory operations of this core in the
	// processor.
	MemoryStallCount int
	// UncorrectableCoreErrorCount shall contain the number of uncorrectable core errors, such as TLB or cache errors.
	// When this resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// UncorrectableCoreErrorCount over all processors.
	UncorrectableCoreErrorCount int
	// UncorrectableOtherErrorCount shall contain the number of uncorrectable errors of all other components. When this
	// resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// UncorrectableOtherErrorCount over all processors.
	UncorrectableOtherErrorCount int
	// UnhaltedCycles shall contain the number of unhalted cycles of this core in the processor.
	UnhaltedCycles float64
}

CoreMetrics shall contain properties that describe the cores of a processor.

type CredentialBootstrapping added in v0.16.0

type CredentialBootstrapping struct {
	// EnableAfterReset shall indicate whether credential bootstrapping is enabled after a reset for this interface. If
	// 'true', services shall set the Enabled property to 'true' after a reset of the host or the service.
	EnableAfterReset bool
	// Enabled shall indicate whether credential bootstrapping is enabled for this interface.
	Enabled bool
	// RoleID shall contain the ID property of the role resource that is used for the bootstrap account created for
	// this interface.
	RoleID string
}

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
	// CorrectableECCErrorCount shall contain the number of correctable errors since reset. When this resource is
	// subordinate to the MemorySummary object, this property shall be the sum of CorrectableECCErrorCount over all
	// memory.
	CorrectableECCErrorCount int
	// IndeterminateCorrectableErrorCount shall contain the number of indeterminate correctable errors since reset.
	// Since the error origin is indeterminate, the same error can be duplicated across multiple MemoryMetrics
	// resources. When this resource is subordinate to the MemorySummary object, this property shall be the sum of
	// indeterminate correctable errors across all memory without duplication, which may not be the sum of all
	// IndeterminateCorrectableErrorCount properties over all memory.
	IndeterminateCorrectableErrorCount int
	// IndeterminateUncorrectableErrorCount shall contain the number of indeterminate uncorrectable errors since reset.
	// Since the error origin is indeterminate, the same error can be duplicated across multiple MemoryMetrics
	// resources. When this resource is subordinate to the MemorySummary object, this property shall be the sum of
	// indeterminate uncorrectable errors across all memory without duplication, which may not be the sum of all
	// IndeterminateUncorrectableErrorCount properties over all memory.
	IndeterminateUncorrectableErrorCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors since reset. When this resource is
	// subordinate to the MemorySummary object, this property shall be the sum of UncorrectableECCErrorCount over all
	// memory.
	UncorrectableECCErrorCount int
}

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

type CurrentPortConfigurationState added in v0.16.0

type CurrentPortConfigurationState string
const (
	// DisabledCurrentPortConfigurationState shall indicate the port is disabled.
	DisabledCurrentPortConfigurationState CurrentPortConfigurationState = "Disabled"
	// BindInProgressCurrentPortConfigurationState shall indicate a bind is in progress for the port.
	BindInProgressCurrentPortConfigurationState CurrentPortConfigurationState = "BindInProgress"
	// UnbindInProgressCurrentPortConfigurationState shall indicate an unbind is in progress for the port.
	UnbindInProgressCurrentPortConfigurationState CurrentPortConfigurationState = "UnbindInProgress"
	// DSPCurrentPortConfigurationState shall indicate the port is enabled as a downstream port (DSP).
	DSPCurrentPortConfigurationState CurrentPortConfigurationState = "DSP"
	// USPCurrentPortConfigurationState shall indicate the port is enabled as an upstream port (USP).
	USPCurrentPortConfigurationState CurrentPortConfigurationState = "USP"
	// ReservedCurrentPortConfigurationState shall indicate the port is in a reserved state.
	ReservedCurrentPortConfigurationState CurrentPortConfigurationState = "Reserved"
	// FabricLinkCurrentPortConfigurationState shall indicate the port is enabled as a fabric link to another switch.
	FabricLinkCurrentPortConfigurationState CurrentPortConfigurationState = "FabricLink"
)

type CurrentSensors added in v0.16.0

type CurrentSensors struct {
	// Line1 shall contain the line current, in ampere units, for L1. The value of the DataSourceUri property, if
	// present, shall reference a resource of type Sensor with the ReadingType property containing the value 'Current'.
	// This property shall not be present if the equipment does not include an L1 measurement.
	Line1 SensorCurrentExcerpt
	// Line2 shall contain the line current, in ampere units, for L2. The value of the DataSourceUri property, if
	// present, shall reference a resource of type Sensor with the ReadingType property containing the value 'Current'.
	// This property shall not be present if the equipment does not include an L2 measurement.
	Line2 SensorCurrentExcerpt
	// Line3 shall contain the line current, in ampere units, for L3. The value of the DataSourceUri property, if
	// present, shall reference a resource of type Sensor with the ReadingType property containing the value 'Current'.
	// This property shall not be present if the equipment does not include an L3 measurement.
	Line3 SensorCurrentExcerpt
	// Neutral shall contain the line current, in ampere units, for the Neutral line. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Current'. This property shall not be present if the equipment does not include a Neutral line
	// measurement.
	Neutral SensorCurrentExcerpt
}

CurrentSensors shall contain properties that describe current sensor readings for an outlet.

type DHCHAPKey added in v0.16.0

type DHCHAPKey struct {
	// LocalDHCHAPAuthSecret shall contain the local DHCHAP authentication secret. The value shall be 'null' in
	// responses.
	LocalDHCHAPAuthSecret string
	// PeerDHCHAPAuthSecret shall contain the peer DHCHAP authentication secret. The value shall be 'null' in
	// responses.
	PeerDHCHAPAuthSecret string
}

DHCHAPKey shall contain the DHCHAP-specific permission key information for this connection.

type DHCP added in v0.16.0

type DHCP struct {
	// DHCPInterfaceMTUBytes shall contain the Maximum Transmission Unit (MTU) to use on this interface in bytes.
	DHCPInterfaceMTUBytes int
	// DHCPRelayEnabled shall indicate whether Dynamic Host Configuration Protocol (DHCP) Relay is enabled.
	DHCPRelayEnabled bool
	// DHCPServer shall contain an array of addresses assigned to the Dynamic Host Configuration Protocol (DHCP) server
	// for this Ethernet fabric.
	DHCPServer []string
}

DHCP shall contain settings for assigning DHCP-related properties to the Ethernet fabric.

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 DMTFmeasurementTypes added in v0.16.0

type DMTFmeasurementTypes string
const (
	// ImmutableROMDMTFmeasurementTypes Immutable ROM.
	ImmutableROMDMTFmeasurementTypes DMTFmeasurementTypes = "ImmutableROM"
	// MutableFirmwareDMTFmeasurementTypes Mutable firmware or any mutable code.
	MutableFirmwareDMTFmeasurementTypes DMTFmeasurementTypes = "MutableFirmware"
	// HardwareConfigurationDMTFmeasurementTypes Hardware configuration, such as straps.
	HardwareConfigurationDMTFmeasurementTypes DMTFmeasurementTypes = "HardwareConfiguration"
	// FirmwareConfigurationDMTFmeasurementTypes Firmware configuration, such as configurable firmware policy.
	FirmwareConfigurationDMTFmeasurementTypes DMTFmeasurementTypes = "FirmwareConfiguration"
	// MutableFirmwareVersionDMTFmeasurementTypes Mutable firmware version.
	MutableFirmwareVersionDMTFmeasurementTypes DMTFmeasurementTypes = "MutableFirmwareVersion"
	// MutableFirmwareSecurityVersionNumberDMTFmeasurementTypes Mutable firmware security version number.
	MutableFirmwareSecurityVersionNumberDMTFmeasurementTypes DMTFmeasurementTypes = "MutableFirmwareSecurityVersionNumber"
	// MeasurementManifestDMTFmeasurementTypes Measurement Manifest.
	MeasurementManifestDMTFmeasurementTypes DMTFmeasurementTypes = "MeasurementManifest"
)

type DataBits added in v0.15.0

type DataBits string

The number of data bits that follow the start bit over the serial connection.

const (
	// Five bits of data following the start bit.
	DataBits5 DataBits = "5"
	// Six bits of data following the start bit.
	DataBits6 DataBits = "6"
	// Seven bits of data following the start bit.
	DataBits7 DataBits = "7"
	// Eight bits of data following the start bit.
	DataBits8 DataBits = "8"
)
const (
	// One stop bit following the data bits.
	StopBits1 DataBits = "1"
	// Two stop bits following the data bits.
	StopBits2 DataBits = "2"
)

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 DataDirection added in v0.16.0

type DataDirection string

DataDirection is the direction of data flow.

const (
	// NoneDataDirection Indicates that this limit not enforced.
	NoneDataDirection DataDirection = "None"
	// IngressDataDirection Indicates that this limit is enforced on packets and bytes received by the network device
	// function.
	IngressDataDirection DataDirection = "Ingress"
	// EgressDataDirection Indicates that this limit is enforced on packets and bytes transmitted by the network device
	// function.
	EgressDataDirection DataDirection = "Egress"
)

type DataSanitizationType added in v0.16.0

type DataSanitizationType string
const (
	// BlockEraseDataSanitizationType shall indicate sanitization is performed by deleting all logical block addresses,
	// including those that are not currently mapping to active addresses, but leaving the data on the drive.
	BlockEraseDataSanitizationType DataSanitizationType = "BlockErase"
	// CryptographicEraseDataSanitizationType shall indicate sanitization is performed by erasing the target data's
	// encryption key leaving only the ciphertext on the drive. For more information, see NIST800-88 and ISO/IEC 27040.
	CryptographicEraseDataSanitizationType DataSanitizationType = "CryptographicErase"
	// OverwriteDataSanitizationType shall indicate sanitization is performed by overwriting data by writing an
	// implementation-specific pattern onto all sectors of the drive.
	OverwriteDataSanitizationType DataSanitizationType = "Overwrite"
)

type DayOfWeek added in v0.16.0

type DayOfWeek string

DayOfWeek is the days of the week.

const (
	// MondayDayOfWeek Monday.
	MondayDayOfWeek DayOfWeek = "Monday"
	// TuesdayDayOfWeek Tuesday.
	TuesdayDayOfWeek DayOfWeek = "Tuesday"
	// WednesdayDayOfWeek Wednesday.
	WednesdayDayOfWeek DayOfWeek = "Wednesday"
	// ThursdayDayOfWeek Thursday.
	ThursdayDayOfWeek DayOfWeek = "Thursday"
	// FridayDayOfWeek Friday.
	FridayDayOfWeek DayOfWeek = "Friday"
	// SaturdayDayOfWeek Saturday.
	SaturdayDayOfWeek DayOfWeek = "Saturday"
	// SundayDayOfWeek Sunday.
	SundayDayOfWeek DayOfWeek = "Sunday"
	// EveryDayOfWeek shall be the only member in the array.
	EveryDayOfWeek DayOfWeek = "Every"
)

type DaylightSavingTime added in v0.16.0

type DaylightSavingTime struct {
	// EndDateTime shall contain the end date and time with UTC offset of daylight saving time for this manager. If
	// daylight saving time is permanent, specify a sufficiently distant end date and time. Services shall update the
	// UTC offset based on changes made to DateTimeLocalOffset. This property shall be read-only if the service
	// contains time zone databases.
	EndDateTime string
	// OffsetMinutes shall contain the number of minutes added to the DateTime value when the DateTime value is between
	// the values of StartDateTime and EndDateTime. This offset shall be applied only if AutoDSTEnabled is 'true'. This
	// property shall be read-only if the service contains time zone databases.
	OffsetMinutes int
	// StartDateTime shall contain the start date and time with UTC offset of daylight saving time for this manager.
	// Services shall update the UTC offset based on changes made to DateTimeLocalOffset. This property shall be read-
	// only if the service contains time zone databases.
	StartDateTime string
	// TimeZoneName shall contain the time zone of the manager when daylight saving time is in effect. When daylight
	// saving time is in effect, the service shall update the TimeZoneName property in the root of the resource. When
	// daylight saving time is no longer in effect, the service shall restore the original value of the TimeZoneName
	// property in the root of the resource. The time zone shall be either the 'Name' or the 'Format' for the zone as
	// defined in the IANA Time Zone Database. The value of this property is used for display purposes, especially to
	// enhance the display of time. This property shall be read-only if the service contains time zone databases.
	TimeZoneName string
}

DaylightSavingTime shall contain the daylight saving time settings for a manager.

type DecommissionType added in v0.16.0

type DecommissionType string
const (
	// AllDecommissionType shall indicate the service removes all the data that it can from the system. This shall
	// include all possible OEM data as well.
	AllDecommissionType DecommissionType = "All"
	// UserDataDecommissionType shall indicate the service removes all the data from block devices or other operating
	// system accessible storage. If the RequireSecureErase parameter contains 'true', this shall be equivalent to
	// performing the SecureErase action on each drive.
	UserDataDecommissionType DecommissionType = "UserData"
	// ManagerConfigDecommissionType shall indicate the service resets all associated managers to factory defaults.
	// This shall be equivalent to performing the ResetToDefaults action on each Manager resource with the ResetType
	// parameter of 'ResetAll'.
	ManagerConfigDecommissionType DecommissionType = "ManagerConfig"
	// BIOSConfigDecommissionType shall indicate the service resets all BIOS settings to factory defaults. This shall
	// be equivalent to performing the ResetBios action on each Bios resource.
	BIOSConfigDecommissionType DecommissionType = "BIOSConfig"
	// NetworkConfigDecommissionType shall indicate the service resets all network settings on all network devices to
	// factory defaults.
	NetworkConfigDecommissionType DecommissionType = "NetworkConfig"
	// StorageConfigDecommissionType shall indicate the service resets all storage controller settings to factory
	// defaults. This shall be equivalent to performing the ResetToDefaults action on each Storage resource with the
	// ResetType parameter of 'PreserveVolumes'.
	StorageConfigDecommissionType DecommissionType = "StorageConfig"
	// LogsDecommissionType shall indicate the service clears all logs. This shall be equivalent to performing the
	// ClearLog action on each LogService resource.
	LogsDecommissionType DecommissionType = "Logs"
)

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"
	// RetryForeverWithBackoffDeliveryRetryPolicy shall indicate the subscription is not suspended or terminated, and
	// attempts at delivery of future events shall continue regardless of the number of retries. Retry attempts are
	// issued over time according to a service-defined backoff algorithm. The backoff algorithm may insert an
	// increasing amount of delay between retry attempts and may reach a maximum.
	RetryForeverWithBackoffDeliveryRetryPolicy DeliveryRetryPolicy = "RetryForeverWithBackoff"
)

type Dependency added in v0.15.0

type Dependency struct {
	// The dependency expression for one or more attributes in this attribute registry.
	Dependency DependencyExpression
	// The AttributeName of the attribute whose change triggers
	// the evaluation of this dependency expression.
	DependencyFor string
	// The type of the dependency structure.
	Type DependencyType
}

Dependency represents dependencies of attributes on this component.

type DependencyExpression added in v0.15.0

type DependencyExpression struct {
	// An array of the map-from conditions for a mapping dependency.
	MapFrom []MapFrom
	// The AttributeName of the attribute that is affected by this dependency expression.
	MapToAttribute string
	// The metadata property for the attribute that contains
	// the map-from condition that evaluates this dependency expression.
	MapToProperty MapToProperty
	// The value that the map-to property changes to
	// if the dependency expression evaluates to true.
	MapToValue interface{}
}

The dependency expression for one or more attributes in this attribute registry.

type DependencyType added in v0.15.0

type DependencyType string
const (
	// A simple mapping dependency. If the condition evaluates to true,
	// the attribute or state changes to the mapped value.
	MapDependencyType DependencyType = "Map"
)

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
	// Name shall be a user-friendly name for the device.
	Name string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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
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 DiagnosticDataTypes added in v0.16.0

type DiagnosticDataTypes string
const (
	// ManagerDiagnosticDataTypes Manager diagnostic data.
	ManagerDiagnosticDataTypes DiagnosticDataTypes = "Manager"
	// PreOSDiagnosticDataTypes Pre-OS diagnostic data.
	PreOSDiagnosticDataTypes DiagnosticDataTypes = "PreOS"
	// OSDiagnosticDataTypes Operating system (OS) diagnostic data.
	OSDiagnosticDataTypes DiagnosticDataTypes = "OS"
	// OEMDiagnosticDataTypes OEM diagnostic data.
	OEMDiagnosticDataTypes DiagnosticDataTypes = "OEM"
	// CPERDiagnosticDataTypes shall indicate the data provided at the URI specified by the AdditionalDataURI property
	// is a complete UEFI Specification-defined Common Platform Error Record. The CPER data shall contain a Record
	// Header and at least one Section as defined by the UEFI Specification.
	CPERDiagnosticDataTypes DiagnosticDataTypes = "CPER"
	// CPERSectionDiagnosticDataTypes shall indicate the data provided at the URI specified by the AdditionalDataURI
	// property is a single Section of a UEFI Specification-defined Common Platform Error Record. The CPER data shall
	// contain one Section as defined by the UEFI Specification, with no Record Header.
	CPERSectionDiagnosticDataTypes DiagnosticDataTypes = "CPERSection"
)

type DirectionOfCrossingEnum added in v0.16.0

type DirectionOfCrossingEnum string

DirectionOfCrossingEnum shall indicate the direction of crossing that corresponds to a trigger.

const (
	// IncreasingDirectionOfCrossingEnum A trigger condition is met when the metric value crosses the trigger value
	// while increasing.
	IncreasingDirectionOfCrossingEnum DirectionOfCrossingEnum = "Increasing"
	// DecreasingDirectionOfCrossingEnum A trigger is met when the metric value crosses the trigger value while
	// decreasing.
	DecreasingDirectionOfCrossingEnum DirectionOfCrossingEnum = "Decreasing"
)

type DiscreteTrigger added in v0.16.0

type DiscreteTrigger struct {
	common.Entity
	// DwellTime shall contain the amount of time that a trigger event persists before the TriggerActions are
	// performed.
	DwellTime string
	// Severity shall contain the Severity property to be used in the event message.
	Severity common.Health
	// Value shall contain the value discrete metric that constitutes a trigger event. The DwellTime shall be measured
	// from this point in time.
	Value string
	// contains filtered or unexported fields
}

DiscreteTrigger shall contain the characteristics of the discrete trigger.

func (*DiscreteTrigger) UnmarshalJSON added in v0.16.0

func (discretetrigger *DiscreteTrigger) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a DiscreteTrigger object from the raw JSON.

func (*DiscreteTrigger) Update added in v0.16.0

func (discretetrigger *DiscreteTrigger) Update() error

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

type DiscreteTriggerConditionEnum added in v0.16.0

type DiscreteTriggerConditionEnum string

DiscreteTriggerConditionEnum shall specify the condition, in relationship to the discrete trigger values, which constitutes a trigger.

const (
	// SpecifiedDiscreteTriggerConditionEnum A discrete trigger condition is met when the metric value becomes one of
	// the values that the DiscreteTriggers property lists.
	SpecifiedDiscreteTriggerConditionEnum DiscreteTriggerConditionEnum = "Specified"
	// ChangedDiscreteTriggerConditionEnum A discrete trigger condition is met whenever the metric value changes.
	ChangedDiscreteTriggerConditionEnum DiscreteTriggerConditionEnum = "Changed"
)

type Door added in v0.16.0

type Door struct {
	// DoorState shall contain the current state of the door.
	DoorState DoorState
	// Locked shall indicate if the door is locked.
	Locked bool
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string
}

Door shall describe a door or access panel on the chassis.

type DoorState added in v0.16.0

type DoorState string
const (
	// LockedDoorState shall indicate that the door is both closed and locked. In this state, the door cannot be opened
	// unless the value of the Locked property is set to 'false'.
	LockedDoorState DoorState = "Locked"
	// ClosedDoorState shall indicate that the door is closed but unlocked.
	ClosedDoorState DoorState = "Closed"
	// LockedAndOpenDoorState shall indicate that the door is open but the lock has been engaged. It may be possible to
	// close the door while in this state.
	LockedAndOpenDoorState DoorState = "LockedAndOpen"
	// OpenDoorState shall indicate that the door is open.
	OpenDoorState DoorState = "Open"
)

type Doors added in v0.16.0

type Doors struct {
	// Front shall contain information related to the front door, as defined by the manufacturer, of the chassis.
	Front Door
	// Rear shall contain information related to the rear door, as defined by the manufacturer, of the chassis.
	Rear Door
}

Doors shall describe the doors or access panels of the chassis.

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
	// DriveFormFactor shall contain the form factor of the drive inserted in this slot.
	// Added in v1.18.0.
	DriveFormFactor FormFactor
	// 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
	// FirmwareVersion shall contain the firmware version as defined by the manufacturer for this drive.
	FirmwareVersion string
	// 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
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource. A write to this property shall update the value of IndicatorLED in this resource, if supported, to
	// reflect the implementation of the locating function.
	LocationIndicatorActive bool
	// 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
	// Metrics shall contain a link to the metrics associated with this drive.
	Metrics DriveMetrics
	// 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
	// ReadyToRemove shall indicate whether the system is prepared for the removal of this drive.
	ReadyToRemove bool
	// 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
	// SlotCapableProtocols shall contain the drive protocols capable in this slot. The value of this property depends
	// upon the connector in this slot, the storage controllers connected to this slot, the configuration of the
	// system, and other constraints that determine if a particular protocol is capable at a given time.
	SlotCapableProtocols []common.Protocol
	// SlotFormFactor shall contain the form factor of the slot.
	SlotFormFactor FormFactor
	// 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"`

	// NetworkDeviceFunctionsCount is the number of network device functions related to this drive.
	NetworkDeviceFunctionsCount int

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

	// PCIeFunctionCount is the number of PCIeFunctions.
	PCIeFunctionCount int

	// SoftwareImagesCount is the number of software images related to this drive.
	SoftwareImagesCount 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 DriveMetrics added in v0.16.0

type DriveMetrics 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"`
	// BadBlockCount shall contain the total number of bad blocks reported by the drive.
	BadBlockCount int
	// CorrectableIOReadErrorCount shall contain the number of correctable read errors for the lifetime of the drive.
	CorrectableIOReadErrorCount int
	// CorrectableIOWriteErrorCount shall contain the number of correctable write errors for the lifetime of the drive.
	CorrectableIOWriteErrorCount int
	// Description provides a description of this resource.
	Description string
	// NVMeSMART shall contain the NVMe SMART metrics for the drive as defined by the NVMe SMART/Health Information log
	// page. This property shall not be present if the service represents NVMe controllers in the drive as
	// StorageController resources.
	NVMeSMART NVMeSMARTMetrics
	// NativeCommandQueueDepth shall contain the current depth of the Native Command Queue as defined by the SATA
	// Specification.
	NativeCommandQueueDepth int
	// PowerOnHours shall contain the number of power-on hours for the lifetime of the drive.
	PowerOnHours float64
	// ReadIOKiBytes shall contain the total number of kibibytes read from the time of last reset or wrap.
	ReadIOKiBytes int
	// UncorrectableIOReadErrorCount shall contain the number of uncorrectable read errors for the lifetime of the
	// drive.
	UncorrectableIOReadErrorCount int
	// UncorrectableIOWriteErrorCount shall contain the number of uncorrectable write errors for the lifetime of the
	// drive.
	UncorrectableIOWriteErrorCount int
	// WriteIOKiBytes shall contain the total number of kibibytes written from the time of last reset or wrap.
	WriteIOKiBytes int
}

DriveMetrics shall contain the usage and health statistics for a drive in a Redfish implementation.

func GetDriveMetrics added in v0.16.0

func GetDriveMetrics(c common.Client, uri string) (*DriveMetrics, error)

GetDriveMetrics will get a DriveMetrics instance from the service.

func ListReferencedDriveMetricss added in v0.16.0

func ListReferencedDriveMetricss(c common.Client, link string) ([]*DriveMetrics, error)

ListReferencedDriveMetricss gets the collection of DriveMetrics from a provided reference.

type DurableNameFormat added in v0.16.0

type DurableNameFormat string
const (
	// NAADurableNameFormat shall contain a hexadecimal representation of the Name Address Authority structure, as
	// defined in the T11 Fibre Channel - Framing and Signaling - 3 (FC-FS-3) specification. The DurableName property
	// shall follow the regular expression pattern '^(([0-9A-Fa-f]{2}){8}){1,2}$', where the most significant octet is
	// first.
	NAADurableNameFormat DurableNameFormat = "NAA"
	// iQNDurableNameFormat shall be in the iSCSI Qualified Name (iQN) format, as defined in RFC3720 and RFC3721.
	IQNDurableNameFormat DurableNameFormat = "iQN"
	// FCWWNDurableNameFormat shall contain a hexadecimal representation of the World-Wide Name (WWN) format, as
	// defined in the T11 Fibre Channel Physical and Signaling Interface Specification. The DurableName property shall
	// follow the regular expression pattern '^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$', where the most significant
	// octet is first.
	FCWWNDurableNameFormat DurableNameFormat = "FC_WWN"
	// UUIDDurableNameFormat shall contain the hexadecimal representation of the UUID, as defined by RFC4122. The
	// DurableName property shall follow the regular expression pattern
	// '([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})'.
	UUIDDurableNameFormat DurableNameFormat = "UUID"
	// EUIDurableNameFormat shall contain the hexadecimal representation of the IEEE-defined 64-bit Extended Unique
	// Identifier (EUI), as defined in the IEEE's Guidelines for 64-bit Global Identifier (EUI-64) Specification. The
	// DurableName property shall follow the regular expression pattern '^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$',
	// where the most significant octet is first.
	EUIDurableNameFormat DurableNameFormat = "EUI"
	// NQNDurableNameFormat shall be in the NVMe Qualified Name (NQN) format, as defined in the NVN Express over Fabric
	// Specification.
	NQNDurableNameFormat DurableNameFormat = "NQN"
	// NSIDDurableNameFormat shall be in the NVM Namespace Identifier (NSID) format, as defined in the NVN Express
	// Specification.
	NSIDDurableNameFormat DurableNameFormat = "NSID"
	// NGUIDDurableNameFormat shall be in the Namespace Globally Unique Identifier (NGUID), as defined in the NVN
	// Express Specification. The DurableName property shall follow the regular expression pattern
	// '^([0-9A-Fa-f]{2}){16}$', where the most significant octet is first.
	NGUIDDurableNameFormat DurableNameFormat = "NGUID"
	// MACAddressDurableNameFormat shall be a media access control address (MAC address), which is a unique identifier
	// assigned to a network interface controller (NIC) for use as a network address. This value should not be used if
	// a more specific type of identifier is available. The DurableName property shall follow the regular expression
	// pattern '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$', where the most significant octet is first.
	MACAddressDurableNameFormat DurableNameFormat = "MACAddress"
	// GCXLIDDurableNameFormat shall be in the globally unique CXL logical device identifier (GCXLID). The DurableName
	// property shall follow the regular expression pattern '^([0-9A-Fa-f]{2}-){7}[0-9A-Fa-f]{2}:([0-9A-Fa-f]{4})$',
	// where the first eight hyphen-delimited octets contain the PCIe serial number, where the most significant octet
	// is first, and the remaining 16-bit field contains the CXL Logical Device Identifier, with the most significant
	// byte first.
	GCXLIDDurableNameFormat DurableNameFormat = "GCXLID"
)

type EBGP added in v0.16.0

type EBGP struct {
	// ASNumberRange shall contain the range of Autonomous System (AS) numbers assigned to each Border Gateway Protocol
	// (BGP) peer within the fabric.
	ASNumberRange ASNumberRange
	// AllowDuplicateASEnabled shall indicate whether duplicate Autonomous System (AS) numbers are allowed. If 'true',
	// routes with the same AS number as the receiving router should be allowed. If 'false', routes should be dropped
	// if the router receives its own AS number in a Border Gateway Protocol (BGP) update.
	AllowDuplicateASEnabled bool
	// AllowOverrideASEnabled shall indicate whether Autonomous System (AS) numbers should be overridden. If 'true', AS
	// number should be overridden with the AS number of the sending peer. If 'false', AS number override is disabled.
	AllowOverrideASEnabled bool
	// AlwaysCompareMEDEnabled shall indicate whether neighbor Multi Exit Discriminator (MED) attributes should be
	// compared.
	AlwaysCompareMEDEnabled bool
	// BGPLocalPreference shall contain the local preference value. Highest local preference value is preferred for
	// Border Gateway Protocol (BGP) best path selection.
	BGPLocalPreference int
	// BGPNeighbor shall contain all Border Gateway Protocol (BGP) neighbor related properties.
	BGPNeighbor BGPNeighbor
	// BGPRoute shall contain Border Gateway Protocol (BGP) route-related properties.
	BGPRoute BGPRoute
	// BGPWeight shall contain the Border Gateway Protocol (BGP) weight attribute value for external peers. A higher
	// BGP weight value is preferred for BGP best path selection.
	BGPWeight int
	// GracefulRestart shall contain all graceful restart related properties.
	GracefulRestart GracefulRestart
	// MED shall contain the Border Gateway Protocol (BGP) Multi Exit Discriminator (MED) value. A lower MED value is
	// preferred for BGP best path selection.
	MED int
	// MultihopEnabled shall indicate whether External BGP (eBGP) multihop is enabled.
	MultihopEnabled bool
	// MultihopTTL shall contain the External BGP (eBGP) multihop Time to Live (TTL) value.
	MultihopTTL int
	// MultiplePaths shall contain all multiple path related properties.
	MultiplePaths MultiplePaths
	// SendCommunityEnabled shall indicate whether community attributes are sent to BGP neighbors.
	SendCommunityEnabled bool
}

EBGP shall contain the External BGP (eBGP) related properties for an Ethernet fabric.

type ECDSACurveType added in v0.16.0

type ECDSACurveType string
const (
	// NISTB233ECDSACurveType NIST B-233.
	NISTB233ECDSACurveType ECDSACurveType = "NISTB233"
	// NISTB409ECDSACurveType NIST B-409.
	NISTB409ECDSACurveType ECDSACurveType = "NISTB409"
	// NISTK163ECDSACurveType NIST K-163.
	NISTK163ECDSACurveType ECDSACurveType = "NISTK163"
	// NISTK233ECDSACurveType NIST K-233.
	NISTK233ECDSACurveType ECDSACurveType = "NISTK233"
	// NISTK283ECDSACurveType NIST K-283.
	NISTK283ECDSACurveType ECDSACurveType = "NISTK283"
	// NISTK409ECDSACurveType NIST K-409.
	NISTK409ECDSACurveType ECDSACurveType = "NISTK409"
	// NISTP192ECDSACurveType NIST P-192.
	NISTP192ECDSACurveType ECDSACurveType = "NISTP192"
	// NISTP224ECDSACurveType NIST P-224.
	NISTP224ECDSACurveType ECDSACurveType = "NISTP224"
	// NISTP256ECDSACurveType NIST P-256.
	NISTP256ECDSACurveType ECDSACurveType = "NISTP256"
	// NISTP384ECDSACurveType NIST P-384.
	NISTP384ECDSACurveType ECDSACurveType = "NISTP384"
	// NISTP521ECDSACurveType NIST P-521.
	NISTP521ECDSACurveType ECDSACurveType = "NISTP521"
	// NISTT571ECDSACurveType NIST T-571.
	NISTT571ECDSACurveType ECDSACurveType = "NISTT571"
)

type EGCriticalWarningSummary added in v0.16.0

type EGCriticalWarningSummary struct {
	// NamespacesInReadOnlyMode shall indicate whether namespaces in one or more Endurance Groups are in read-only mode
	// not as a result of a change in the write protection state of a namespace.
	NamespacesInReadOnlyMode bool
	// ReliabilityDegraded shall indicate whether the reliability of one or more Endurance Groups is degraded due to
	// significant media-related errors or any internal error that degrades the NVM subsystem reliability.
	ReliabilityDegraded bool
	// SpareCapacityUnderThreshold shall indicate whether the available spare capacity of one or more Endurance Groups
	// is below the threshold.
	SpareCapacityUnderThreshold bool
}

EGCriticalWarningSummary shall contain the NVMe-defined 'Endurance Group Critical Warning Summary'.

type ESINumberRange added in v0.16.0

type ESINumberRange struct {
	// Lower shall contain the lower Ethernet Segment Identifier (ESI) number to be used as part of a range of ESI
	// numbers.
	Lower string
	// Upper shall contain the upper Ethernet Segment Identifier (ESI) number to be used as part of a range of ESI
	// numbers.
	Upper string
}

ESINumberRange shall contain Ethernet Segment Identifier (ESI) number ranges for allocation in supporting functions such as multihoming.

type EVINumberRange added in v0.16.0

type EVINumberRange struct {
	// Lower shall contain the lower Ethernet Virtual Private Network (EVPN) Instance (EVI) number to be used as part
	// of a range of EVI numbers.
	Lower string
	// Upper shall contain the upper Ethernet Virtual Private Network (EVPN) Instance (EVI) number to be used as part
	// of a range of EVI numbers.
	Upper string
}

EVINumberRange shall contain the Ethernet Virtual Private Network (EVPN) Instance (EVI) number range for EVPN- based fabrics.

type EfficiencyRating added in v0.15.0

type EfficiencyRating struct {
	// The rated efficiency of this power supply at the specified load.
	EfficiencyPercent float32
	// The electrical load for this rating.
	LoadPercent float32
}

The efficiency ratings of this power supply.

type EjectPolicy added in v0.16.0

type EjectPolicy string
const (
	// OnPowerOffEjectPolicy The virtual media ejection occurs during a system power or reset event.
	OnPowerOffEjectPolicy EjectPolicy = "OnPowerOff"
	// SessionEjectPolicy The virtual media ejection occurs when a session is terminated. The session might be outside
	// the Redfish service.
	SessionEjectPolicy EjectPolicy = "Session"
	// TimedEjectPolicy The virtual media ejection occurs when a timer configured by the EjectTimeout property expires.
	TimedEjectPolicy EjectPolicy = "Timed"
	// AfterUseEjectPolicy The virtual media ejection occurs after the media is used.
	AfterUseEjectPolicy EjectPolicy = "AfterUse"
	// PersistentEjectPolicy The virtual media mount information persists indefinitely.
	PersistentEjectPolicy EjectPolicy = "Persistent"
)

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 EncryptionMode added in v0.16.0

type EncryptionMode string
const (
	// DisabledEncryptionMode Encryption is disabled on the storage subsystem.
	DisabledEncryptionMode EncryptionMode = "Disabled"
	// UseExternalKeyEncryptionMode The storage subsystem uses one or more external keys for encryption.
	UseExternalKeyEncryptionMode EncryptionMode = "UseExternalKey"
	// UseLocalKeyEncryptionMode The storage subsystem uses a local key for encryption.
	UseLocalKeyEncryptionMode EncryptionMode = "UseLocalKey"
)

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
	// 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

	// AddressPoolsCount is the number of AddressPools.
	AddressPoolsCount int

	// 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 EndpointGroup added in v0.16.0

type EndpointGroup 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
	// GroupType shall contain the endpoint group type. If this endpoint group represents a SCSI target group, the
	// value of this property shall contain 'Server' or 'Target'.
	GroupType GroupType
	// Identifier shall be unique within the managed ecosystem.
	Identifier common.Identifier
	// TargetEndpointGroupIdentifier shall contain a SCSI-defined identifier for this group that corresponds to the
	// TARGET PORT GROUP field in the REPORT TARGET PORT GROUPS response and the TARGET PORT GROUP field in an INQUIRY
	// VPD page 85 response, type 5h identifier. See the INCITS SAM-5 specification. This property may not be present
	// if the endpoint group does not represent a SCSI target group.
	TargetEndpointGroupIdentifier int

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

	// ConnectionsCount is the number of Connections to this group.
	ConnectionsCount int
	// contains filtered or unexported fields
}

EndpointGroup shall represent a group of endpoints that are managed as a unit for a Redfish implementation.

func GetEndpointGroup added in v0.16.0

func GetEndpointGroup(c common.Client, uri string) (*EndpointGroup, error)

GetEndpointGroup will get a EndpointGroup instance from the service.

func ListReferencedEndpointGroups added in v0.16.0

func ListReferencedEndpointGroups(c common.Client, link string) ([]*EndpointGroup, error)

ListReferencedEndpointGroups gets the collection of EndpointGroup from a provided reference.

func (*EndpointGroup) Connections added in v0.16.0

func (endpointgroup *EndpointGroup) Connections() ([]*Connection, error)

Connections get the connections associated with this endpoint group.

func (*EndpointGroup) Endpoints added in v0.16.0

func (endpointgroup *EndpointGroup) Endpoints() ([]*Endpoint, error)

Endpoints get the endpoints associated with this endpoint group.

func (*EndpointGroup) UnmarshalJSON added in v0.16.0

func (endpointgroup *EndpointGroup) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a EndpointGroup object from the raw JSON.

func (*EndpointGroup) Update added in v0.16.0

func (endpointgroup *EndpointGroup) Update() error

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

type EngineID added in v0.15.0

type EngineID struct {
	// The architecture identifier
	ArchitectureID string `json:"ArchitectureId"`
	// The enterprise specific method
	EnterpriseSpecificMethod string
	// The private enterprise ID
	PrivateEnterpriseID string `json:"PrivateEnterpriseId"`
}

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 shall indicate the entity this endpoint represents is a storage initiator. The
	// EntityLink property, if present, should be of type StorageController.
	StorageInitiatorEntityType EntityType = "StorageInitiator"
	// RootComplexEntityType shall indicate the entity this endpoint represents is a PCIe root complex. The EntityLink
	// property, if present, should be of type ComputerSystem.
	RootComplexEntityType EntityType = "RootComplex"
	// NetworkControllerEntityType shall indicate the entity this endpoint represents is a network controller. The
	// EntityLink property, if present, should be of type NetworkDeviceFunction or EthernetInterface.
	NetworkControllerEntityType EntityType = "NetworkController"
	// DriveEntityType shall indicate the entity this endpoint represents is a drive. The EntityLink property, if
	// present, should be of type Drive.
	DriveEntityType EntityType = "Drive"
	// StorageExpanderEntityType shall indicate the entity this endpoint represents is a storage expander. The
	// EntityLink property, if present, should be of type Chassis.
	StorageExpanderEntityType EntityType = "StorageExpander"
	// DisplayControllerEntityType shall indicate the entity this endpoint represents is a display controller.
	DisplayControllerEntityType EntityType = "DisplayController"
	// BridgeEntityType shall indicate the entity this endpoint represents is a PCIe bridge.
	BridgeEntityType EntityType = "Bridge"
	// ProcessorEntityType shall indicate the entity this endpoint represents is a processor. The EntityLink property,
	// if present, should be of type Processor.
	ProcessorEntityType EntityType = "Processor"
	// VolumeEntityType shall indicate the entity this endpoint represents is a volume. The EntityLink property, if
	// present, should be of type Volume.
	VolumeEntityType EntityType = "Volume"
	// AccelerationFunctionEntityType shall indicate the entity this endpoint represents is an acceleration function.
	// The EntityLink property, if present, should be of type AccelerationFunction.
	AccelerationFunctionEntityType EntityType = "AccelerationFunction"
	// MediaControllerEntityType shall indicate the entity this endpoint represents is a media controller. The
	// EntityLink property, if present, should be of type MediaController.
	MediaControllerEntityType EntityType = "MediaController"
	// MemoryChunkEntityType shall indicate the entity this endpoint represents is a memory chunk. The EntityLink
	// property, if present, should be of type MemoryChunk.
	MemoryChunkEntityType EntityType = "MemoryChunk"
	// SwitchEntityType shall indicate the entity this endpoint represents is a switch and not an expander. The
	// EntityLink property, if present, should be of type Switch.
	SwitchEntityType EntityType = "Switch"
	// FabricBridgeEntityType shall indicate the entity this endpoint represents is a fabric bridge. The EntityLink
	// property, if present, should be of type FabricAdapter.
	FabricBridgeEntityType EntityType = "FabricBridge"
	// ManagerEntityType shall indicate the entity this endpoint represents is a manager. The EntityLink property, if
	// present, should be of type Manager.
	ManagerEntityType EntityType = "Manager"
	// StorageSubsystemEntityType shall indicate the entity this endpoint represents is a storage subsystem. The
	// EntityLink property, if present, should be of type Storage.
	StorageSubsystemEntityType EntityType = "StorageSubsystem"
	// MemoryEntityType shall indicate the entity this endpoint represents is a memory device. The EntityLink property,
	// if present, should be of type Memory.
	MemoryEntityType EntityType = "Memory"
	// CXLDeviceEntityType shall indicate the entity this endpoint represents is a CXL logical device. The EntityLink
	// property, if present, should be of type CXLLogicalDevice.
	CXLDeviceEntityType EntityType = "CXLDevice"
)

type EnvironmentMetrics added in v0.16.0

type EnvironmentMetrics 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"`
	// AbsoluteHumidity shall contain the absolute (volumetric) humidity sensor reading, in grams per cubic meter
	// units, for this resource. The value of the DataSourceUri property, if present, shall reference a resource of
	// type Sensor with the ReadingType property containing the value 'AbsoluteHumidity'.
	AbsoluteHumidity SensorExcerpt
	// Description provides a description of this resource.
	Description string
	// DewPointCelsius shall contain the dew point, in degree Celsius units, based on the temperature and humidity
	// values for this resource. The value of the DataSourceUri property, if present, shall reference a resource of
	// type Sensor with the ReadingType property containing the value 'Temperature'.
	DewPointCelsius SensorExcerpt
	// EnergyJoules shall contain the total energy, in joule units, for this resource. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'EnergyJoules'. This property is used for reporting device-level energy consumption measurements, while
	// EnergykWh is used for large-scale consumption measurements.
	EnergyJoules SensorExcerpt
	// EnergykWh shall contain the total energy, in kilowatt-hour units, for this resource. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'EnergykWh'.
	EnergykWh SensorEnergykWhExcerpt
	// FanSpeedsPercent shall contain the fan speeds, in percent units, for this resource. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Percent'.
	FanSpeedsPercent []SensorFanArrayExcerpt
	// FanSpeedsPercent@odata.count
	FanSpeedsPercentCount int `json:"FanSpeedsPercent@odata.count"`
	// HumidityPercent shall contain the humidity, in percent units, for this resource. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Humidity'.
	HumidityPercent SensorExcerpt
	// PowerLimitWatts shall contain the power limit control, in watt units, for this resource. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Control with the ControlType property
	// containing the value of 'Power'.
	PowerLimitWatts ControlSingleExcerpt
	// PowerLoadPercent shall contain the power load, in percent units, for this device that represents the 'Total'
	// ElectricalContext for this device. The value of the DataSourceUri property, if present, shall reference a
	// resource of type Sensor with the ReadingType property containing the value 'Percent'.
	PowerLoadPercent SensorExcerpt
	// PowerWatts shall contain the total power, in watt units, for this resource. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Power'.
	PowerWatts SensorPowerExcerpt
	// TemperatureCelsius shall contain the temperature, in degree Celsius units, for this resource. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Temperature'.
	TemperatureCelsius SensorExcerpt
	// contains filtered or unexported fields
}

EnvironmentMetrics shall represent the environmental metrics for a Redfish implementation.

func GetEnvironmentMetrics added in v0.16.0

func GetEnvironmentMetrics(c common.Client, uri string) (*EnvironmentMetrics, error)

GetEnvironmentMetrics will get a EnvironmentMetrics instance from the service.

func ListReferencedEnvironmentMetricss added in v0.16.0

func ListReferencedEnvironmentMetricss(c common.Client, link string) ([]*EnvironmentMetrics, error)

ListReferencedEnvironmentMetricss gets the collection of EnvironmentMetrics from a provided reference.

func (*EnvironmentMetrics) ResetMetrics added in v0.16.0

func (environmentmetrics *EnvironmentMetrics) ResetMetrics() error

ResetMetrics resets the summary metrics related to this equipment.

func (*EnvironmentMetrics) ResetToDefaults added in v0.16.0

func (environmentmetrics *EnvironmentMetrics) ResetToDefaults() error

ResetToDefaults resets the values of writable properties to factory defaults.

func (*EnvironmentMetrics) UnmarshalJSON added in v0.16.0

func (environmentmetrics *EnvironmentMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a EnvironmentMetrics object from the raw JSON.

func (*EnvironmentMetrics) Update added in v0.16.0

func (environmentmetrics *EnvironmentMetrics) Update() error

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

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 contain 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 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
	// MTUSizeMaximum shall contain the largest maximum transmission unit (MTU) size supported for this network device
	// function.
	MTUSizeMaximum int
	// PermanentMACAddress shall contain the permanent MAC Address of this function. Typically, this value is
	// programmed during manufacturing. This address is not assignable.
	PermanentMACAddress string
	// VLAN shall contain the VLAN for this interface. If this interface supports more than one VLAN, this property is
	// not present.
	VLAN VLAN
	// 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
	// IPv6Enabled shall indicate whether IPv6 is enabled on this interface. If this property contains 'false', the
	// interface shall not contain any assigned IPv6 addresses, shall not initiate DHCPv6 requests, and shall not send
	// or process ICMPv6 packets. If this property is not present, but this interface contains other IPv6 properties,
	// the value shall be assumed to be 'true'.
	IPv6Enabled bool
	// 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 json.RawMessage
	// 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
	// RoutingScope shall contain the routing scope for this interface. This property shall only be present if this
	// interface belongs to a virtual machine or container.
	RoutingScope RoutingScope
	// 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
	// TeamMode shall contain the team mode for this interface. If this property is not present, the value shall be
	// assumed to be 'None'.
	TeamMode TeamMode
	// UefiDevicePath shall be the UEFI device path to the device which
	// implements this interface (port).
	UefiDevicePath string
	// VLAN shall contain the VLAN for this interface. If this interface supports more than one VLAN, the VLAN property
	// shall be absent and, instead, the VLANs call should be used instead.
	VLAN VLAN

	// AffiliatedInterfacesCount is the number of affiliated interfaces.
	AffiliatedInterfacesCount int

	// EndpointsCount is the number of endpoints.
	EndpointsCount int

	// NetworkDeviceFunctionsCount are the number of network device functions associated with this interface.
	NetworkDeviceFunctionsCount int

	// PortsCount is the number of ports associated with this interface.
	PortsCount int

	// RelatedInterfacesCount is the number of related interfaces.
	RelatedInterfacesCount 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) AffiliatedInterfaces added in v0.16.0

func (ethernetinterface *EthernetInterface) AffiliatedInterfaces() ([]*EthernetInterface, error)

AffiliatedInterfaces gets any ethernet interfaces that are affiliated with this interface.

func (*EthernetInterface) Chassis added in v0.16.0

func (ethernetinterface *EthernetInterface) Chassis() (*Chassis, error)

Chassis gets the containing chassis.

func (*EthernetInterface) Endpoints added in v0.16.0

func (ethernetinterface *EthernetInterface) Endpoints() ([]*Endpoint, error)

Endpoints gets any endpoints associated with this interface.

func (*EthernetInterface) HostInterface added in v0.16.0

func (ethernetinterface *EthernetInterface) HostInterface() (*HostInterface, error)

HostInterface gets the associated host interface.

func (*EthernetInterface) NetworkDeviceFunctions added in v0.16.0

func (ethernetinterface *EthernetInterface) NetworkDeviceFunctions() ([]*NetworkDeviceFunction, error)

NetworkDeviceFunctions gets any device functions associated with this interface.

func (*EthernetInterface) Ports added in v0.16.0

func (ethernetinterface *EthernetInterface) Ports() ([]*Port, error)

Ports gets any ports associated with this interface.

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.

func (*EthernetInterface) VLANs added in v0.17.0

func (ethernetinterface *EthernetInterface) VLANs() ([]*VLanNetworkInterface, error)

VLAN gets the VLAN for this interface. If this interface supports more than one VLAN, the VLAN call will return nil and the VLANs call should be used instead.

type EthernetNetworkDeviceFunctionMetrics added in v0.16.0

type EthernetNetworkDeviceFunctionMetrics struct {
	// NumOffloadedIPv4Conns shall contain the total number of offloaded TCP/IPv4 connections.
	NumOffloadedIPv4Conns int
	// NumOffloadedIPv6Conns shall contain the total number of offloaded TCP/IPv6 connections.
	NumOffloadedIPv6Conns int
}

EthernetNetworkDeviceFunctionMetrics shall describe the Ethernet-related network function metrics.

type EthernetProperties added in v0.16.0

type EthernetProperties struct {
	// AssociatedMACAddresses shall contain an array of configured MAC 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.
	AssociatedMACAddresses []string
	// EEEEnabled shall indicate whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled on this port.
	EEEEnabled bool
	// FlowControlConfiguration shall contain the locally configured 802.3x flow control setting for this port.
	FlowControlConfiguration FlowControl
	// FlowControlStatus shall contain the 802.3x flow control behavior negotiated with the link partner for this port.
	FlowControlStatus FlowControl
	// LLDPEnabled shall contain the state indicating whether to enable LLDP for a port. If LLDP is disabled at the
	// adapter level, this property shall be ignored.
	LLDPEnabled bool
	// LLDPReceive shall contain the LLDP data being received on this link.
	LLDPReceive LLDPReceive
	// LLDPTransmit shall contain the LLDP data being transmitted on this link.
	LLDPTransmit LLDPTransmit
	// WakeOnLANEnabled shall indicate whether Wake on LAN (WoL) is enabled on this port.
	WakeOnLANEnabled bool
}

EthernetProperties shall contain Ethernet-specific properties for a port.

type Event added in v0.16.0

type Event 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 for the event destination to which this event is being sent.
	Context string
	// Description provides a description of this resource.
	Description string
	// Events shall contain an array of objects that represent the occurrence of one or more events.
	Events []EventRecord
	// EventsCount is the number of Event records.
	EventsCount int `json:"Events@odata.count"`
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

Event This resource contains an event for a Redfish implementation.

func GetEvent added in v0.16.0

func GetEvent(c common.Client, uri string) (*Event, error)

GetEvent will get a Event instance from the service.

func ListReferencedEvents added in v0.16.0

func ListReferencedEvents(c common.Client, link string) ([]*Event, error)

ListReferencedEvents gets the collection of Event from a provided reference.

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.
	// This property has been deprecated. Starting with Redfish Specification v1.6 (Event v1.3),
	// subscriptions are based on the RegistryPrefix and ResourceType properties and not on the
	// EventType property. Use EventFormatType to create subscriptions for metric reports.
	EventTypes []EventType
	// ExcludeMessageIDs shall contain an array of excluded MessageIds that are not allowed values for the MessageId
	// property within an event sent to the subscriber. The MessageId shall be in the
	// 'MessageRegistryPrefix.MessageKey' format. If included, the MessageId major and minor version details should be
	// ignored. Events with a MessageId that is contained in this array shall not be sent to the subscriber. If this
	// property is an empty array or is absent, no exclusive filtering based upon the MessageId of an event is
	// performed.
	ExcludeMessageIDs []string
	// ExcludeRegistryPrefixes shall contain an array of prefixes of excluded message registries that contain the
	// MessageIds that are not allowed values for the MessageId property within an event sent to the subscriber. Events
	// with a MessageId that is from a message registry contained in this array shall not be sent to the subscriber. If
	// this property is an empty array or is absent, no exclusive filtering based upon message registry of the
	// MessageId of an event is performed.
	ExcludeRegistryPrefixes []string
	// HeartbeatIntervalMinutes shall indicate the interval for sending periodic heartbeat events to the subscriber.
	// The value shall be the interval, in minutes, between each periodic event. This property shall not be present if
	// the SendHeartbeat property is not present.
	HeartbeatIntervalMinutes int
	// 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
	// MetricReportDefinitionsCount is the number of MetricReportDefinitions.
	MetricReportDefinitionsCount int `json:"MetricReportDefinitions@odata.count"`
	// OEMProtocol shall contain the protocol type that the event uses to send the event to the destination. This
	// property shall be present if Protocol is 'OEM'.
	OEMProtocol string
	// OEMSubscriptionType shall indicate the OEM-defined type of subscription for events. This property shall be
	// present if SubscriptionType is 'OEM'.
	OEMSubscriptionType string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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
	// SyslogFilters shall describe all desired syslog messages to send to a remote syslog server. If this property
	// contains an empty array or is absent, all messages shall be sent.
	SyslogFilters []SyslogFilter
	// VerifyCertificate shall indicate whether the service will verify the certificate of the server referenced by the
	// Destination property prior to sending the event with the certificates found in the collection referenced by the
	// Certificates property. If this property is not supported by the service or specified by the client in the create
	// request, it shall be assumed to be 'false'. Regardless of the value of this property, services may perform
	// additional verification based on other factors, such as the configuration of the SecurityPolicy resource.
	VerifyCertificate bool
	// 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) Certificates added in v0.16.0

func (eventdestination *EventDestination) Certificates() ([]*Certificate, error)

Certificates gets the server certificates for the server referenced by the Destination property.

func (*EventDestination) ClientCertificates added in v0.16.0

func (eventdestination *EventDestination) ClientCertificates() ([]*Certificate, error)

ClientCertificates gets the client identity certificates for the server referenced by the Destination property.

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 shall indicate the destination follows the Redfish Specification for event
	// notifications. Destinations requesting EventFormatType of 'Event' shall receive a Redfish resource of type
	// Event. Destinations requesting EventFormatType of 'MetricReport' shall receive a Redfish resource of type
	// MetricReport.
	RedfishEventDestinationProtocol EventDestinationProtocol = "Redfish"
	// KafkaEventDestinationProtocol shall indicate the destination follows the Apache-defined Kafka protocol as
	// defined by the Kafka Protocol Guide. The Context property shall contain the Kafka topic of the destination
	// broker.
	KafkaEventDestinationProtocol EventDestinationProtocol = "Kafka"
	// 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"
	// SyslogTLSEventDestinationProtocol shall indicate the destination follows the TLS-based transport for syslog as
	// defined in RFC5424.
	SyslogTLSEventDestinationProtocol EventDestinationProtocol = "SyslogTLS"
	// SyslogTCPEventDestinationProtocol shall indicate the destination follows the TCP-based transport for syslog as
	// defined in RFC6587.
	SyslogTCPEventDestinationProtocol EventDestinationProtocol = "SyslogTCP"
	// SyslogUDPEventDestinationProtocol shall indicate the destination follows the UDP-based transport for syslog as
	// defined in RFC5424.
	SyslogUDPEventDestinationProtocol EventDestinationProtocol = "SyslogUDP"
	// SyslogRELPEventDestinationProtocol shall indicate the destination follows the Reliable Event Logging Protocol
	// (RELP) transport for syslog as defined by www.rsyslog.com.
	SyslogRELPEventDestinationProtocol EventDestinationProtocol = "SyslogRELP"
	// OEMEventDestinationProtocol shall indicate an OEM-specific protocol. The OEMProtocol property shall contain the
	// specific OEM event destination protocol.
	OEMEventDestinationProtocol EventDestinationProtocol = "OEM"
)

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 EventRecord added in v0.16.0

type EventRecord struct {
	// AdditionalDataSizeBytes shall contain the size of the additional data retrieved from the URI specified by the
	// AdditionalDataURI property for this event.
	AdditionalDataSizeBytes int
	// AdditionalDataURI shall contain the URI at which to access the additional data for the event, using the Redfish
	// protocol and authentication methods. If both DiagnosticData and AdditionalDataURI are present, DiagnosticData
	// shall contain the Base64-encoding of the data retrieved from the URI specified by the AdditionalDataURI
	// property.
	AdditionalDataURI string
	// CPER shall contain the details for a CPER section or record that is the source of this event.
	CPER CPER
	// DiagnosticData shall contain a Base64-encoded string that represents diagnostic data associated with this event.
	// The contents shall depend on the value of the DiagnosticDataType property. The length of the value should not
	// exceed 4 KB. Larger diagnostic data payloads should omit this property and use the AdditionalDataURI property to
	// reference the data. If both DiagnosticData and AdditionalDataURI are present, DiagnosticData shall contain the
	// Base64-encoding of the data retrieved from the URI specified by the AdditionalDataURI property.
	DiagnosticData string
	// DiagnosticDataType shall contain the type of data available in the DiagnosticData property or retrieved from the
	// URI specified by the AdditionalDataURI property.
	DiagnosticDataType DiagnosticDataTypes
	// EventGroupID shall indicate that events are related and shall have the same value when multiple event messages
	// are produced by the same root cause. Implementations shall use separate values for events with a separate root
	// cause. This property value shall not imply an ordering of events. The '0' value shall indicate that this event
	// is not grouped with any other event.
	EventGroupID int
	// EventID shall contain a service-defined unique identifier for the event.
	EventID string
	// EventTimestamp shall indicate the time the event occurred where the value shall be consistent with the Redfish
	// service time that is also used for the values of the Modified property.
	EventTimestamp string
	// EventType is the type of event.
	// This property has been deprecated.  Starting with Redfish Specification v1.6 (Event v1.3), subscriptions are
	// based on the RegistryPrefix and ResourceType properties and not on the EventType property.
	EventType EventType

	// MemberID shall contain the unique identifier for this member within an array. For services supporting Redfish
	// v1.6 or higher, this value shall contain the zero-based array index.
	MemberID string
	// Message shall contain a human-readable event message.
	Message string
	// MessageArgs shall contain an array of message arguments that are substituted for the arguments in the message
	// when looked up in the message registry. It has the same semantics as the MessageArgs property in the Redfish
	// MessageRegistry schema. If the corresponding ParamType value contains 'number', the service shall convert the
	// number to a string representation of the number.
	MessageArgs []string
	// MessageID shall contain a MessageID, as defined in the 'MessageId format' clause of the Redfish Specification.
	MessageID string
	// MessageSeverity shall contain the severity of the message in this event. Services can replace the value defined
	// in the message registry with a value more applicable to the implementation.
	MessageSeverity common.Health
	// OEMDiagnosticDataType shall contain the OEM-defined type of data available in the DiagnosticData property or
	// retrieved from the URI specified by the AdditionalDataURI property. This property shall be present if
	// DiagnosticDataType is 'OEM'.
	OEMDiagnosticDataType string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// OriginOfCondition shall contain a link to the resource or object that originated the condition that caused the
	// event to be generated. If the event subscription has the IncludeOriginOfCondition property set to 'true', it
	// shall include the entire resource or object referenced by the link. For events that represent the creation or
	// deletion of a resource, this property should reference the created or deleted resource and not the collection
	// that contains the resource.
	OriginOfCondition string
	// Resolution shall contain the resolution of the event. Services should replace the resolution defined in the
	// message registry with a more specific resolution in the event.
	Resolution string
	// ResolutionSteps shall contain an array of recommended steps to resolve the cause of the event. This property
	// shall not be present if the MessageSeverity or Severity properties contain 'OK'. A client can stop executing the
	// resolution steps once the Resolved property in the associated LogEntry resource contains 'true' or the Health
	// property in the associated resource referenced by the OriginOfCondition property contains 'OK'.
	ResolutionSteps []ResolutionStep
	// Severity is the severity of the event.
	// 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
	// SpecificEventExistsInGroup shall indicate that the event is equivalent to another event, with a more specific
	// definition, within the same EventGroupId. For example, the 'DriveFailed' message from the Storage Device Message
	// Registry is more specific than the 'ResourceStatusChangedCritical' message from the Resource Event Message
	// Registry, when both occur with the same EventGroupId. This property shall contain 'true' if a more specific
	// event is available, and shall contain 'false' if no equivalent event exists in the same EventGroupId. If this
	// property is absent, the value shall be assumed to be 'false'.
	SpecificEventExistsInGroup bool
	// contains filtered or unexported fields
}

EventRecord

func (*EventRecord) LogEntry added in v0.17.0

func (eventrecord *EventRecord) LogEntry(c common.Client) (*LogEntry, error)

LogEntry gets the log entry for this event.

func (*EventRecord) UnmarshalJSON added in v0.16.0

func (eventrecord *EventRecord) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a EventRecord object from the raw JSON.

type EventRecordActions added in v0.16.0

type EventRecordActions struct {
	// Oem shall contain the available OEM-specific actions for this resource.
	OEM json.RawMessage `json:"Oem"`
}

EventRecordActions shall contain the available actions for this resource.

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.
	// This property has been deprecated. Starting with Redfish Specification v1.6 (Event v1.3),
	// subscriptions are based on the RegistryPrefix and ResourceType properties and not on the EventType property.
	EventTypesForSubscription []EventType
	// ExcludeMessageID shall indicate whether this service supports filtering by the ExcludeMessageIds property.
	ExcludeMessageID bool
	// ExcludeRegistryPrefix shall indicate whether this service supports filtering by the ExcludeRegistryPrefixes
	// property.
	ExcludeRegistryPrefix bool
	// 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
	// Severities shall specify an array of the allowable severities that can be used for an event subscription. If
	// this property is absent or contains an empty array, the service does not support severity-based subscriptions.
	Severities []common.Health
	// 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
	// Subscriptions shall contain the link to a collection of type
	// EventDestination.
	Subscriptions string
	// RawData holds the original serialized JSON so we can compare updates.
	RawData []byte

	// SubmitTestEventTarget is the URL to send SubmitTestEvent actions.
	SubmitTestEventTarget string
	// 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 deprecated 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)

Deprecated: (v1.5) EventType-based eventing is DEPRECATED in the Redfish schema in favor of using RegistryPrefix and ResourceTypes

func (*EventService) CreateEventSubscriptionInstance added in v0.14.0

func (eventservice *EventService) CreateEventSubscriptionInstance(
	destination string,
	registryPrefixes []string,
	resourceTypes []string,
	httpHeaders map[string]string,
	protocol EventDestinationProtocol,
	context string,
	deliveryRetryPolicy DeliveryRetryPolicy,
	oem interface{},
) (string, error)

For Redfish v1.5+ CreateEventSubscription creates the subscription using the event service. Destination should contain the URL of the destination for events to be sent. RegistryPrefixes is the list of the prefixes for the Message Registries that contain the MessageIds that are sent to this event destination. If RegistryPrefixes is empty on subscription, the client is subscribing to all Message Registries. ResourceTypes is the list of Resource Type values (Schema names) that correspond to the OriginOfCondition, the version and full namespace should not be specified. If ResourceTypes is empty on subscription, the client is subscribing to receive events regardless of ResourceType. 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. DeliveryRetryPolicy is optional, it should contain the subscription delivery retry policy for events, where the subscription type is RedfishEvent. 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) TestEventSubscription added in v0.16.0

func (eventservice *EventService) TestEventSubscription() error

TestEventSubscription will send an event containing the TestMessage message from the Resource Event Message Registry to all appropriate event destinations.

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
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 the event type. This property has been deprecated. Starting with Redfish Specification v1.6 (Event v1.3), subscriptions are based on the RegistryPrefix and ResourceType properties and not on the EventType property.

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"
	// MetricReportEventType indicates the telemetry service is sending a metric report.
	MetricReportEventType EventType = "MetricReport"
	// OtherEventType is used to indicate that because EventType is deprecated as of Redfish
	// Specification v1.6, the event is based on a registry or resource but not an EventType.
	OtherEventType EventType = "Other"
)

func (EventType) IsValidEventType added in v0.6.0

func (et EventType) IsValidEventType() bool

IsValidEventType will check if it is a valid EventType. Should remove and leave it to the service to decide if it's valid, but since this is deprecated leaving it in for now.

type Expand added in v0.16.0

type Expand string
const (
	// NoneExpand shall indicate that references in the manifest response will not be expanded.
	NoneExpand Expand = "None"
	// AllExpand shall indicate that all subordinate references in the manifest response will be expanded.
	AllExpand Expand = "All"
	// RelevantExpand shall indicate that relevant subordinate references in the manifest response will be expanded.
	RelevantExpand Expand = "Relevant"
)

type ExternalAccessibility added in v0.16.0

type ExternalAccessibility string
const (
	// GloballyAccessibleExternalAccessibility shall indicate that any external entity with the correct access details,
	// which may include authorization information, can access the endpoints that this zone lists, regardless of zone.
	GloballyAccessibleExternalAccessibility ExternalAccessibility = "GloballyAccessible"
	// NonZonedAccessibleExternalAccessibility shall indicate that any external entity that another zone does not
	// explicitly list can access the endpoints that this zone lists.
	NonZonedAccessibleExternalAccessibility ExternalAccessibility = "NonZonedAccessible"
	// ZoneOnlyExternalAccessibility shall indicate that endpoints in this zone are only accessible by endpoints that
	// this zone explicitly lists.
	ZoneOnlyExternalAccessibility ExternalAccessibility = "ZoneOnly"
	// NoInternalRoutingExternalAccessibility shall indicate that implicit routing within this zone is not defined.
	NoInternalRoutingExternalAccessibility ExternalAccessibility = "NoInternalRouting"
)

type ExternalAccountProvider added in v0.5.0

type ExternalAccountProvider 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"`
	// AccountProviderType shall contain the type of external account provider to which this service connects.
	AccountProviderType AccountProviderTypes
	// Authentication shall contain the authentication information for the external account provider.
	Authentication Authentication

	// Description provides a description of this resource.
	Description string
	// LDAPService shall contain any additional mapping information needed to parse a generic LDAP service. This
	// property should only be present if AccountProviderType is 'LDAPService'.
	LDAPService LDAPService
	// OAuth2Service shall contain additional information needed to parse an OAuth 2.0 service. This property should
	// only be present inside an OAuth2 property.
	OAuth2Service OAuth2Service
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Priority shall contain the assigned priority for the specified external account provider. The value '0' shall
	// indicate the highest priority. Increasing values shall represent decreasing priority. If an external provider
	// does not have a priority assignment or two or more external providers have the same priority, the behavior shall
	// be determined by the Redfish service. The priority is used to determine the order of authentication and
	// authorization for each external account provider.
	Priority int
	// RemoteRoleMapping shall contain a set of the mapping rules that are used to convert the external account
	// providers account information to the local Redfish role.
	RemoteRoleMapping []RoleMapping
	// Retries shall contain the number of retries to attempt a connection to an address in the ServiceAddresses
	// property before attempting a connection to the next address in the array or giving up. If this property is not
	// present, the service has internal policies for handling retries.
	Retries int
	// 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 can define their own behavior for managing multiple addresses.
	ServiceAddresses []string
	// ServiceEnabled shall indicate whether this service is enabled.
	ServiceEnabled bool
	// TACACSplusService shall contain additional information needed to parse a TACACS+ services. This property should
	// only be present inside a TACACSplus property.
	TACACSplusService TACACSplusService
	// TimeoutSeconds shall contain the period of time, in seconds, this account service will wait for a response from
	// an address of a user account provider before timing out. If this property is not present, the service has
	// internal policies for handling timeouts.
	TimeoutSeconds int
	// contains filtered or unexported fields
}

ExternalAccountProvider shall represent a remote authentication service in the Redfish Specification.

func GetExternalAccountProvider added in v0.16.0

func GetExternalAccountProvider(c common.Client, uri string) (*ExternalAccountProvider, error)

GetExternalAccountProvider will get a ExternalAccountProvider instance from the service.

func ListReferencedExternalAccountProviders added in v0.16.0

func ListReferencedExternalAccountProviders(c common.Client, link string) ([]*ExternalAccountProvider, error)

ListReferencedExternalAccountProviders gets the collection of ExternalAccountProvider from a provided reference.

func (*ExternalAccountProvider) Certificates added in v0.16.0

func (externalaccountprovider *ExternalAccountProvider) Certificates() ([]*Certificate, error)

Certificates returns certificates in this external account provider.

func (*ExternalAccountProvider) UnmarshalJSON added in v0.16.0

func (externalaccountprovider *ExternalAccountProvider) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ExternalAccountProvider object from the raw JSON.

func (*ExternalAccountProvider) Update added in v0.16.0

func (externalaccountprovider *ExternalAccountProvider) Update() error

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

type FPGA

type FPGA struct {
	// ExternalInterfaces shall be an array of objects that describe the
	// external connectivity of the FPGA.
	ExternalInterfaces []ProcessorInterface
	// 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.
	// This property has been deprecated in favor of the SystemInterface property in the root of this resource.
	HostInterface ProcessorInterface
	// 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 Fabric added in v0.16.0

type Fabric 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

	// FabricType shall contain the type of fabric being represented by this simple fabric.
	FabricType common.Protocol
	// MaxZones shall contain the maximum number of zones the switch can currently configure. Changes in the logical or
	// physical configuration of the system can change this value.
	MaxZones int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// UUID shall contain a universally unique identifier number for the fabric.
	UUID string
	// contains filtered or unexported fields
}

Fabric shall represent a simple switchable fabric for a Redfish implementation.

func GetFabric added in v0.16.0

func GetFabric(c common.Client, uri string) (*Fabric, error)

GetFabric will get a Fabric instance from the service.

func ListReferencedFabrics added in v0.16.0

func ListReferencedFabrics(c common.Client, link string) ([]*Fabric, error)

ListReferencedFabrics gets the collection of Fabric from a provided reference.

func (*Fabric) AddressPools added in v0.16.0

func (fabric *Fabric) AddressPools() ([]*AddressPool, error)

AddressPools gets any address pools associated with this fabric.

func (*Fabric) Connections added in v0.16.0

func (fabric *Fabric) Connections() ([]*Connection, error)

Connections gets any connections associated with this fabric.

func (*Fabric) EndpointGroups added in v0.16.0

func (fabric *Fabric) EndpointGroups() ([]*EndpointGroup, error)

EndpointGroups gets any endpoint groups associated with this fabric.

func (*Fabric) Endpoints added in v0.16.0

func (fabric *Fabric) Endpoints() ([]*Endpoint, error)

Endpoints gets any endpoints associated with this fabric.

func (*Fabric) Switches added in v0.16.0

func (fabric *Fabric) Switches() ([]*Switch, error)

Switches gets any switches associated with this fabric.

func (*Fabric) UnmarshalJSON added in v0.16.0

func (fabric *Fabric) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Fabric object from the raw JSON.

func (*Fabric) Update added in v0.16.0

func (fabric *Fabric) Update() error

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

type FabricAdapter added in v0.16.0

type FabricAdapter 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"`
	// ASICManufacturer shall contain the manufacturer name of the ASIC for the fabric adapter as defined by the
	// manufacturer.
	ASICManufacturer string
	// ASICPartNumber shall contain the part number of the ASIC for the fabric adapter as defined by the manufacturer.
	ASICPartNumber string
	// ASICRevisionIdentifier shall contain the revision identifier of the ASIC for the fabric adapter as defined by
	// the manufacturer.
	ASICRevisionIdentifier string
	// Description provides a description of this resource.
	Description string
	// FabricType shall contain the configured fabric type of this fabric adapter.
	FabricType common.Protocol
	// FabricTypeCapabilities shall contain an array of fabric types supported by this fabric adapter.
	FabricTypeCapabilities []common.Protocol
	// FirmwareVersion shall contain the firmware version for the fabric adapter as defined by the manufacturer.
	FirmwareVersion string
	// GenZ shall contain the Gen-Z specific properties for this fabric adapter.
	GenZ FabricAdapterGenZ
	// Location shall contain the location information of the fabric adapter.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// Manufacturer shall contain a value that represents the manufacturer of the fabric adapter.
	Manufacturer string
	// Model shall contain the information about how the manufacturer refers to this fabric adapter.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PCIeInterface shall contain details on the PCIe interface that connects this PCIe-based fabric adapter to its
	// host.
	PCIeInterface PCIeInterface
	// PartNumber shall contain the part number for the fabric adapter as defined by the manufacturer.
	PartNumber string

	// SKU shall contain the SKU for the fabric adapter.
	SKU string
	// SerialNumber shall contain the serial number for the fabric adapter.
	SerialNumber string
	// SparePartNumber shall contain the spare part number for the fabric adapter as defined by the manufacturer.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UUID shall contain a universally unique identifier number for the fabric adapter.
	UUID string

	// EndpointsCount gets the number of logical fabric connections associated with this fabric adapter.
	EndpointsCount int

	// MemoryDomainsCount gets the number of memory domains associated with this fabric adapter.
	MemoryDomainsCount int

	// PCIeDevicesCount gets the number of PCIe devices associated with this fabric adapter.
	PCIeDevicesCount int

	// ProcessorsCount gets the number of processors that this fabric adapter provides to a fabric.
	ProcessorsCount int
	// contains filtered or unexported fields
}

FabricAdapter shall represent a physical fabric adapter capable of connecting to an interconnect fabric.

func GetFabricAdapter added in v0.16.0

func GetFabricAdapter(c common.Client, uri string) (*FabricAdapter, error)

GetFabricAdapter will get a FabricAdapter instance from the service.

func ListReferencedFabricAdapters added in v0.16.0

func ListReferencedFabricAdapters(c common.Client, link string) ([]*FabricAdapter, error)

ListReferencedFabricAdapters gets the collection of FabricAdapter from a provided reference.

func (*FabricAdapter) Endpoints added in v0.16.0

func (fabricadapter *FabricAdapter) Endpoints() ([]*Endpoint, error)

Endpoints gets the endpoints connected to this interface.

func (*FabricAdapter) MemoryDomains added in v0.16.0

func (fabricadapter *FabricAdapter) MemoryDomains() ([]*MemoryDomain, error)

MemoryDomains gets the MemoryDomains associated to this interface.

func (*FabricAdapter) PCIeDevices added in v0.16.0

func (fabricadapter *FabricAdapter) PCIeDevices() ([]*PCIeDevice, error)

PCIeDevices gets the PCIe devices associated to this interface.

func (*FabricAdapter) Ports added in v0.16.0

func (fabricadapter *FabricAdapter) Ports() ([]*Port, error)

Ports gets any ports associated with this interface.

func (*FabricAdapter) Processors added in v0.16.0

func (fabricadapter *FabricAdapter) Processors() ([]*Processor, error)

Processors gets the processors associated to this interface.

func (*FabricAdapter) UnmarshalJSON added in v0.16.0

func (fabricadapter *FabricAdapter) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a FabricAdapter object from the raw JSON.

func (*FabricAdapter) Update added in v0.16.0

func (fabricadapter *FabricAdapter) Update() error

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

type FabricAdapterGenZ added in v0.16.0

type FabricAdapterGenZ struct {

	// PIDT shall contain an array of table entry values for the Gen-Z Core Specification-defined Packet Injection
	// Delay Table for the component.
	PIDT []string
	// RITable shall contain an array of table entry values for the Gen-Z Core Specification-defined Responder
	// Interface Table for the component.
	RITable []string
	// contains filtered or unexported fields
}

FabricAdapterGenZ shall contain Gen-Z related properties for a fabric adapter.

func (*FabricAdapterGenZ) UnmarshalJSON added in v0.16.0

func (genz *FabricAdapterGenZ) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a GenZ object from the raw JSON.

type Facility added in v0.16.0

type Facility 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"`
	// AmbientMetrics shall contain a link to a resource of type EnvironmentMetrics that specifies the outdoor
	// environment metrics for this facility.
	AmbientMetrics string
	// Description provides a description of this resource.
	Description string

	// FacilityType shall contain the type of location this resource represents.
	FacilityType FacilityType
	// Location shall contain the location information of the associated facility.
	Location common.Location

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

	// CDUCount is the number of coolant distribution units in this facility.
	CDUsCount int

	// ContainsChassisCount is the number of Chassis that this facility contains.
	ContainsChassisCount int

	// ContainsFacilitiesCount is the number of facilities that this facility contains.
	ContainsFacilitiesCount int

	// CoolingLoopsCount is the number of cooling loops in this facility.
	CoolingLoopsCount int

	// ElectricalBusesCount is the number of electrical buses in this facility.
	ElectricalBusesCount int

	// FloorPDUs@odataCount is the number of floor power distribution units in this facility.
	FloorPDUsCount int

	// ImmersionUnitsCount is the number of immersion cooling units in this facility.
	ImmersionUnitsCount int

	// ManagedByCount is the number of Managers that manage this facility.
	ManagedByCount int

	// PowerShelvesCount is the number of power shelves in this facility.
	PowerShelvesCount int

	// RackPDUsCount is the number of rack-level power distribution units in this facility.
	RackPDUsCount int

	// SwitchgearCount is the number of switch gear in this facility.
	SwitchgearCount int

	// TransferSwitchesCount is the number of transfer switches in this community.
	TransferSwitchesCount int
	// contains filtered or unexported fields
}

Facility shall be used to represent a location containing equipment, such as a room, building, or campus, for a Redfish implementation.

func GetFacility added in v0.16.0

func GetFacility(c common.Client, uri string) (*Facility, error)

GetFacility will get a Facility instance from the service.

func ListReferencedFacilitys added in v0.16.0

func ListReferencedFacilitys(c common.Client, link string) ([]*Facility, error)

ListReferencedFacilitys gets the collection of Facility from a provided reference.

func (*Facility) CDUs added in v0.16.0

func (facility *Facility) CDUs() ([]*CoolingUnit, error)

CDUs get the cooling distribution units associated with this facility.

func (*Facility) ContainedByFacility added in v0.16.0

func (facility *Facility) ContainedByFacility() (*Facility, error)

ContainedByFacility get facility that contains this facility.

func (*Facility) ContainsChassis added in v0.16.0

func (facility *Facility) ContainsChassis() ([]*Chassis, error)

ContainsChassis get the chassis within this facility.

func (*Facility) ContainsFacilities added in v0.16.0

func (facility *Facility) ContainsFacilities() ([]*Facility, error)

ContainsFacilities get facilities within this facility.

func (*Facility) CoolingLoops added in v0.16.0

func (facility *Facility) CoolingLoops() ([]*CoolingLoop, error)

CoolingLoops get cooling loops within this facility.

func (*Facility) ElectricalBuses added in v0.16.0

func (facility *Facility) ElectricalBuses() ([]*PowerDistribution, error)

ElectricalBuses get electrical buses within this facility.

func (*Facility) FloorPDUs added in v0.16.0

func (facility *Facility) FloorPDUs() ([]*PowerDistribution, error)

FloorPDUs get floor power distribution units within this facility.

func (*Facility) ImmersionUnits added in v0.16.0

func (facility *Facility) ImmersionUnits() ([]*CoolingUnit, error)

ImmersionUnits get immersion cooling units within this facility.

func (*Facility) ManagedBy added in v0.16.0

func (facility *Facility) ManagedBy() ([]*Manager, error)

ManagedBy gets the managers of this facility.

func (*Facility) PowerShelves added in v0.16.0

func (facility *Facility) PowerShelves() ([]*PowerDistribution, error)

PowerShelves get power shelves within this facility.

func (*Facility) RackPDUs added in v0.16.0

func (facility *Facility) RackPDUs() ([]*PowerDistribution, error)

RackPDUs get rack power distribution units within this facility.

func (*Facility) Switchgear added in v0.16.0

func (facility *Facility) Switchgear() ([]*PowerDistribution, error)

Switchgear get switchgear power distribution units within this facility.

func (*Facility) TransferSwitches added in v0.16.0

func (facility *Facility) TransferSwitches() ([]*PowerDistribution, error)

TransferSwitches get transfer switches within this facility.

func (*Facility) UnmarshalJSON added in v0.16.0

func (facility *Facility) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Facility object from the raw JSON.

type FacilityType added in v0.16.0

type FacilityType string
const (
	// RoomFacilityType A room inside of a building or floor.
	RoomFacilityType FacilityType = "Room"
	// FloorFacilityType A floor inside of a building.
	FloorFacilityType FacilityType = "Floor"
	// BuildingFacilityType A structure with a roof and walls.
	BuildingFacilityType FacilityType = "Building"
	// SiteFacilityType A small area consisting of several buildings.
	SiteFacilityType FacilityType = "Site"
)

type Fan

type Fan 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
	// FanDiameterMm shall contain the diameter of the fan assembly in millimeter units.
	FanDiameterMm int
	// HotPluggable shall indicate whether the device can be inserted or removed while the underlying equipment
	// otherwise remains in its current operational state. Hot-pluggable devices can 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 not be hot-pluggable.
	HotPluggable bool
	// Location shall contain the location information of this fan.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// Manufacturer shall contain the name of the organization responsible for producing the fan. This organization may
	// be the entity from whom the fan is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the model information as defined by the manufacturer for this fan.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the part number as defined by the manufacturer for this fan.
	PartNumber string
	// PhysicalContext shall contain a description of the affected device or region within the chassis with which this
	// fan is associated.
	PhysicalContext PhysicalContext
	// PowerWatts shall contain the total power, in watt units, for this resource. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Power'.
	PowerWatts SensorPowerExcerpt
	// Replaceable shall indicate whether this component can be independently replaced as allowed by the vendor's
	// replacement policy. A value of 'false' indicates the component needs to be replaced by policy as part of another
	// component. If the 'LocationType' property of this component contains 'Embedded', this property shall contain
	// 'false'.
	Replaceable bool
	// SecondarySpeedPercent shall contain the fan speed, in percent units, for the secondary rotor of this resource.
	// The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'Percent'.
	SecondarySpeedPercent SensorFanExcerpt
	// SerialNumber shall contain the serial number as defined by the manufacturer for this fan.
	SerialNumber string
	// SparePartNumber shall contain the spare or replacement part number as defined by the manufacturer for this fan.
	SparePartNumber string
	// SpeedPercent shall contain the fan speed, in percent units, for this resource. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Percent'.
	SpeedPercent SensorFanExcerpt
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// CoolingChassisCount is the number of cooling chassis related to this fan.
	CoolingChassisCount int
	// contains filtered or unexported fields
}

Fan shall represent a cooling fan for a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains 'Absent'.

func GetFan added in v0.16.0

func GetFan(c common.Client, uri string) (*Fan, error)

GetFan will get a Fan instance from the service.

func ListReferencedFans added in v0.16.0

func ListReferencedFans(c common.Client, link string) ([]*Fan, error)

ListReferencedFans gets the collection of Fan from a provided reference.

func (*Fan) Assembly added in v0.16.0

func (fan *Fan) Assembly() (*Assembly, error)

Assembly gets the assembly for this fan.

func (*Fan) CoolingChassis added in v0.16.0

func (fan *Fan) CoolingChassis() ([]*Chassis, error)

CoolingChassis get the cooling chassis related to this fan.

func (*Fan) UnmarshalJSON

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

UnmarshalJSON unmarshals a Fan object from the raw JSON.

func (*Fan) Update added in v0.16.0

func (fan *Fan) Update() error

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

type FanSpeedPercent added in v0.15.0

type FanSpeedPercent struct {
	// The link to the resource that provides the data for this sensor.
	DataSourceURI string `json:"DataSourceUri"`
	// The name of the device.
	DeviceName string
	// The area or device to which this sensor measurement applies.
	PhysicalContext common.PhysicalContext
	// The usage or location within a device to which this sensor measurement applies.
	PhysicalSubContext common.PhysicalSubContext
	// The sensor value.
	Reading float32
	// The rotational speed.
	SpeedRPM float32
}

type FiberConnectionType added in v0.16.0

type FiberConnectionType string
const (
	// SingleModeFiberConnectionType The connection is using single mode operation.
	SingleModeFiberConnectionType FiberConnectionType = "SingleMode"
	// MultiModeFiberConnectionType The connection is using multi mode operation.
	MultiModeFiberConnectionType FiberConnectionType = "MultiMode"
)

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
	// 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 FibreChannelNetworkDeviceFunctionMetrics added in v0.16.0

type FibreChannelNetworkDeviceFunctionMetrics struct {
	// PortLoginAccepts shall contain the total number of PLOGI ACC responses received by this Fibre Channel function.
	PortLoginAccepts int
	// PortLoginRejects shall contain the total number of PLOGI RJT responses received by this Fibre Channel function.
	PortLoginRejects int
	// PortLoginRequests shall contain the total number of PLOGI requests sent by this function.
	PortLoginRequests int
	// RXCongestionFPINs shall contain the total number of Congestion FPINs received by this Fibre Channel function.
	RXCongestionFPINs int
	// RXDeliveryFPINs shall contain the total number of Delivery FPINs received by this Fibre Channel function.
	RXDeliveryFPINs int
	// RXExchanges shall contain the total number of Fibre Channel exchanges received.
	RXExchanges int
	// RXLinkIntegrityFPINs shall contain the total number of Link Integrity FPINs received by this Fibre Channel
	// function.
	RXLinkIntegrityFPINs int
	// RXPeerCongestionFPINs shall contain the total number of Peer Congestion FPINs received by this Fibre Channel
	// function.
	RXPeerCongestionFPINs int
	// RXSequences shall contain the total number of Fibre Channel sequences received.
	RXSequences int
	// TXCongestionFPINs shall contain the total number of Congestion FPINs sent by this Fibre Channel function.
	TXCongestionFPINs int
	// TXDeliveryFPINs shall contain the total number of Delivery FPINs sent by this Fibre Channel function.
	TXDeliveryFPINs int
	// TXExchanges shall contain the total number of Fibre Channel exchanges transmitted.
	TXExchanges int
	// TXLinkIntegrityFPINs shall contain the total number of Link Integrity FPINs sent by this Fibre Channel function.
	TXLinkIntegrityFPINs int
	// TXPeerCongestionFPINs shall contain the total number of Peer Congestion FPINs sent by this Fibre Channel
	// function.
	TXPeerCongestionFPINs int
	// TXSequences shall contain the total number of Fibre Channel sequences transmitted.
	TXSequences int
}

FibreChannelNetworkDeviceFunctionMetrics shall describe the Fibre Channel-related network function metrics.

type FibreChannelPortMetrics added in v0.16.0

type FibreChannelPortMetrics struct {
	// CorrectableFECErrors shall contain the total number of times this port has received traffic with correctable
	// forward error correction (FEC) errors.
	CorrectableFECErrors int
	// InvalidCRCs shall contain the total number of invalid cyclic redundancy checks (CRCs) observed on this port.
	InvalidCRCs int
	// InvalidTXWords shall contain the total number of times this port has received invalid transmission words.
	InvalidTXWords int
	// LinkFailures shall contain the total number of link failures observed on this port.
	LinkFailures int
	// LossesOfSignal shall contain the total number of times this port has lost signal.
	LossesOfSignal int
	// LossesOfSync shall contain the total number of times this port has lost sync.
	LossesOfSync int
	// RXBBCreditZero shall contain the number of times the receive buffer-to-buffer credit count transitioned to zero
	// since last counter reset.
	RXBBCreditZero int
	// RXExchanges shall contain the total number of Fibre Channel exchanges received.
	RXExchanges int
	// RXSequences shall contain the total number of Fibre Channel sequences received.
	RXSequences int
	// TXBBCreditZero shall contain the number of times the transmit buffer-to-buffer credit count transitioned to zero
	// since last counter reset.
	TXBBCreditZero int
	// TXBBCreditZeroDurationMilliseconds shall contain the total amount of time in milliseconds the port has been
	// blocked from transmitting due to lack of buffer credits since the last counter reset.
	TXBBCreditZeroDurationMilliseconds int
	// TXBBCredits shall contain the number of transmit buffer-to-buffer credits the port is configured to use.
	TXBBCredits int
	// TXExchanges shall contain the total number of Fibre Channel exchanges transmitted.
	TXExchanges int
	// TXSequences shall contain the total number of Fibre Channel sequences transmitted.
	TXSequences int
	// UncorrectableFECErrors shall contain the total number of times this port has received traffic with uncorrectable
	// forward error correction (FEC) errors.
	UncorrectableFECErrors int
}

FibreChannelPortMetrics shall describe Fibre Channel-specific metrics for network ports.

type FibreChannelProperties added in v0.16.0

type FibreChannelProperties struct {
	// AssociatedWorldWideNames shall contain an array of configured World Wide Names (WWN) 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.
	AssociatedWorldWideNames []string
	// FabricName shall indicate the Fibre Channel Fabric Name provided by the switch.
	FabricName string
	// NumberDiscoveredRemotePorts shall contain the number of ports not on this associated device that this port has
	// discovered.
	NumberDiscoveredRemotePorts int
	// PortConnectionType shall contain the connection type for this port.
	PortConnectionType PortConnectionType
}

FibreChannelProperties shall contain Fibre Channel-specific properties for a port.

type Filter added in v0.16.0

type Filter 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
	// 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
	// Location shall contain the location information of this filter.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// Manufacturer shall contain the name of the organization responsible for producing the filter. This organization
	// may be the entity from whom the Filter is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the model information as defined by the manufacturer for this filter.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the part number as defined by the manufacturer for this filter.
	PartNumber string
	// PhysicalContext shall contain a description of the affected device or region within the chassis with which this
	// filter is associated.
	PhysicalContext PhysicalContext
	// RatedServiceHours shall contain the number of hours of service that the filter or filter media is rated to
	// provide before servicing or replacement is necessary.
	RatedServiceHours float64
	// Replaceable shall indicate whether this component can be independently replaced as allowed by the vendor's
	// replacement policy. A value of 'false' indicates the component needs to be replaced by policy as part of another
	// component. If the 'LocationType' property of this component contains 'Embedded', this property shall contain
	// 'false'.
	Replaceable bool
	// SerialNumber shall contain the serial number as defined by the manufacturer for this filter.
	SerialNumber string
	// ServiceHours shall contain the number of hours of service that the filter or filter media has provided.
	ServiceHours float64
	// ServicedDate shall contain the date the filter or filter media was put into active service.
	ServicedDate string
	// SparePartNumber shall contain the spare or replacement part number as defined by the manufacturer for this
	// filter.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string
	// contains filtered or unexported fields
}

Filter shall represent the management properties for monitoring and management of filters for a Redfish implementation.

func GetFilter added in v0.16.0

func GetFilter(c common.Client, uri string) (*Filter, error)

GetFilter will get a Filter instance from the service.

func ListReferencedFilters added in v0.16.0

func ListReferencedFilters(c common.Client, link string) ([]*Filter, error)

ListReferencedFilters gets the collection of Filter from a provided reference.

func (*Filter) Assembly added in v0.16.0

func (filter *Filter) Assembly() (*Assembly, error)

Assembly gets the assembly for this filter.

func (*Filter) UnmarshalJSON added in v0.16.0

func (filter *Filter) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Filter object from the raw JSON.

func (*Filter) Update added in v0.16.0

func (filter *Filter) Update() error

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

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 FormFactor added in v0.16.0

type FormFactor string
const (
	// Drive35FormFactor shall indicate the drive is approximately 3.5 inches in width and no more than 1.1 inches in
	// height.
	Drive35FormFactor FormFactor = "Drive3_5"
	// Drive25FormFactor shall indicate the drive is approximately 2.5 inches in width and no more than 0.8 inches in
	// height and is not a U.2 drive.
	Drive25FormFactor FormFactor = "Drive2_5"
	// EDSFFFormFactor shall indicate the drive corresponds to one of SNIA's SFF specifications with an unspecified
	// form factor. The SlotFormFactor property should not contain this value.
	EDSFFFormFactor FormFactor = "EDSFF"
	// EDSFF1ULongFormFactor shall indicate the drive corresponds to the SFF-TA-1007 Specification.
	EDSFF1ULongFormFactor FormFactor = "EDSFF_1U_Long"
	// EDSFF1UShortFormFactor shall indicate the drive corresponds to the SFF-TA-1006 Specification.
	EDSFF1UShortFormFactor FormFactor = "EDSFF_1U_Short"
	// EDSFFE3ShortFormFactor shall indicate the drive corresponds to the SFF-TA-1008 Specification and is
	// approximately 112.75 mm in length.
	EDSFFE3ShortFormFactor FormFactor = "EDSFF_E3_Short"
	// EDSFFE3LongFormFactor shall indicate the drive corresponds to the SFF-TA-1008 Specification and is approximately
	// 142.2 mm in length.
	EDSFFE3LongFormFactor FormFactor = "EDSFF_E3_Long"
	// M2FormFactor shall indicate the drive corresponds to the PCI Express M.2 Specification with an unspecified form
	// factor. The SlotFormFactor property should not contain this value.
	M2FormFactor FormFactor = "M2"
	// M22230FormFactor shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately
	// 22 mm in width and 30 mm in length.
	M22230FormFactor FormFactor = "M2_2230"
	// M22242FormFactor shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately
	// 22 mm in width and 42 mm in length.
	M22242FormFactor FormFactor = "M2_2242"
	// M22260FormFactor shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately
	// 22 mm in width and 60 mm in length.
	M22260FormFactor FormFactor = "M2_2260"
	// M22280FormFactor shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately
	// 22 mm in width and 80 mm in length.
	M22280FormFactor FormFactor = "M2_2280"
	// M222110FormFactor shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately
	// 22 mm in width and 110 mm in length.
	M222110FormFactor FormFactor = "M2_22110"
	// U2FormFactor shall indicate the drive corresponds to the PCI Express SFF-8639 Module Specification.
	U2FormFactor FormFactor = "U2"
	// PCIeSlotFullLengthFormFactor shall indicate the drive is an add-in card greater than 7 inches in length.
	PCIeSlotFullLengthFormFactor FormFactor = "PCIeSlotFullLength"
	// PCIeSlotLowProfileFormFactor shall indicate the drive is an add-in card less than 2.5 inches in height.
	PCIeSlotLowProfileFormFactor FormFactor = "PCIeSlotLowProfile"
	// PCIeHalfLengthFormFactor shall indicate the drive is an add-in card less than 7 inches in length.
	PCIeHalfLengthFormFactor FormFactor = "PCIeHalfLength"
	// OEMFormFactor shall indicate the drive is an OEM-defined form factor.
	OEMFormFactor FormFactor = "OEM"
)

type FpgaInterfaceType

type FpgaInterfaceType string
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 FunctionBandwidth added in v0.16.0

type FunctionBandwidth struct {
	// The bandwidth allocation percentage allocated to the corresponding network device function instance.
	AllocationPercent int
	// contains filtered or unexported fields
}

type FunctionMaxBandwidth added in v0.16.0

type FunctionMaxBandwidth struct {
	// AllocationPercent shall contain the maximum bandwidth percentage allocation, '0' to '100', for the associated
	// network device function.
	AllocationPercent int
	// contains filtered or unexported fields
}

type FunctionMinBandwidth added in v0.16.0

type FunctionMinBandwidth struct {
	// AllocationPercent shall contain the minimum bandwidth percentage allocation, '0' to '100', for the associated
	// network device function. The sum of all minimum percentages shall not exceed '100'.
	AllocationPercent int
	// contains filtered or unexported fields
}

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

type FunctionProtocol added in v0.16.0

type FunctionProtocol string
const (
	// PCIeFunctionProtocol A standard PCIe function.
	PCIeFunctionProtocol FunctionProtocol = "PCIe"
	// CXLFunctionProtocol A PCIe function supporting CXL extensions.
	CXLFunctionProtocol FunctionProtocol = "CXL"
)

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 GatewayIPAddressRange added in v0.16.0

type GatewayIPAddressRange struct {
	// Lower shall contain the lower IP address to be used as part of a range of addresses for gateway nodes in
	// Ethernet Virtual Private Network (EVPN) based fabrics.
	Lower string
	// Upper shall contain the upper IP address to be used as part of a range of addresses for gateway nodes in
	// Ethernet Virtual Private Network (EVPN) based fabrics.
	Upper string
}

GatewayIPAddressRange shall contain the IPv4 address range for gateway nodes for Ethernet Virtual Private Network (EVPN) based fabrics.

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 GenZConnectionKey added in v0.16.0

type GenZConnectionKey struct {
	// AccessKey shall contain the Gen-Z Core Specification-defined Access Key for this connection.
	AccessKey string
	// RKeyDomainCheckingEnabled shall indicate whether Region Key domain checking is enabled for this connection.
	RKeyDomainCheckingEnabled string
	// RKeyReadOnlyKey shall contain the Gen-Z Core Specification-defined read-only Region Key for this connection.
	RKeyReadOnlyKey string
	// RKeyReadWriteKey shall contain the Gen-Z Core Specification-defined read-write Region Key for this connection.
	RKeyReadWriteKey string
}

GenZConnectionKey shall contain the Gen-Z-specific permission key information for a connection.

type GenZPortMetrics added in v0.16.0

type GenZPortMetrics struct {
	// AccessKeyViolations shall contain the total number of Access Key Violations detected for packets received or
	// transmitted on this interface.
	AccessKeyViolations int
	// EndToEndCRCErrors shall contain total number of ECRC transient errors detected in received link-local and end-
	// to-end packets.
	EndToEndCRCErrors int
	// LLRRecovery shall contain the total number of times Link-level Reliability (LLR) recovery has been initiated by
	// this interface. This is not to be confused with the number of packets retransmitted due to initiating LLR
	// recovery.
	LLRRecovery int
	// LinkNTE shall contain the total number of link-local non-transient errors detected on this interface.
	LinkNTE int
	// MarkedECN shall contain the number of packets that the component set the Congestion ECN bit prior to
	// transmission through this interface.
	MarkedECN int
	// NonCRCTransientErrors shall contain the total number of transient errors detected that are unrelated to CRC
	// validation, which covers link-local and end-to-end packets, such as malformed Link Idle packets or PLA signal
	// errors.
	NonCRCTransientErrors int
	// PacketCRCErrors shall contain the total number of PCRC transient errors detected in received link-local and end-
	// to-end packets.
	PacketCRCErrors int
	// PacketDeadlineDiscards shall contain the number of packets discarded by this interface due to the Congestion
	// Deadline subfield reaching zero prior to packet transmission.
	PacketDeadlineDiscards int
	// RXStompedECRC shall contain the total number of packets that this interface received with a stomped ECRC field.
	RXStompedECRC int
	// ReceivedECN shall contain the number of packets received on this interface with the Congestion ECN bit set.
	ReceivedECN int
	// TXStompedECRC shall contain the total number of packets that this interfaced stomped the ECRC field.
	TXStompedECRC int
}

GenZPortMetrics shall describe the Gen-Z related port metrics.

type GenerateCSRRequest added in v0.16.0

type GenerateCSRRequest struct {
	// AlternativeNames is an array of additional host names of the component to secure,
	// as defined by the RFC5280 'subjectAltName' attribute.
	AlternativeNames []string `json:",omitempty"`
	// CertificateCollection is a link to a resource collection of type CertificateCollection where the certificate is
	// installed after the certificate authority (CA) signs the certificate.
	CertificateCollection string
	// ChallengePassword is the challenge password to apply to the certificate for revocation requests as defined by
	// the RFC2985 'challengePassword' attribute.
	ChallengePassword string `json:",omitempty"`
	// City is the city or locality of the organization making the request, as defined by the RFC5280 'localityName' attribute.
	City string
	// CommonName is the fully qualified domain name of the component to secure, as defined by the RFC5280 'commonName' attribute.
	CommonName string
	// ContactPerson is the name of the user making the request, as defined by the RFC5280 'name' attribute.
	ContactPerson string `json:",omitempty"`
	// Country is the two-letter ISO code for the country of the organization making the request, as defined by the RFC5280 'countryName' attribute.
	Country string
	// Email is the email address of the contact within the organization making the request, as defined by the RFC2985 'emailAddress' attribute.
	Email string `json:",omitempty"`
	// GivenName is the given name of the user making the request, as defined by the RFC5280 'givenName' attribute.
	GivenName string `json:",omitempty"`
	// Initials is the initials of the user making the request, as defined by the RFC5280 'initials' attribute.
	Initials string `json:",omitempty"`
	// KeyBitLength is the length of the key, in bits, if needed based on the KeyPairAlgorithm parameter value.
	KeyBitLength int `json:",omitempty"`
	// KeyCurveID is the curve ID to use with the key, if needed based on the KeyPairAlgorithm parameter value.
	// The allowable values for this parameter shall be the strings in the 'Name' field of the 'TPM_ECC_CURVE Constants'
	// table within the 'Trusted Computing Group Algorithm Registry'.
	KeyCurveID string `json:"KeyCurveId,omitempty"`
	// KeyPairAlgorithm is the type of key-pair for use with signing algorithms. The allowable values for this parameter
	// shall be the strings in the 'Algorithm Name' field of the 'TPM_ALG_ID Constants' table within the
	// 'Trusted Computing Group Algorithm Registry'.
	KeyPairAlgorithm string `json:",omitempty"`
	// KeyUsage is the usage of the key contained in the certificate. If the client does not provide this value, the
	// service can determine the appropriate key usage settings in the certificate signing request.
	KeyUsage []KeyUsageExtension `json:",omitempty"`
	// Organization is the name of the organization making the request, as defined by the RFC5280 'organizationName' attribute.
	Organization string
	// OrganizationalUnit is the name of the unit or division of the organization making the request, as defined by the
	// RFC5280 'organizationalUnitName' attribute.
	OrganizationalUnit string
	// State is the state, province, or region of the organization making the request, as defined by the RFC5280
	// 'stateOrProvinceName' attribute.
	State string
	// Surname is the surname of the user making the request, as defined by the RFC5280 'surname' attribute.
	Surname string `json:",omitempty"`
	// UnstructuredName is the unstructured name of the subject, as defined by the RFC2985 'unstructuredName' attribute.
	UnstructuredName string `json:",omitempty"`
}

type GenerateCSRResponse added in v0.16.0

type GenerateCSRResponse struct {
	// CSRString shall contain the Privacy Enhanced Mail (PEM)-encoded string, which contains RFC2986-specified
	// structures, of the certificate signing request. The private key should not be part of the string.
	CSRString string
	// contains filtered or unexported fields
}

GenerateCSRResponse shall contain the properties found in the response body for the GenerateCSR action.

func (*GenerateCSRResponse) Certificates added in v0.16.0

func (generatecsrresponse *GenerateCSRResponse) Certificates() ([]*Certificate, error)

Certificates gets the collection of where the certificate is installed after the certificate authority (CA) has signed the certificate.

func (*GenerateCSRResponse) UnmarshalJSON added in v0.16.0

func (generatecsrresponse *GenerateCSRResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a GenerateCSRResponse object from the raw JSON.

type GoogleAuthenticator added in v0.16.0

type GoogleAuthenticator struct {
	// Enabled shall indicate whether multi-factor authentication with Google Authenticator is enabled.
	Enabled bool
	// SecretKey shall contain the client key to use when communicating with the Google Authenticator Server. The value
	// shall be 'null' in responses.
	SecretKey string
	// SecretKeySet shall contain 'true' if a valid value was provided for the SecretKey property. Otherwise, the
	// property shall contain 'false'.
	SecretKeySet string
}

GoogleAuthenticator shall contain settings for Google Authenticator multi-factor authentication.

type GracefulRestart added in v0.16.0

type GracefulRestart struct {
	// GracefulRestartEnabled shall indicate whether to enable Border Gateway Protocol (BGP) graceful restart features.
	GracefulRestartEnabled bool
	// HelperModeEnabled shall indicate what to do with stale routes. If 'true', the router continues to be forward
	// packets to stale routes. If 'false', it does not forward packets to stale routes.
	HelperModeEnabled bool
	// StaleRoutesTimeSeconds shall contain the time in seconds to hold stale routes for a restarting peer.
	StaleRoutesTimeSeconds int
	// TimeSeconds shall contain the time in seconds to wait for a graceful restart capable neighbor to re-establish
	// Border Gateway Protocol (BGP) peering.
	TimeSeconds int
}

GracefulRestart shall contain properties that are applicable to configuring Border Gateway Protocol (BGP) graceful restart related properties.

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 GraphicsController added in v0.16.0

type GraphicsController 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"`
	// AssetTag shall contain the user-assigned asset tag, which is an identifying string that tracks the drive for
	// inventory purposes.
	AssetTag string
	// BiosVersion shall contain the version string of the currently installed and running BIOS or firmware for the
	// graphics controller.
	BiosVersion string
	// Description provides a description of this resource.
	Description string
	// DriverVersion shall contain the version string of the currently loaded driver for this graphics controller.
	DriverVersion string
	// Location shall contain the location information of the associated graphics controller.
	Location common.Location
	// Manufacturer shall contain the name of the organization responsible for producing the graphics controller. This
	// organization may be the entity from which the graphics controller is purchased, but this is not necessarily
	// true.
	Manufacturer string
	// Model shall contain the manufacturer-provided model information of this graphics controller.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the manufacturer-provided part number for the graphics controller.
	PartNumber string

	// SKU shall contain the SKU number for this graphics controller.
	SKU string
	// SerialNumber shall contain a manufacturer-allocated number that identifies the graphics controller.
	SerialNumber string
	// SparePartNumber shall contain the spare part number of the graphics controller.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// ProcessorsCount is the number of processors trhat this graphics controller contains.
	ProcessorsCount int
	// contains filtered or unexported fields
}

GraphicsController shall represent a graphics output device in a Redfish implementation.

func GetGraphicsController added in v0.16.0

func GetGraphicsController(c common.Client, uri string) (*GraphicsController, error)

GetGraphicsController will get a GraphicsController instance from the service.

func ListReferencedGraphicsControllers added in v0.16.0

func ListReferencedGraphicsControllers(c common.Client, link string) ([]*GraphicsController, error)

ListReferencedGraphicsControllers gets the collection of GraphicsController from a provided reference.

func (*GraphicsController) PCIeDevice added in v0.16.0

func (graphicscontroller *GraphicsController) PCIeDevice() (*PCIeDevice, error)

PCIeDevice gets the PCIeDevice for this graphics controller.

func (*GraphicsController) Ports added in v0.16.0

func (graphicscontroller *GraphicsController) Ports() ([]*Port, error)

Ports get the ports associated with this graphics controller.

func (*GraphicsController) Processors added in v0.16.0

func (graphicscontroller *GraphicsController) Processors() ([]*Processor, error)

Processors gets this graphics controllers processors.

func (*GraphicsController) UnmarshalJSON added in v0.16.0

func (graphicscontroller *GraphicsController) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a GraphicsController object from the raw JSON.

func (*GraphicsController) Update added in v0.16.0

func (graphicscontroller *GraphicsController) Update() error

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

type GroupType added in v0.16.0

type GroupType string
const (
	// ClientGroupType shall indicate that the endpoint group contains client (initiator) endpoints. If the associated
	// endpoints contain the EntityRole property, the EntityRole property shall contain the value 'Initiator' or
	// 'Both'.
	ClientGroupType GroupType = "Client"
	// ServerGroupType shall indicate that the endpoint group contains server (target) endpoints. If the associated
	// endpoints contain the EntityRole property, the EntityRole property shall contain the value 'Target' or 'Both'.
	ServerGroupType GroupType = "Server"
	// InitiatorGroupType shall indicate that the endpoint group contains initiator endpoints. If the associated
	// endpoints contain the EntityRole property, the EntityRole property shall contain the value 'Initiator' or
	// 'Both'.
	InitiatorGroupType GroupType = "Initiator"
	// TargetGroupType shall indicate that the endpoint group contains target endpoints. If the associated endpoints
	// contain the EntityRole property, the EntityRole property shall contain the value 'Target' or 'Both'.
	TargetGroupType GroupType = "Target"
)

type HTTPBoot added in v0.16.0

type HTTPBoot struct {
	// BootMediaURI shall contain the URI of the boot media loaded with this network device function. An empty string
	// shall indicate no boot media is configured. All other values shall begin with 'http://' or 'https://'.
	BootMediaURI string
}

HTTPBoot shall describe the HTTP and HTTPS boot capabilities, status, and configuration values for a network device function.

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 HTTPPushURIApplyTime added in v0.16.0

type HTTPPushURIApplyTime struct {
	// ApplyTime shall indicate the time when to apply the HttpPushUri-provided software update.
	ApplyTime ApplyTime
	// MaintenanceWindowDurationInSeconds shall indicate the end of the maintenance window as the number of seconds
	// after the time specified by the MaintenanceWindowStartTime property. This property shall be required if the
	// HttpPushUriApplyTime property value is 'AtMaintenanceWindowStart' or 'InMaintenanceWindowOnReset'.
	MaintenanceWindowDurationInSeconds int
	// MaintenanceWindowStartTime shall indicate the date and time when the service can start to apply the HttpPushUri-
	// provided software as part of a maintenance window. This property shall be required if the HttpPushUriApplyTime
	// property value is 'AtMaintenanceWindowStart' or 'InMaintenanceWindowOnReset'.
	MaintenanceWindowStartTime string
}

HTTPPushURIApplyTime shall contain settings for when to apply HttpPushUri-provided software.

type HTTPPushURIOptions added in v0.16.0

type HTTPPushURIOptions struct {
	// ForceUpdate shall indicate whether the service should bypass update policies when applying the HttpPushUri-
	// provided image, such as allowing a component to be downgraded. Services may contain update policies that are
	// never bypassed, such as minimum version enforcement. If this property is not present, it shall be assumed to be
	// 'false'.
	ForceUpdate bool
	// HttpPushUriApplyTime shall contain settings for when to apply HttpPushUri-provided firmware.
	HTTPPushURIApplyTime HTTPPushURIApplyTime
}

HTTPPushURIOptions shall contain settings and requirements of the service for HttpPushUri-provided software updates.

type HTTPS added in v0.15.0

type HTTPS struct {
	NetworkProtocol
	// contains filtered or unexported fields
}

func (*HTTPS) UnmarshalJSON added in v0.15.0

func (https *HTTPS) UnmarshalJSON(b []byte) error

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 Heater added in v0.16.0

type Heater 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
	// HotPluggable shall indicate whether the device can be inserted or removed while the underlying equipment
	// otherwise remains in its current operational state. Hot-pluggable devices can 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 not be hot-pluggable.
	HotPluggable bool
	// Location shall contain the location information of this heater.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// Manufacturer shall contain the name of the organization responsible for producing the heater. This organization
	// may be the entity from whom the heater is purchased, but this is not necessarily true.
	Manufacturer string

	// Model shall contain the model information as defined by the manufacturer for this heater.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the part number as defined by the manufacturer for this heater.
	PartNumber string
	// PhysicalContext shall contain a description of the affected device or region within the chassis with which this
	// heater is associated.
	PhysicalContext PhysicalContext
	// SerialNumber shall contain the serial number as defined by the manufacturer for this heater.
	SerialNumber string
	// SparePartNumber shall contain the spare or replacement part number as defined by the manufacturer for this
	// heater.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// ManagersCount gets the number of managers for this heater.
	ManagersCount int

	// MemoryCount gets the number of memory units associated with this heater.
	MemoryCount int

	// NetworkAdaptersCount gets the number of network adapters associated with this heater.
	NetworkAdaptersCount int

	// ProcessorsCount gets the number of processors associated with this heater.
	ProcessorsCount int

	// StorageControllersCount gets the number of storage controllers associated with this heater.
	StorageControllersCount int
	// contains filtered or unexported fields
}

Heater shall represent the management properties for monitoring and management of heaters for a Redfish implementation.

func GetHeater added in v0.16.0

func GetHeater(c common.Client, uri string) (*Heater, error)

GetHeater will get a Heater instance from the service.

func ListReferencedHeaters added in v0.16.0

func ListReferencedHeaters(c common.Client, link string) ([]*Heater, error)

ListReferencedHeaters gets the collection of Heater from a provided reference.

func (*Heater) Assembly added in v0.16.0

func (heater *Heater) Assembly() (*Assembly, error)

Assembly gets the assembly for this heater.

func (*Heater) Managers added in v0.16.0

func (heater *Heater) Managers() ([]*Manager, error)

Managers gets the managers for this heater.

func (*Heater) Memory added in v0.16.0

func (heater *Heater) Memory() ([]*Memory, error)

Memory gets the memory associated with this heater.

func (*Heater) Metrics added in v0.16.0

func (heater *Heater) Metrics() (*HeaterMetrics, error)

Metrics gets the heater metrics for this heater.

func (*Heater) NetworkAdapters added in v0.16.0

func (heater *Heater) NetworkAdapters() ([]*NetworkAdapter, error)

NetworkAdapters gets the network adapters associated with this heater.

func (*Heater) Processors added in v0.16.0

func (heater *Heater) Processors() ([]*Processor, error)

Processors gets this heater's processors.

func (*Heater) StorageControllers added in v0.16.0

func (heater *Heater) StorageControllers() ([]*StorageController, error)

StorageControllers gets the storage controllers associated with this heater.

func (*Heater) UnmarshalJSON added in v0.16.0

func (heater *Heater) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Heater object from the raw JSON.

func (*Heater) Update added in v0.16.0

func (heater *Heater) Update() error

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

type HeaterMetrics added in v0.16.0

type HeaterMetrics 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PowerWatts shall contain the total power consumption, in watt units, for this resource. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Power'.
	PowerWatts SensorPowerExcerpt
	// PrePowerOnHeatingTimeSeconds shall contain the total number of seconds the heater was active while the device it
	// heats was powered off.
	PrePowerOnHeatingTimeSeconds int
	// RuntimeHeatingTimeSeconds shall contain the total number of seconds the heater was active while the device it
	// heats was powered on.
	RuntimeHeatingTimeSeconds int
	// TemperatureReadingsCelsius shall contain the temperatures, in degree Celsius units, for this subsystem. The
	// value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType
	// property containing the value 'Temperature'.
	TemperatureReadingsCelsius []SensorArrayExcerpt
	// TemperatureReadingsCelsiusCount is the number of TemperatureReadingCelsius entries.
	TemperatureReadingsCelsiusCount int `json:"TemperatureReadingsCelsius@odata.count"`
	// contains filtered or unexported fields
}

HeaterMetrics shall be used to represent the metrics of a heater unit for a Redfish implementation.

func GetHeaterMetrics added in v0.16.0

func GetHeaterMetrics(c common.Client, uri string) (*HeaterMetrics, error)

GetHeaterMetrics will get a HeaterMetrics instance from the service.

func ListReferencedHeaterMetrics added in v0.16.1

func ListReferencedHeaterMetrics(c common.Client, link string) ([]*HeaterMetrics, error)

ListReferencedHeaterMetrics gets the collection of HeaterMetrics from a provided reference.

func (*HeaterMetrics) ResetMetrics added in v0.16.0

func (heatermetrics *HeaterMetrics) ResetMetrics() error

This action shall reset any time intervals or counted values for this circuit.

func (*HeaterMetrics) UnmarshalJSON added in v0.16.0

func (heatermetrics *HeaterMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a HeaterMetrics object from the raw JSON.

type HeaterSummary added in v0.16.0

type HeaterSummary struct {
	// TotalPrePowerOnHeatingTimeSeconds shall contain the total number of seconds all the heaters in the thermal
	// subsystem were active while the respective devices they heat were powered off.
	TotalPrePowerOnHeatingTimeSeconds int
	// TotalRuntimeHeatingTimeSeconds shall contain the total number of seconds all the heaters in the thermal
	// subsystem were active while the respective devices they heat were powered on.
	TotalRuntimeHeatingTimeSeconds int
}

HeaterSummary shall contain properties that describe the heater metrics summary for the subsystem.

type HostGraphicalConsole added in v0.16.0

type HostGraphicalConsole struct {
	// ConnectTypesSupported shall contain an array of the enumerations. KVMIP shall be included if a vendor-defined
	// KVM-IP protocol is supported.
	ConnectTypesSupported []GraphicalConnectTypesSupported
	// MaxConcurrentSessions shall contain the maximum number of concurrent service sessions that this implementation
	// supports.
	MaxConcurrentSessions int
	// Port shall contain the port assigned to the service.
	Port int
	// ServiceEnabled shall indicate whether the protocol for the service is enabled.
	ServiceEnabled bool
}

HostGraphicalConsole shall describe a graphical console service for a computer system.

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
	// CredentialBootstrapping shall contain settings for the Redfish Host Interface Specification-defined 'credential
	// bootstrapping via IPMI commands' feature for this interface. This property shall be absent if credential
	// bootstrapping is not supported by the service.
	CredentialBootstrapping string
	// 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.
	// This property has been deprecated in favor of newer methods of negotiating credentials.
	FirmwareAuthEnabled bool
	// FirmwareAuthRoleID shall be the ID of the Role resource that is
	// configured for firmware authentication on this interface.
	// This property has been deprecated in favor of newer methods of negotiating credentials.
	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.
	// This property has been deprecated in favor of newer methods of negotiating credentials.
	KernelAuthEnabled bool
	// KernelAuthRoleID shall be the ID of the Role resource that is configured
	// for kernel authentication on this interface.
	// This property has been deprecated in favor of newer methods of negotiating credentials.
	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) AuthNoneRole added in v0.16.0

func (hostinterface *HostInterface) AuthNoneRole() (*Role, error)

AuthRoleNone gets the role that contains the privileges on this host interface when no authentication is performed.

func (*HostInterface) ComputerSystems

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

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

func (*HostInterface) CredentialBootstrappingRole added in v0.16.0

func (hostinterface *HostInterface) CredentialBootstrappingRole() (*Role, error)

CredentialBootstrappingRole gets the role that contains the privileges for the bootstrap account created for this interface.

func (*HostInterface) HostEthernetInterfaces added in v0.16.0

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

HostEthernetInterfaces 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 HostSerialConsole added in v0.16.0

type HostSerialConsole struct {
	// IPMI shall contain connection details for a serial console service that uses the IPMI Serial-over-LAN (SOL)
	// protocol.
	IPMI SerialConsoleProtocol
	// MaxConcurrentSessions shall contain the maximum number of concurrent service sessions that this implementation
	// supports.
	MaxConcurrentSessions int
	// SSH shall contain connection details for a serial console service that uses the Secure Shell (SSH) protocol.
	SSH SerialConsoleProtocol
	// Telnet shall contain connection details for a serial console service that uses the Telnet protocol.
	Telnet SerialConsoleProtocol
}

HostSerialConsole shall describe the serial console services for a computer system.

type HostedServices added in v0.16.0

type HostedServices struct {
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// contains filtered or unexported fields
}

HostedServices shall describe services that a computer system supports.

func (*HostedServices) UnmarshalJSON added in v0.16.0

func (hostedservices *HostedServices) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a HostedServices object from the raw JSON.

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 HotspareActivationPolicy added in v0.16.0

type HotspareActivationPolicy string
const (
	// OnDriveFailureHotspareActivationPolicy The hot spare drive will take over for the original drive when the
	// original drive has been marked as failed by the storage domain.
	OnDriveFailureHotspareActivationPolicy HotspareActivationPolicy = "OnDriveFailure"
	// OnDrivePredictedFailureHotspareActivationPolicy The hot spare drive will take over for the original drive when
	// the original drive has been predicted to fail in the future by the storage domain.
	OnDrivePredictedFailureHotspareActivationPolicy HotspareActivationPolicy = "OnDrivePredictedFailure"
	// OEMHotspareActivationPolicy The hot spare drive will take over for the original drive in an algorithm custom to
	// the OEM.
	OEMHotspareActivationPolicy HotspareActivationPolicy = "OEM"
)

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 I2CBusStatistics added in v0.16.0

type I2CBusStatistics struct {
	// BusErrorCount shall contain the number of bus errors on this I2C bus. Bus errors include, but are not limited
	// to, an SDA rising or falling edge while SCL is high or a stuck bus signal.
	BusErrorCount int
	// I2CBusName shall contain the name of the I2C bus.
	I2CBusName string
	// NACKCount shall contain the number of NACKs on this I2C bus.
	NACKCount int
	// TotalTransactionCount shall contain the total number of transactions on this I2C bus. The count shall include
	// the number of I2C transactions initiated by the manager and the number of I2C transactions where the manager is
	// the target device.
	TotalTransactionCount int
}

I2CBusStatistics shall contain statistics of an I2C bus.

type IDSubtype added in v0.16.0

type IDSubtype string
const (
	// Agent circuit ID, based on the agent-local identifier of the circuit as defined in RFC3046.
	AgentIDIDSubtype IDSubtype = "AgentId"
	// Chassis component, based in the value of entPhysicalAlias in RFC4133.
	ChassisCompIDSubtype IDSubtype = "ChassisComp"
	// Interface alias, based on the ifAlias MIB object.
	IfAliasIDSubtype IDSubtype = "IfAlias"
	// Interface name, based on the ifName MIB object.
	IfNameIDSubtype IDSubtype = "IfName"
	// Locally assigned, based on a alpha-numeric value locally assigned.
	LocalAssignIDSubtype IDSubtype = "LocalAssign"
	// MAC address, based on an agent detected unicast source address as defined in IEEE standard 802.
	MacAddrIDSubtype IDSubtype = "MacAddr"
	// Network address, based on an agent detected network address.
	NetworkAddrIDSubtype IDSubtype = "NetworkAddr"
	// No data to be sent to/received from remote partner.
	NotTransmittedIDSubtype IDSubtype = "NotTransmitted"
	// Port component, based in the value of entPhysicalAlias in RFC4133.
	PortCompIDSubtype IDSubtype = "PortComp"
)

type IEEE802IDSubtype added in v0.16.0

type IEEE802IDSubtype string
const (
	// ChassisCompIEEE802IDSubtype Chassis component, based on the value of entPhysicalAlias in RFC4133.
	ChassisCompIEEE802IDSubtype IEEE802IDSubtype = "ChassisComp"
	// IfAliasIEEE802IDSubtype Interface alias, based on the ifAlias MIB object.
	IfAliasIEEE802IDSubtype IEEE802IDSubtype = "IfAlias"
	// PortCompIEEE802IDSubtype Port component, based on the value of entPhysicalAlias in RFC4133.
	PortCompIEEE802IDSubtype IEEE802IDSubtype = "PortComp"
	// MacAddrIEEE802IDSubtype MAC address, based on an agent-detected unicast source address as defined in IEEE
	// standard 802.
	MacAddrIEEE802IDSubtype IEEE802IDSubtype = "MacAddr"
	// NetworkAddrIEEE802IDSubtype Network address, based on an agent-detected network address.
	NetworkAddrIEEE802IDSubtype IEEE802IDSubtype = "NetworkAddr"
	// IfNameIEEE802IDSubtype Interface name, based on the ifName MIB object.
	IfNameIEEE802IDSubtype IEEE802IDSubtype = "IfName"
	// AgentIDIEEE802IDSubtype Agent circuit ID, based on the agent-local identifier of the circuit as defined in
	// RFC3046.
	AgentIDIEEE802IDSubtype IEEE802IDSubtype = "AgentId"
	// LocalAssignIEEE802IDSubtype Locally assigned, based on an alphanumeric value locally assigned.
	LocalAssignIEEE802IDSubtype IEEE802IDSubtype = "LocalAssign"
	// NotTransmittedIEEE802IDSubtype No data to be sent to/received from remote partner.
	NotTransmittedIEEE802IDSubtype IEEE802IDSubtype = "NotTransmitted"
)

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 IPv4 added in v0.16.0

type IPv4 struct {
	// AnycastGatewayIPAddress shall contain the anycast gateway IPv4 address for a host subnet.
	AnycastGatewayIPAddress string
	// AnycastGatewayMACAddress shall contain the anycast gateway MAC address for a host subnet.
	AnycastGatewayMACAddress string
	// DHCP shall contain the primary and secondary Dynamic Host Configuration Protocol (DHCP) server addressing for
	// this Ethernet fabric.
	DHCP DHCP
	// DNSDomainName shall contain the Domain Name Service (DNS) domain name for this Ethernet fabric.
	DNSDomainName string
	// DNSServer shall contain an array of the Domain Name Service (DNS) servers for this Ethernet fabric.
	DNSServer []string
	// DistributeIntoUnderlayEnabled shall indicate whether host subnets are distributed into the fabric underlay.
	DistributeIntoUnderlayEnabled bool
	// EBGPAddressRange shall contain the range of IPv4 addresses assigned to External BGP (eBGP) neighbors belonging
	// to different ASes (Autonomous Systems).
	EBGPAddressRange IPv4AddressRange
	// FabricLinkAddressRange shall contain link-related IPv4 addressing for this Ethernet fabric typically applied to
	// connections between spine and leaf Ethernet switches.
	FabricLinkAddressRange IPv4AddressRange
	// GatewayIPAddress shall contain the gateway IPv4 address for a host subnet.
	GatewayIPAddress string
	// HostAddressRange shall contain the IP subnet range for host addressing for physical device endpoints that
	// connect to this Ethernet fabric. An endpoint shall be allocated an IP address from this host address range. The
	// Ethernet fabric should provide IP unicast or multicast connectivity for host device endpoints belonging to this
	// host address range.
	HostAddressRange IPv4AddressRange
	// IBGPAddressRange shall contain the range of IPv4 addresses assigned to Internal BGP (iBGP) neighbors belonging
	// to the same AS (Autonomous System).
	IBGPAddressRange IPv4AddressRange
	// LoopbackAddressRange shall contain the range of loopback-related IPv4 addresses assigned to this Ethernet
	// fabric's Ethernet switches. A loopback interface provides a stable interface to which an IP address is then
	// assigned. This address can be configured as the source address when the networking device needs to send data for
	// control-plane protocols such as BGP and OSPF.
	LoopbackAddressRange IPv4AddressRange
	// ManagementAddressRange shall contain the range of management IPv4 addresses assigned to manage this Ethernet
	// fabric's Ethernet switches.
	ManagementAddressRange IPv4AddressRange
	// NTPOffsetHoursMinutes shall contain the Network Time Protocol (NTP) offset. The NTP offset property is used to
	// calculate the time from UTC (Universal Time Coordinated) time in hours and minutes.
	NTPOffsetHoursMinutes int
	// NTPServer shall contain an array of the Network Time Protocol (NTP) servers for this Ethernet fabric.
	NTPServer []string
	// NTPTimezone shall contain the Network Time Protocol (NTP) time zone name assigned to this Ethernet fabric.
	NTPTimezone string
	// NativeVLAN shall contain the Virtual LAN (VLAN) ID value for untagged traffic.
	NativeVLAN int
	// SystemMACRange shall contain the Media Access Control (MAC) address range for systems in Ethernet Virtual
	// Private Network (EVPN) based fabrics.
	SystemMACRange SystemMACRange
	// VLANIdentifierAddressRange shall contain Virtual LAN (VLAN) tags for the entire fabric as well as to end hosts.
	VLANIdentifierAddressRange VLANIdentifierAddressRange
}

IPv4 shall contain IPv4 and Virtual LAN (VLAN) addressing-related properties for an Ethernet fabric.

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 IPv4AddressRange added in v0.16.0

type IPv4AddressRange struct {
	// Lower shall contain the lower IPv4 network address to be used as part of a subnet.
	Lower string
	// Upper shall contain the upper IPv4 network address to be used as part of a host subnet.
	Upper string
}

IPv4AddressRange shall contain an IPv4-related address range for an Ethernet fabric.

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 uint8
}

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 uint8
}

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 uint8
}

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 IdlePowerSaver added in v0.16.0

type IdlePowerSaver struct {
	// Enabled shall indicate if idle power saver is enabled.
	Enabled bool
	// EnterDwellTimeSeconds shall contain the duration in seconds the computer system is below the
	// EnterUtilizationPercent value before the idle power save is activated.
	EnterDwellTimeSeconds int
	// EnterUtilizationPercent shall contain the percentage of utilization, typically '0' to '100', when the computer
	// system enters idle power save. If the computer system's utilization goes below this value for the duration
	// specified by EnterDwellTimeSeconds, it shall enter idle power save.
	EnterUtilizationPercent int
	// ExitDwellTimeSeconds shall contain the duration in seconds the computer system is above the
	// ExitUtilizationPercent value before the idle power save is stopped.
	ExitDwellTimeSeconds int
	// ExitUtilizationPercent shall contain the percentage of utilization, typically '0' to '100', when the computer
	// system exits idle power save. If the computer system's utilization goes above this value for the duration
	// specified by ExitDwellTimeSeconds, it shall exit idle power save.
	ExitUtilizationPercent int
}

IdlePowerSaver shall contain the idle power saver settings of a computer system.

type ImageTypes added in v0.16.0

type ImageTypes string
const (
	// DockerV1ImageTypes shall indicate a Docker Image Specification Version 1-defined Docker image.
	DockerV1ImageTypes ImageTypes = "DockerV1"
	// DockerV2ImageTypes shall indicate a Docker Image Manifest Version 2-defined Docker image.
	DockerV2ImageTypes ImageTypes = "DockerV2"
	// OCIImageTypes shall indicate an Open Container Specification-defined OCI (Open Container Initiative) image.
	OCIImageTypes ImageTypes = "OCI"
)

type ImplementationType added in v0.16.0

type ImplementationType string
const (
	// PhysicalSensorImplementationType The reading is acquired from a physical sensor.
	PhysicalSensorImplementationType ImplementationType = "PhysicalSensor"
	// CalculatedImplementationType The metric is implemented by applying a calculation on another metric property. The
	// calculation is specified in the CalculationAlgorithm property.
	CalculatedImplementationType ImplementationType = "Calculated"
	// SynthesizedImplementationType The reading is obtained by applying a calculation on one or more properties or
	// multiple sensors. The calculation is not provided.
	SynthesizedImplementationType ImplementationType = "Synthesized"
	// ReportedImplementationType The reading is obtained from software or a device.
	ReportedImplementationType ImplementationType = "Reported"
	// DigitalMeterImplementationType The metric is implemented as digital meter.
	DigitalMeterImplementationType ImplementationType = "DigitalMeter"
)

type InfiniBand added in v0.16.0

type InfiniBand struct {
	// An array of configured node GUIDs 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.
	AssociatedNodeGUIDs []string
	// An array of configured port GUIDs 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.
	AssociatedPortGUIDs []string
	// An array of configured system GUIDs 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.
	AssociatedSystemGUIDs []string
}

type InfiniBandNetworkDeviceFunction added in v0.16.0

type InfiniBandNetworkDeviceFunction struct {
	// MTUSize The maximum transmission unit (MTU) configured for this network device function.
	MTUSize int
	// NodeGUID shall contain the effective current node GUID of this virtual port of this network device function. If
	// an assignable node GUID is not supported, this is a read-only alias of the PermanentNodeGUID.
	NodeGUID string
	// PermanentNodeGUID shall contain the permanent node GUID of this network device function. Typically, this value
	// is programmed during manufacturing. This address is not assignable.
	PermanentNodeGUID string
	// PermanentPortGUID shall contain the permanent port GUID of this network device function. Typically, this value
	// is programmed during manufacturing. This address is not assignable.
	PermanentPortGUID string
	// PermanentSystemGUID shall contain the permanent system GUID of this network device function. Typically, this
	// value is programmed during manufacturing. This address is not assignable.
	PermanentSystemGUID string
	// PortGUID shall contain the effective current virtual port GUID of this network device function. If an assignable
	// port GUID is not supported, this is a read-only alias of the PermanentPortGUID.
	PortGUID string
	// SupportedMTUSizes shall contain an array of the maximum transmission unit (MTU) sizes supported for this network
	// device function.
	SupportedMTUSizes []int
	// SystemGUID shall contain the effective current system GUID of this virtual port of this network device function.
	// If an assignable system GUID is not supported, this is a read-only alias of the PermanentSystemGUID.
	SystemGUID string
}

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

type InfiniBandProperties added in v0.16.0

type InfiniBandProperties struct {
	// AssociatedNodeGUIDs shall contain an array of configured node GUIDs 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.
	AssociatedNodeGUIDs []string
	// AssociatedPortGUIDs shall contain an array of configured port GUIDs 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.
	AssociatedPortGUIDs []string
	// AssociatedSystemGUIDs shall contain an array of configured system GUIDs 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.
	AssociatedSystemGUIDs []string
}

InfiniBandProperties shall contain InfiniBand-specific properties for a port.

type InitializeMethod added in v0.17.0

type InitializeMethod string
const (
	// BackgroundInitializeMethod volume will be available for use immediately, with data erasure and preparation to happen as background tasks.
	BackgroundInitializeMethod InitializeMethod = "Background"
	// ForegroundInitializeMethod Data erasure and preparation tasks will complete before the volume is presented as available for use.
	ForegroundInitializeMethod InitializeMethod = "Foreground"
	// SkipInitializeMethod volume will be available for use immediately, with no preparation.
	SkipInitializeMethod InitializeMethod = "Skip"
)

type InitializeType added in v0.17.0

type InitializeType string
const (
	// FastInitializeType volume is prepared for use quickly, typically by erasing just the beginning and end of the space so that partitioning can be performed.
	FastInitializeType InitializeType = "Fast"
	// SlowInitializeType volume is prepared for use slowly, typically by completely erasing the volume.
	SlowInitializeType InitializeType = "Slow"
)

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 InstallLicenseParameters added in v0.16.1

type InstallLicenseParameters struct {
	// AuthorizedDevices (optional) parameter shall contain an array of links to the devices to be authorized
	// by the license. Clients can provide this parameter when installing a license to apply the license to
	// specific devices. If not provided when installing a license, the service may determine the devices to
	// which the license applies. This parameter shall not be present if the AuthorizationScope property
	// contains the value `Service`.
	AuthorizedDevices []string `json:",omitempty"`
	// LicenseFileURI shall contain an RFC3986-defined URI that links to a file that the license service
	// retrieves to install the license in that file. This URI should contain a scheme that describes the
	// transfer protocol. If the TransferProtocol parameter is absent or not supported, and a transfer protocol
	// is not specified by a scheme contained within this URI, the service shall use HTTP to get the file.
	LicenseFileURI string
	// Password (optional) shall represent the password to access the URI specified by the LicenseFileURI parameter.
	Password string `json:",omitempty"`
	// TargetServices (optional) shall contain an array of links to resources of type Manager that represent the
	// services where the license will be installed, such as remote Redfish services. This parameter shall only
	// be present in aggregators when the AuthorizationScope property contains `Service` or `Capacity`.
	TargetServices []string `json:",omitempty"`
	// TransferProtocol (optional) is the network protocol that the license service shall use to retrieve the license file
	// located at the LicenseFileURI.  Services should ignore this parameter if the URI provided in LicenseFileURI
	// contains a scheme.  If this parameter is not provided or supported, and if a transfer protocol is not
	// specified by a scheme contained within this URI, the service shall use HTTP to retrieve the file.
	TransferProtocol TransferProtocolType `json:",omitempty"`
	// Username (optional) is the user name to access the URI specified by the LicenseFileURI parameter.
	Username string `json:",omitempty"`
}

type InstructionSet

type InstructionSet string

InstructionSet is the process instruction set used.

const (
	// X86InstructionSet x86 32-bit.
	X86InstructionSet InstructionSet = "x86"
	// X8664InstructionSet 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"
	// RV32InstructionSet RISC-V 32-bit.
	RV32InstructionSet InstructionSet = "RV32"
	// RV64InstructionSet RISC-V 64-bit.
	RV64InstructionSet InstructionSet = "RV64"
	// 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 InterleaveSet added in v0.16.0

type InterleaveSet struct {

	// MemoryLevel shall contain the level of this interleave set for multi-level tiered memory.
	MemoryLevel int
	// OffsetMiB shall contain the offset within the DIMM that corresponds to the start of this memory region, with
	// units in MiB.
	OffsetMiB int
	// RegionID shall contain the DIMM region identifier.
	RegionID string
	// SizeMiB shall contain the size of this memory region, with units in MiB.
	SizeMiB int
	// contains filtered or unexported fields
}

InterleaveSet shall describe an interleave set of which the memory chunk is a part.

func (*InterleaveSet) Memory added in v0.16.0

func (interleaveset *InterleaveSet) Memory(c common.Client) (*Memory, error)

Memory gets the associated memory device.

func (*InterleaveSet) UnmarshalJSON added in v0.17.0

func (interleaveset *InterleaveSet) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a InterleaveSet object from the raw JSON.

type InternalMemoryMetrics added in v0.16.0

type InternalMemoryMetrics struct {
	// CurrentPeriod shall contain properties that describe the metrics for the current period of memory for this
	// switch.
	CurrentPeriod SwitchMetricCurrentPeriod
	// LifeTime shall contain properties that describe the metrics for the lifetime of memory for this switch.
	LifeTime SwitchMetricLifeTime
}

InternalMemoryMetrics shall contain properties that describe the memory metrics for a switch.

type IntrusionSensor added in v0.5.0

type IntrusionSensor string
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 Job added in v0.15.0

type Job struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// CreatedBy shall contain the user name, software program name,
	// or other identifier indicating the creator of this job.
	CreatedBy string
	// Description provides a description of this resource.
	Description string
	// EndTime shall indicate the date and time when the job was completed.
	// This property shall not appear if the job is running or was not
	// completed.  This property shall appear only if the JobState is
	// Completed, Cancelled, or Exception.
	EndTime string
	// EstimatedDuration shall indicate the estimated total time needed to
	// complete the job. The value is not expected to change while the job is
	// in progress, but the service may update the value if it obtains new
	// information that significantly changes the expected duration.
	// Services should be conservative in the reported estimate and clients
	// should treat this value as an estimate.
	EstimatedDuration string
	// HidePayload shall indicate whether the contents of the payload should
	// be hidden from view after the job has been created. If 'true',
	// responses shall not return the Payload property. If 'false',
	// responses shall return the Payload property.
	// If this property is not present when the job is created,
	// the default is 'false'.
	HidePayload bool
	// JobState shall indicate the state of the job.
	JobState JobState
	// JobStatus shall indicate the health status of the job.
	// This property should contain 'Critical' if one or more messages in the
	// Messages array contains the severity 'Critical'.
	// This property should contain 'Warning' if one or more messages in the
	// Messages array contains the severity 'Warning' and no messages contain
	// the severity 'Critical'.
	// This property should contain 'OK' if all messages in the Messages
	// array contain the severity 'OK' or the array is empty.
	JobStatus common.Health
	// MaxExecutionTime shall be an ISO 8601 conformant duration describing
	// the maximum duration the job is allowed to execute before being
	// stopped by the service.
	MaxExecutionTime string
	// Messages shall contain an array of messages associated with the job.
	Messages []common.Message
	// Payload shall contain the HTTP and JSON payload information for
	// executing this job. This property shall not be included in the
	// response if the HidePayload property is 'true'.
	Payload JobPayload
	// PercentComplete shall indicate the completion progress of the job,
	// reported in percent of completion. If the job has not been started,
	// the value shall be zero.
	PercentComplete int
	// Schedule shall contain the scheduling details for this job and the
	// recurrence frequency for future instances of this job.
	Schedule common.Schedule
	// StartTime shall indicate the date and time when the job was last
	// started or is scheduled to start.
	StartTime string
	// StepOrder shall contain an array of IDs for the job steps in the order
	// that they shall be executed.
	// Each step shall be completed prior to the execution of the next step
	// in array order. An incomplete list of steps shall be considered an
	// invalid configuration. If this property is not present or contains an
	// empty array it shall indicate that the step execution order is omitted
	// and may occur in parallel or in series as determined by the service.
	StepOrder []string
	// contains filtered or unexported fields
}

Job shall contain a job in a Redfish implementation.

func GetJob added in v0.15.0

func GetJob(c common.Client, uri string) (*Job, error)

GetJob will get a Job instance from the service.

func ListReferencedJobs added in v0.15.0

func ListReferencedJobs(c common.Client, link string) ([]*Job, error)

ListReferencedJobs gets the collection of Job from a provided reference.

func (*Job) Steps added in v0.16.0

func (job *Job) Steps() ([]*Job, error)

Steps gets the collection of steps for this job.

func (*Job) UnmarshalJSON added in v0.15.0

func (job *Job) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Job object from the raw JSON.

type JobPayload added in v0.15.0

type JobPayload struct {
	// HTTPHeaders shall contain an array of HTTP headers in this Job.
	HTTPHeaders []string `json:"HttpHeaders"`
	// HTTPOperation shall contain the HTTP operation that executes this Job.
	HTTPOperation string `json:"HttpOperation"`
	// JsonBody shall contain JSON-formatted payload for this Job.
	JSONBody string `json:"JsonBody"`
	// TargetUri shall contain link to a target location for an HTTP operation.
	TargetURI string `json:"TargetUri"`
}

JobPayload shall contain information detailing the HTTP and JSON payload information for executing this Job.

type JobService added in v0.15.0

type JobService 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 contain the current date and time setting for the job
	// service.
	DateTime time.Time
	// Description provides a description of this resource.
	Description string

	// ServiceCapabilities shall contain properties that describe the
	// capabilities or supported features of this implementation of a job
	// service.
	ServiceCapabilities JobServiceCapabilities
	// ServiceEnabled shall indicate 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
}

JobService shall represent a job service for a Redfish implementation.

func GetJobService added in v0.15.0

func GetJobService(c common.Client, uri string) (*JobService, error)

GetJobService will get a JobService instance from the service.

func (*JobService) Jobs added in v0.15.0

func (jobservice *JobService) Jobs() ([]*Job, error)

Jobs gets the collection of jobs of this job service

func (*JobService) Log added in v0.15.0

func (jobservice *JobService) Log() (*LogService, error)

Log gets the LogService instance for this job service

func (*JobService) UnmarshalJSON added in v0.15.0

func (jobservice *JobService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a JobService object from the raw JSON.

type JobServiceCapabilities added in v0.15.0

type JobServiceCapabilities struct {
	// MaxJobs shall contain the maximum number of jobs supported by the
	// implementation.
	MaxJobs int
	// MaxSteps shall contain the maximum number of steps supported by a
	// single job instance.
	MaxSteps int
	// Scheduling shall indicate whether the Schedule property within the job
	// supports scheduling of jobs.
	Scheduling bool
}

JobServiceCapabilities shall contain properties that describe the capabilities or supported features of this implementation of a job service.

type JobState added in v0.15.0

type JobState string

JobState indicates the state of a job.

const (
	// NewJobState shall represent that this job is newly created but the
	// operation has not yet started.
	NewJobState JobState = "New"
	// StartingJobState shall represent that the operation is starting.
	StartingJobState JobState = "Starting"
	// RunningJobState shall represent that the operation is executing.
	RunningJobState JobState = "Running"
	// SuspendedJobState shall represent that the operation has been
	// suspended but is expected to restart and is therefore not complete.
	SuspendedJobState JobState = "Suspended"
	// InterruptedJobState shall represent that the operation has been
	// interrupted but is expected to restart and is therefore not complete.
	InterruptedJobState JobState = "Interrupted"
	// PendingJobState shall represent that the operation is pending some
	// condition and has not yet begun to execute.
	PendingJobState JobState = "Pending"
	// StoppingJobState shall represent that the operation is stopping but is
	// not yet complete.
	StoppingJobState JobState = "Stopping"
	// CompletedJobState shall represent that the operation completed
	// successfully or with warnings.
	CompletedJobState JobState = "Completed"
	// CancelledJobState shall represent that the operation completed because
	// the job was cancelled by an operator.
	CancelledJobState JobState = "Cancelled"
	// ExceptionJobState shall represent that the operation completed with
	// errors.
	ExceptionJobState JobState = "Exception"
	// ServiceJobState shall represent that the operation is now running as a
	// service and expected to continue operation until stopped or killed.
	ServiceJobState JobState = "Service"
	// UserInterventionJobState shall represent that the operation is waiting
	// for a user to intervene and needs to be manually continued, stopped,
	// or cancelled.
	UserInterventionJobState JobState = "UserIntervention"
	// ContinueJobState shall represent that the operation has been resumed
	// from a paused condition and should return to a Running state.
	ContinueJobState JobState = "Continue"
)

type KMIPCachePolicy added in v0.16.0

type KMIPCachePolicy string
const (
	// NoneKMIPCachePolicy The system does not cache KMIP data.
	NoneKMIPCachePolicy KMIPCachePolicy = "None"
	// AfterFirstUseKMIPCachePolicy The system caches KMIP data after first use for the duration specified by the
	// CacheDuration property.
	AfterFirstUseKMIPCachePolicy KMIPCachePolicy = "AfterFirstUse"
)

type KMIPServer added in v0.16.0

type KMIPServer struct {
	// Address shall contain the KMIP server address.
	Address string
	// CacheDuration shall contain the duration that the system caches KMIP data.
	CacheDuration string
	// CachePolicy shall contain the cache policy to control how KMIP data is cached.
	CachePolicy KMIPCachePolicy
	// Password shall contain the password to access the KMIP server. The value shall be 'null' in responses.
	Password string
	// Port shall contain the KMIP server port.
	Port int
	// Username shall contain the username to access the KMIP server.
	Username string
}

KMIPServer shall contain the KMIP server settings for a computer system.

type Kernel added in v0.16.0

type Kernel struct {
	common.Entity
	// Machine shall contain the machine hardware name of the kernel. For strict POSIX operating systems, the value
	// shall contain the output of 'uname -m'.
	Machine string
	// Release shall contain the release of the kernel. For strict POSIX operating systems, the value shall contain the
	// output of 'uname -r'. For Microsoft Windows, the value shall contain the decimal-delimited version from the
	// output of 'ver', from Command Prompt, within the square braces ('[' and ']'), following the regular expression
	// '^\d+\.\d+\.\d+\.\d+$'.
	Release string
	// Version shall contain the version of the kernel. For strict POSIX operating systems, the value shall contain the
	// output of 'uname -v'.
	Version string
}

Kernel shall contain the kernel information for an operating system.

type Key added in v0.16.0

type Key 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
	// KeyString shall contain the key, and the format shall follow the requirements specified by the KeyType property
	// value.
	KeyString string
	// KeyType shall contain the format type for the key.
	KeyType KeyType
	// NVMeoF shall contain NVMe-oF specific properties for this key. This property shall be present if KeyType
	// contains the value 'NVMeoF'.
	NVMeoF KeyNVMeoF
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SSH shall contain SSH specific properties for this key. This property shall be present if KeyType contains the
	// value 'SSH'.
	SSH SSHType
	// UserDescription shall contain a user-provided string that describes the key.
	UserDescription string
	// contains filtered or unexported fields
}

Key shall represent a key for a Redfish implementation.

func GetKey added in v0.16.0

func GetKey(c common.Client, uri string) (*Key, error)

GetKey will get a Key instance from the service.

func ListReferencedKeys added in v0.16.0

func ListReferencedKeys(c common.Client, link string) ([]*Key, error)

ListReferencedKeys gets the collection of Key from a provided reference.

func (*Key) UnmarshalJSON added in v0.16.0

func (key *Key) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Key object from the raw JSON.

func (*Key) Update added in v0.16.0

func (key *Key) Update() error

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

type KeyManagement added in v0.16.0

type KeyManagement struct {

	// KMIPServers shall contain the KMIP servers to which this computer system is subscribed for key management.
	KMIPServers []KMIPServer
	// contains filtered or unexported fields
}

KeyManagement shall contain the key management settings of a computer system.

func (*KeyManagement) UnmarshalJSON added in v0.16.0

func (keymanagement *KeyManagement) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a KeyManagement object from the raw JSON.

type KeyNVMeoF added in v0.16.0

type KeyNVMeoF struct {
	// HostKeyID shall contain the value of the ID property of the Key resource representing the host key paired with
	// this target key. An empty string shall indicate the key is not paired. This property shall be absent for host
	// keys.
	HostKeyID string
	// NQN shall contain the NVMe Qualified Name (NQN) of the host or target subsystem associated with this key. The
	// value of this property shall follow the NQN format defined by the NVMe Base Specification.
	NQN string
	// OEMSecurityProtocolType shall contain the OEM-defined security protocol that this key uses. The value shall be
	// derived from the contents of the KeyString property. This property shall be present if SecurityProtocolType
	// contains the value 'OEM'.
	OEMSecurityProtocolType string
	// SecureHashAllowList shall contain the secure hash algorithms allowed with the usage of this key. An empty list
	// or the absence of this property shall indicate any secure hash algorithms are allowed with this key.
	SecureHashAllowList []NVMeoFSecureHashType
	// SecurityProtocolType shall contain the security protocol that this key uses. The value shall be derived from the
	// contents of the KeyString property.
	SecurityProtocolType NVMeoFSecurityProtocolType
}

KeyNVMeoF shall contain NVMe-oF specific properties for a key.

type KeyPolicy added in v0.16.0

type KeyPolicy 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
	// IsDefault shall indicate if this key policy is the policy applied when no other policies are specified.
	IsDefault bool
	// KeyPolicyType shall contain the type of key policy.
	KeyPolicyType KeyPolicyType
	// NVMeoF shall contain NVMe-oF specific properties for this key policy. This property shall be present if
	// KeyPolicyType contains the value 'NVMeoF'.
	NVMeoF NVMeoF
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// contains filtered or unexported fields
}

KeyPolicy shall represent a key policy for a Redfish implementation.

func GetKeyPolicy added in v0.16.0

func GetKeyPolicy(c common.Client, uri string) (*KeyPolicy, error)

GetKeyPolicy will get a KeyPolicy instance from the service.

func ListReferencedKeyPolicys added in v0.16.0

func ListReferencedKeyPolicys(c common.Client, link string) ([]*KeyPolicy, error)

ListReferencedKeyPolicys gets the collection of KeyPolicy from a provided reference.

func (*KeyPolicy) UnmarshalJSON added in v0.16.0

func (keypolicy *KeyPolicy) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a KeyPolicy object from the raw JSON.

func (*KeyPolicy) Update added in v0.16.0

func (keypolicy *KeyPolicy) Update() error

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

type KeyPolicyType added in v0.16.0

type KeyPolicyType string
const (
	// NVMeoFKeyPolicyType shall indicate the key policy is for an NVMe-oF key.
	NVMeoFKeyPolicyType KeyPolicyType = "NVMeoF"
)

type KeyService added in v0.16.0

type KeyService 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

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// contains filtered or unexported fields
}

KeyService shall represent the key service properties for a Redfish implementation.

func GetKeyService added in v0.16.0

func GetKeyService(c common.Client, uri string) (*KeyService, error)

GetKeyService will get a KeyService instance from the service.

func ListReferencedKeyServices added in v0.16.0

func ListReferencedKeyServices(c common.Client, link string) ([]*KeyService, error)

ListReferencedKeyServices gets the collection of KeyService from a provided reference.

func (*KeyService) NVMeoFKeyPolicies added in v0.16.0

func (keyservice *KeyService) NVMeoFKeyPolicies() ([]*KeyPolicy, error)

NVMeoFKeyPolicies gets the NVMe-oF key policies maintained by this service.

func (*KeyService) NVMeoFSecrets added in v0.16.0

func (keyservice *KeyService) NVMeoFSecrets() ([]*Key, error)

NVMeofSecrets gets the NVMe-oF keys maintained by this service.

func (*KeyService) UnmarshalJSON added in v0.16.0

func (keyservice *KeyService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a KeyService object from the raw JSON.

type KeyType added in v0.16.0

type KeyType string
const (
	// NVMeoFKeyType shall indicate the format of the key is defined by one of the NVMe specifications.
	NVMeoFKeyType KeyType = "NVMeoF"
	// SSHKeyType shall indicate the format of the key is defined by one of the SSH public key formats as defined in,
	// but not limited to, RFC4253, RFC4716, or RFC8709.
	SSHKeyType KeyType = "SSH"
)

type KeyUsageExtension added in v0.15.0

type KeyUsageExtension string
const (
	// TLS WWW client authentication.
	ClientAuthenticationKeyUsageExtension KeyUsageExtension = "ClientAuthentication"
	// Signs downloadable executable code.
	CodeSigningKeyUsageExtension KeyUsageExtension = "CodeSigning"
	// Verifies signatures on certificate revocation lists (CRLs).
	CRLSigningKeyUsageExtension KeyUsageExtension = "CRLSigning"
	// Directly enciphers raw user data without an intermediate symmetric cipher.
	DataEnciphermentKeyUsageExtension KeyUsageExtension = "DataEncipherment"
	// Deciphers data while performing a key agreement.
	DecipherOnlyKeyUsageExtension KeyUsageExtension = "DecipherOnly"
	// Verifies digital signatures, other than signatures on certificates and CRLs.
	DigitalSignatureKeyUsageExtension KeyUsageExtension = "DigitalSignature"
	// Email protection.
	EmailProtectionKeyUsageExtension KeyUsageExtension = "EmailProtection"
	// Enciphers data while performing a key agreement.
	EncipherOnlyKeyUsageExtension KeyUsageExtension = "EncipherOnly"
	// Key agreement.
	KeyAgreementKeyUsageExtension KeyUsageExtension = "KeyAgreement"
	// Verifies signatures on public key certificates.
	KeyCertSignKeyUsageExtension KeyUsageExtension = "KeyCertSign"
	// Enciphers private or secret keys.
	KeyEnciphermentKeyUsageExtension KeyUsageExtension = "KeyEncipherment"
	// Verifies digital signatures, other than signatures on certificates and CRLs,
	// and provides a non-repudiation service that protects against the signing entity falsely denying some action.
	NonRepudiationKeyUsageExtension KeyUsageExtension = "NonRepudiation"
	// Signs OCSP responses.
	OCSPSigningKeyUsageExtension KeyUsageExtension = "OCSPSigning"
	// TLS WWW server authentication.
	ServerAuthenticationKeyUsageExtension KeyUsageExtension = "ServerAuthentication"
	// Binds the hash of an object to a time.
	TimestampingKeyUsageExtension KeyUsageExtension = "Timestamping"
)

type LBAFormat added in v0.16.0

type LBAFormat struct {
	// LBADataSizeBytes shall be the LBA data size reported in bytes.
	LBADataSizeBytes int
	// LBAFormatType shall be the LBA format type. This property is intended for capabilities instrumentation.
	LBAFormatType string
	// LBAMetadataSizeBytes shall be the LBA metadata size reported in bytes.
	LBAMetadataSizeBytes int
	// RelativePerformance shall be the LBA Relative Performance type. This field indicates the relative performance of
	// the LBA format indicated relative to other LBA formats supported by the controller. This property is intended
	// for capabilities instrumentation.
	RelativePerformance string
}

type LDAPSearchSettings added in v0.16.0

type LDAPSearchSettings struct {
	// BaseDistinguishedNames shall contain an array of base distinguished names to use to search an external LDAP
	// service.
	BaseDistinguishedNames []string
	// EmailAttribute shall contain the attribute name that contains the LDAP user's email address. If this value is
	// not set by the user, or the property is not present, the value shall be 'mail'.
	EmailAttribute string
	// GroupNameAttribute shall contain the attribute name that contains the LDAP group name.
	GroupNameAttribute string
	// GroupsAttribute shall contain the attribute name that contains the groups for an LDAP user entry.
	GroupsAttribute string
	// SSHKeyAttribute shall contain the attribute name that contains the LDAP user's SSH public key.
	SSHKeyAttribute string
	// UsernameAttribute shall contain the attribute name that contains the LDAP user name.
	UsernameAttribute string
}

LDAPSearchSettings shall contain all required settings to search a generic LDAP service.

type LDAPService added in v0.16.0

type LDAPService struct {
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SearchSettings shall contain the required settings to search an external LDAP service.
	SearchSettings LDAPSearchSettings
}

LDAPService shall contain all required settings to parse a generic LDAP service.

type LLDPReceive added in v0.16.0

type LLDPReceive struct {
	// ChassisID shall contain the chassis ID received from the remote partner across this link. If no such chassis ID
	// has been received, this property should not be present.
	ChassisID string
	// ChassisIDSubtype shall contain the IEEE 802.1AB-2009 chassis ID subtype received from the remote partner across
	// this link. If no such chassis ID subtype has been received, this property should not be present.
	ChassisIDSubtype IEEE802IDSubtype
	// ManagementAddressIPv4 shall contain the IPv4 management address received from the remote partner across this
	// link. If no such management address has been received, this property should not be present.
	ManagementAddressIPv4 string
	// ManagementAddressIPv6 shall contain the IPv6 management address received from the remote partner across this
	// link. If no such management address has been received, this property should not be present.
	ManagementAddressIPv6 string
	// ManagementAddressMAC shall contain the management MAC address received from the remote partner across this link.
	// If no such management address has been received, this property should not be present.
	ManagementAddressMAC string
	// ManagementVlanID shall contain the management VLAN ID received from the remote partner across this link. If no
	// such management VLAN ID has been received, this property should not be present.
	ManagementVlanID int
	// PortID shall contain a colon-delimited string of hexadecimal octets identifying the port received from the
	// remote partner across this link. If no such port ID has been received, this property should not be present.
	PortID string
	// PortIDSubtype shall contain the port ID subtype from IEEE 802.1AB-2009 Table 8-3 received from the remote
	// partner across this link. If no such port ID subtype has been received, this property should not be present.
	PortIDSubtype IEEE802IDSubtype
	// SystemCapabilities shall contain the system capabilities received from the remote partner across this link. If
	// no such system capabilities have been received, this property shall not be present. This property shall not
	// contain the value 'None'.
	SystemCapabilities []LLDPSystemCapabilities
	// SystemDescription shall contain the system description received from the remote partner across this link. If no
	// such system description has been received, this property shall not be present.
	SystemDescription string
	// SystemName shall contain the system name received from the remote partner across this link. If no such system
	// name has been received, this property shall not be present.
	SystemName string
}

LLDPReceive shall contain the LLDP data from the remote partner across this link.

type LLDPSystemCapabilities added in v0.16.0

type LLDPSystemCapabilities string
const (
	// NoneLLDPSystemCapabilities shall indicate the system capabilities are transmitted, but no capabilities are set.
	NoneLLDPSystemCapabilities LLDPSystemCapabilities = "None"
	// BridgeLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'bridge' capability.
	BridgeLLDPSystemCapabilities LLDPSystemCapabilities = "Bridge"
	// DOCSISCableDeviceLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'DOCSIS cable device' capability.
	DOCSISCableDeviceLLDPSystemCapabilities LLDPSystemCapabilities = "DOCSISCableDevice"
	// OtherLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'other' capability.
	OtherLLDPSystemCapabilities LLDPSystemCapabilities = "Other"
	// RepeaterLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'repeater' capability.
	RepeaterLLDPSystemCapabilities LLDPSystemCapabilities = "Repeater"
	// RouterLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'router' capability.
	RouterLLDPSystemCapabilities LLDPSystemCapabilities = "Router"
	// StationLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'station' capability.
	StationLLDPSystemCapabilities LLDPSystemCapabilities = "Station"
	// TelephoneLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'telephone' capability.
	TelephoneLLDPSystemCapabilities LLDPSystemCapabilities = "Telephone"
	// WLANAccessPointLLDPSystemCapabilities shall indicate the IEEE802.1AB-defined 'WLAN access point' capability.
	WLANAccessPointLLDPSystemCapabilities LLDPSystemCapabilities = "WLANAccessPoint"
)

type LLDPTransmit added in v0.16.0

type LLDPTransmit struct {
	// ChassisID shall contain the chassis ID to be transmitted from this endpoint. If no such chassis ID is to be
	// transmitted, this value shall be an empty string.
	ChassisID string
	// ChassisIDSubtype shall contain the IEEE 802.1AB-2009 chassis ID subtype to be transmitted from this endpoint. If
	// no such chassis ID subtype is to be transmitted, this value shall be 'NotTransmitted'.
	ChassisIDSubtype IEEE802IDSubtype
	// ManagementAddressIPv4 shall contain the IPv4 management address to be transmitted from this endpoint. If no such
	// management address is to be transmitted, this value shall be an empty string.
	ManagementAddressIPv4 string
	// ManagementAddressIPv6 shall contain the IPv6 management address to be transmitted from this endpoint. If no such
	// management address is to be transmitted, this value shall be an empty string.
	ManagementAddressIPv6 string
	// ManagementAddressMAC shall contain the management MAC address to be transmitted from this endpoint. If no such
	// management address is to be transmitted, this value shall be an empty string.
	ManagementAddressMAC string
	// ManagementVlanID shall contain the management VLAN ID to be transmitted from this endpoint. If no such port ID
	// is to be transmitted, this value shall be '4095'.
	ManagementVlanID int
	// PortID shall contain a colon-delimited string of hexadecimal octets identifying the port for an LLDP endpoint.
	// If no such port ID is to be transmitted, this value shall be an empty string.
	PortID string
	// PortIDSubtype shall contain the port ID subtype from IEEE 802.1AB-2009 Table 8-3 to be transmitted from this
	// endpoint. If no such port ID subtype is to be transmitted, this value shall be 'NotTransmitted'.
	PortIDSubtype IEEE802IDSubtype
	// SystemCapabilities shall contain the system capabilities to be transmitted from this endpoint. If no such system
	// capabilities are to be transmitted, this value shall be an empty array. If this property contains the value
	// 'None', an empty set of system capabilities is transmitted from this endpoint.
	SystemCapabilities []LLDPSystemCapabilities
	// SystemDescription shall contain the system description to be transmitted from this endpoint. If no such system
	// description is to be transmitted, this value shall be an empty string.
	SystemDescription string
	// SystemName shall contain the system name to be transmitted from this endpoint. If no such system name is to be
	// transmitted, this value shall be an empty string.
	SystemName string
}

LLDPTransmit shall contain the LLDP data to be transmitted from this endpoint.

type LaneSplittingType added in v0.16.0

type LaneSplittingType string
const (
	// NoneLaneSplittingType The slot has no lane splitting.
	NoneLaneSplittingType LaneSplittingType = "None"
	// BridgedLaneSplittingType The slot has a bridge to share the lanes with associated devices.
	BridgedLaneSplittingType LaneSplittingType = "Bridged"
	// BifurcatedLaneSplittingType The slot is bifurcated to split the lanes with associated devices.
	BifurcatedLaneSplittingType LaneSplittingType = "Bifurcated"
)

type LeakDetection added in v0.16.0

type LeakDetection 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
	// LeakDetectorGroups shall contain an array of leak detection groups.
	LeakDetectorGroups []LeakDetectorGroup

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

LeakDetection shall represent the leak detection functionality present in a service for a Redfish implementation.

func GetLeakDetection added in v0.16.0

func GetLeakDetection(c common.Client, uri string) (*LeakDetection, error)

GetLeakDetection will get a LeakDetection instance from the service.

func ListReferencedLeakDetections added in v0.16.0

func ListReferencedLeakDetections(c common.Client, link string) ([]*LeakDetection, error)

ListReferencedLeakDetections gets the collection of LeakDetection from a provided reference.

func (*LeakDetection) LeakDetectors added in v0.16.0

func (leakdetection *LeakDetection) LeakDetectors() ([]*LeakDetector, error)

LeakDetectors gets the leak detectors within this subsystem.

func (*LeakDetection) UnmarshalJSON added in v0.16.0

func (leakdetection *LeakDetection) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a LeakDetection object from the raw JSON.

type LeakDetector added in v0.16.0

type LeakDetector 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
	// DetectorState shall contain the state of the leak detector.
	DetectorState common.Health
	// LeakDetectorType shall contain the reading type of the leak detection sensor.
	LeakDetectorType LeakDetectorType
	// Location shall indicate the location information for this leak detector.
	Location common.Location
	// Manufacturer shall contain the name of the organization responsible for producing the leak detector. This
	// organization may be the entity from whom the leak detector is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the name by which the manufacturer generally refers to the leak detector.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain a part number assigned by the organization that is responsible for producing or
	// manufacturing the leak detector.
	PartNumber string
	// PhysicalContext shall contain a description of the affected component or region within the equipment to which
	// this leak detector applies.
	PhysicalContext PhysicalContext
	// PhysicalSubContext shall contain a description of the usage or sub-region within the equipment to which this
	// leak detector applies. This property generally differentiates multiple leak detectors within the same
	// PhysicalContext instance.
	PhysicalSubContext PhysicalSubContext
	// SKU shall contain the stock-keeping unit number for this leak detector.
	SKU string
	// SensingFrequency shall contain the time interval between readings of the physical leak detector.
	SensingFrequency float64
	// SerialNumber shall contain a manufacturer-allocated number that identifies the leak detector.
	SerialNumber string
	// SparePartNumber shall contain the spare part number of the leak detector.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
}

LeakDetector shall represent a state-based or digital-value leak detector for a Redfish implementation.

func GetLeakDetector added in v0.16.0

func GetLeakDetector(c common.Client, uri string) (*LeakDetector, error)

GetLeakDetector will get a LeakDetector instance from the service.

func ListReferencedLeakDetectors added in v0.16.0

func ListReferencedLeakDetectors(c common.Client, link string) ([]*LeakDetector, error)

ListReferencedLeakDetectors gets the collection of LeakDetector from a provided reference.

type LeakDetectorArrayExcerpt added in v0.16.0

type LeakDetectorArrayExcerpt struct {
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string
	// DetectorState shall contain the state of the leak detector.
	DetectorState common.Health
	// PhysicalContext shall contain a description of the affected component or region within the equipment to which
	// this leak detector applies.
	PhysicalContext PhysicalContext
	// PhysicalSubContext shall contain a description of the usage or sub-region within the equipment to which this
	// leak detector applies. This property generally differentiates multiple leak detectors within the same
	// PhysicalContext instance.
	PhysicalSubContext PhysicalSubContext
}

LeakDetectorArrayExcerpt shall represent a state-based or digital-value leak detector for a Redfish implementation.

type LeakDetectorExcerpt added in v0.16.0

type LeakDetectorExcerpt struct {
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string
	// DetectorState shall contain the state of the leak detector.
	DetectorState common.Health
}

LeakDetectorExcerpt shall represent a state-based or digital-value leak detector for a Redfish implementation.

type LeakDetectorGroup added in v0.16.0

type LeakDetectorGroup struct {
	// Detectors shall contain the states of all leak detection devices in this detector group. The value of the
	// DataSourceUri property, if present, shall reference a resource of type LeakDetector.
	Detectors []LeakDetectorArrayExcerpt
	// Detectors@odata.count
	DetectorsCount int `json:"Detectors@odata.count"`
	// GroupName shall contain the name used to describe this group of leak detectors and related equipment.
	GroupName string
	// HumidityPercent shall contain the humidity, in percent units, for this resource. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Humidity'.
	HumidityPercent SensorExcerpt
}

LeakDetectorGroup shall contain a group of leak detection equipment that reports a unified status.

type LeakDetectorType added in v0.16.0

type LeakDetectorType string
const (
	// MoistureLeakDetectorType A moisture sensor.
	MoistureLeakDetectorType LeakDetectorType = "Moisture"
	// FloatSwitchLeakDetectorType A float switch.
	FloatSwitchLeakDetectorType LeakDetectorType = "FloatSwitch"
)

type License added in v0.16.0

type License 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"`
	// AuthorizationScope shall contain the authorization scope of the license.
	AuthorizationScope AuthorizationScope
	// Contact shall contain an object containing information about the contact of the license.
	Contact ContactInfo
	// Description provides a description of this resource.
	Description string
	// DownloadURI shall contain the URI from which to download the license file, using the Redfish protocol and
	// authentication methods. The service provides this URI for the download of the OEM-specific binary file of
	// license data. An HTTP GET from this URI shall return a response payload of MIME type 'application/octet-stream'.
	DownloadURI string
	// EntitlementID shall contain the entitlement identifier for this license, used to display a license key, partial
	// license key, or other value used to identify or differentiate license instances.
	EntitlementID string
	// ExpirationDate shall contain the date and time when the license expires.
	ExpirationDate string
	// GracePeriodDays shall contain the number of days that the license is still usable after the date and time
	// specified by the ExpirationDate property.
	GracePeriodDays int
	// InstallDate shall contain the date and time when the license was installed.
	InstallDate string
	// LicenseInfoURI shall contain the URI at which to provide more information about the license. The information
	// provided at the URI is intended to be general product-related and not tied to a specific user, customer, or
	// license instance.
	LicenseInfoURI string
	// LicenseOrigin shall contain the origin for the license.
	LicenseOrigin LicenseOrigin
	// LicenseString shall contain the Base64-encoded string of the license. This property shall not appear in response
	// payloads.
	LicenseString string
	// LicenseType shall contain the type for the license.
	LicenseType LicenseType
	// Manufacturer shall represent the name of the manufacturer or producer of this license.
	Manufacturer string
	// MaxAuthorizedDevices shall contain the maximum number of devices that are authorized by the license. This
	// property shall only be present if the AuthorizationScope property contains the value 'Capacity'.
	MaxAuthorizedDevices int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the manufacturer-provided part number for the license.
	PartNumber string
	// RemainingDuration shall contain the remaining usage duration before the license expires. This property shall
	// only be present for licenses that are based on usage time.
	RemainingDuration string
	// RemainingUseCount shall contain the remaining usage count before the license expires. This property shall only
	// be present for licenses that are based on usage count.
	RemainingUseCount int
	// Removable shall indicate whether a user can remove the license with an HTTP DELETE operation.
	Removable bool
	// SKU shall contain the SKU number for this license.
	SKU string
	// SerialNumber shall contain a manufacturer-allocated number that identifies the license.
	SerialNumber string
	// Status shall contain the status of license.
	Status common.Status

	// AuthorizedDevices shall contain an array of links to the devices that are authorized by the license.
	AuthorizedDevices []string
	// AuthorizedDevicesCount is the number of authorized devices.
	AuthorizedDevicesCount int

	// TargetServicesCount is the number of target services where the license is installed.
	TargetServicesCount int
	// contains filtered or unexported fields
}

License shall represent a license for a Redfish implementation.

func GetLicense added in v0.16.0

func GetLicense(c common.Client, uri string) (*License, error)

GetLicense will get a License instance from the service.

func ListReferencedLicenses added in v0.16.0

func ListReferencedLicenses(c common.Client, link string) ([]*License, error)

ListReferencedLicenses gets the collection of License from a provided reference.

func (*License) TargetServices added in v0.16.0

func (license *License) TargetServices() ([]*Manager, error)

TargetServices gets a set of Manager objects that represent the services where the license is installed, such as remote Redfish services.

func (*License) UnmarshalJSON added in v0.16.0

func (license *License) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a License object from the raw JSON.

type LicenseOrigin added in v0.16.0

type LicenseOrigin string
const (
	// BuiltInLicenseOrigin A license was provided with the product.
	BuiltInLicenseOrigin LicenseOrigin = "BuiltIn"
	// InstalledLicenseOrigin A license installed by user.
	InstalledLicenseOrigin LicenseOrigin = "Installed"
)

type LicenseService added in v0.16.0

type LicenseService 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
	// LicenseExpirationWarningDays shall contain the number of days prior to a license expiration that the service
	// shall send the 'DaysBeforeExpiration' message from the License Message Registry at least once. A value of zero
	// shall indicate that no warning messages are sent prior to license expiration.
	LicenseExpirationWarningDays int

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ServiceEnabled shall indicate whether this service is enabled.
	ServiceEnabled bool
	// contains filtered or unexported fields
}

LicenseService shall represent a license service and the properties that affect the service itself for a Redfish implementation.

func GetLicenseService added in v0.16.0

func GetLicenseService(c common.Client, uri string) (*LicenseService, error)

GetLicenseService will get a LicenseService instance from the service.

func ListReferencedLicenseServices added in v0.16.0

func ListReferencedLicenseServices(c common.Client, link string) ([]*LicenseService, error)

ListReferencedLicenseServices gets the collection of LicenseService from a provided reference.

func (*LicenseService) Install added in v0.16.1

func (licenseservice *LicenseService) Install(parameters *InstallLicenseParameters) error

Install will install one or more licenses from a remote file. The service may update an existing License resource.

func (*LicenseService) Licenses added in v0.16.0

func (licenseservice *LicenseService) Licenses() ([]*License, error)

Licenses gets the set of installed licenses.

func (*LicenseService) UnmarshalJSON added in v0.16.0

func (licenseservice *LicenseService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a LicenseService object from the raw JSON.

func (*LicenseService) Update added in v0.16.0

func (licenseservice *LicenseService) Update() error

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

type LicenseType added in v0.16.0

type LicenseType string
const (
	// ProductionLicenseType shall indicate a license purchased or obtained for use in production environments.
	ProductionLicenseType LicenseType = "Production"
	// PrototypeLicenseType shall indicate a license that is designed for development or internal use.
	PrototypeLicenseType LicenseType = "Prototype"
	// TrialLicenseType shall indicate a trial version of a license.
	TrialLicenseType LicenseType = "Trial"
)

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
	// CorrectableECCErrorCount shall contain the number of correctable errors for the lifetime of the memory. When
	// this resource is subordinate to the MemorySummary object, this property shall be the sum of
	// CorrectableECCErrorCount over all memory.
	CorrectableECCErrorCount int
	// IndeterminateCorrectableErrorCount shall contain the number of indeterminate correctable errors for the lifetime
	// of the memory. Since the error origin is indeterminate, the same error can be duplicated across multiple
	// MemoryMetrics resources. When this resource is subordinate to the MemorySummary object, this property shall be
	// the sum of indeterminate correctable errors across all memory without duplication, which may not be the sum of
	// all IndeterminateCorrectableErrorCount properties over all memory.
	IndeterminateCorrectableErrorCount int
	// IndeterminateUncorrectableErrorCount shall contain the number of indeterminate uncorrectable errors for the
	// lifetime of the memory. Since the error origin is indeterminate, the same error can be duplicated across
	// multiple MemoryMetrics resources. When this resource is subordinate to the MemorySummary object, this property
	// shall be the sum of indeterminate uncorrectable errors across all memory without duplication, which may not be
	// the sum of all IndeterminateUncorrectableErrorCount properties over all memory.
	IndeterminateUncorrectableErrorCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors for the lifetime of the memory. When
	// this resource is subordinate to the MemorySummary object, this property shall be the sum of
	// UncorrectableECCErrorCount over all memory.
	UncorrectableECCErrorCount int
}

LifeTime shall describe the metrics of the memory since manufacturing.

type Limit added in v0.16.0

type Limit struct {
	// BurstBytesPerSecond shall contain the maximum number of bytes per second in a burst allowed for this network
	// device function.
	BurstBytesPerSecond int
	// BurstPacketsPerSecond shall contain the maximum number of packets per second in a burst allowed for this network
	// device function.
	BurstPacketsPerSecond int
	// Direction shall indicate the direction of the data to which this limit applies for this network device function.
	Direction DataDirection
	// SustainedBytesPerSecond shall contain the maximum number of sustained bytes per second allowed for this network
	// device function.
	SustainedBytesPerSecond int
	// SustainedPacketsPerSecond shall contain the maximum number of sustained packets per second allowed for this
	// network device function.
	SustainedPacketsPerSecond int
}

Limit shall describe a single array element of the packet and byte limits of a network device function.

type Limits added in v0.16.0

type Limits struct {
	// CPUCount shall contain the number of processors available to this container.
	CPUCount float32
	// MemoryBytes shall contain the amount of memory available to this container in bytes.
	MemoryBytes int
}

Limits shall contain the resource limits allocated to a container.

type LineInputStatus added in v0.15.0

type LineInputStatus string
const (
	// No power detected at line input.
	LossOfInputLineInputStatus LineInputStatus = "LossOfInput"
	// Line input is within normal operating range.
	NormalLineInputStatus LineInputStatus = "Normal"
	// Line input voltage or current is outside of normal operating range.
	OutOfRangeLineInputStatus LineInputStatus = "OutOfRange"
)

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 LinkConfiguration added in v0.16.0

type LinkConfiguration struct {
	// An indication of whether the port is capable of autonegotiating speed.
	AutoSpeedNegotiationCapable bool
	// Controls whether this port is configured to enable autonegotiating speed.
	AutoSpeedNegotiationEnabled bool
	// The set of link speed capabilities of this port.
	CapableLinkSpeedGbps []float32
	// 	The set of link speed and width pairs this port is configured to use for autonegotiation.
	ConfiguredNetworkLinks []ConfiguredNetworkLink
}

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"

	// The port is capable of connecting to a Gen-Z fabric.
	GenZLinkNetworkTechnology LinkNetworkTechnology = "GenZ"
	// (v1.8+) The port is capable of connecting to PCIe and CXL fabrics.
	PCIeLinkNetworkTechnology LinkNetworkTechnology = "PCIe"
)

type LinkState added in v0.16.0

type LinkState string
const (
	// The link is disabled and not operational.
	DisabledLinkState LinkState = "Disabled"
	// The link is enabled and operational.
	EnabledLinkState LinkState = "Enabled"
)

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"
)
const (
	// LinkUpPortLinkStatus This link on this interface is up.
	LinkUpPortLinkStatus LinkStatus = "LinkUp"
	// StartingPortLinkStatus This link on this interface is starting. A physical link has been established, but the port
	// is not able to transfer data.
	StartingPortLinkStatus LinkStatus = "Starting"
	// TrainingPortLinkStatus This physical link on this interface is training.
	TrainingPortLinkStatus LinkStatus = "Training"
	// LinkDownPortLinkStatus The link on this interface is down.
	LinkDownPortLinkStatus LinkStatus = "LinkDown"
	// NoLinkPortLinkStatus No physical link detected on this interface.
	NoLinkPortLinkStatus LinkStatus = "NoLink"
)

type LocalAccountAuth added in v0.5.0

type LocalAccountAuth string

LocalAccountAuth is the status of local account authentication support.

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 LocationType added in v0.16.0

type LocationType string

LocationType is the types of locations for a part within an enclosure.

const (
	// SlotLocationType shall indicate the part is located in a slot.
	SlotLocationType LocationType = "Slot"
	// BayLocationType shall indicate the part is located in a bay.
	BayLocationType LocationType = "Bay"
	// ConnectorLocationType shall indicate the part is located in a connector or port.
	ConnectorLocationType LocationType = "Connector"
	// SocketLocationType shall indicate the part is located in a socket.
	SocketLocationType LocationType = "Socket"
	// BackplaneLocationType shall indicate the part is a backplane in an enclosure.
	BackplaneLocationType LocationType = "Backplane"
	// EmbeddedLocationType shall indicate the part is embedded or otherwise permanently incorporated into a larger
	// part or device. This value shall not be used for parts that can be removed by a user or are considered field-
	// replaceable.
	EmbeddedLocationType LocationType = "Embedded"
)

type LogDiagnosticDataTypes added in v0.16.0

type LogDiagnosticDataTypes string
const (
	// ManagerLogDiagnosticDataTypes Manager diagnostic data.
	ManagerLogDiagnosticDataTypes LogDiagnosticDataTypes = "Manager"
	// PreOSLogDiagnosticDataTypes Pre-OS diagnostic data.
	PreOSLogDiagnosticDataTypes LogDiagnosticDataTypes = "PreOS"
	// OSLogDiagnosticDataTypes Operating system (OS) diagnostic data.
	OSLogDiagnosticDataTypes LogDiagnosticDataTypes = "OS"
	// OEMLogDiagnosticDataTypes OEM diagnostic data.
	OEMLogDiagnosticDataTypes LogDiagnosticDataTypes = "OEM"
	// CPERLogDiagnosticDataTypes shall indicate the data provided at the URI specified by the AdditionalDataURI
	// property is a complete UEFI Specification-defined Common Platform Error Record. The CPER data shall contain a
	// Record Header and at least one Section as defined by the UEFI Specification.
	CPERLogDiagnosticDataTypes LogDiagnosticDataTypes = "CPER"
	// CPERSectionLogDiagnosticDataTypes shall indicate the data provided at the URI specified by the AdditionalDataURI
	// property is a single Section of a UEFI Specification-defined Common Platform Error Record. The CPER data shall
	// contain one Section as defined by the UEFI Specification, with no Record Header.
	CPERSectionLogDiagnosticDataTypes LogDiagnosticDataTypes = "CPERSection"
)

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"`
	// AdditionalDataSizeBytes shall contain the size of the additional data retrieved from the URI specified by the
	// AdditionalDataURI property for this log entry.
	AdditionalDataSizeBytes int
	// AdditionalDataURI shall contain the URI at which to access the additional data for this log entry, using the
	// Redfish protocol and authentication methods. If both DiagnosticData and AdditionalDataURI are present,
	// DiagnosticData shall contain the Base64-encoding of the data retrieved from the URI specified by the
	// AdditionalDataURI property.
	AdditionalDataURI string
	// CPER shall contain the details for a CPER section or record that is the source of this log entry.
	CPER CPER
	// CXLEntryType shall contain the specific CXL entry type. This property shall only be present if EntryType
	// contains 'CXL'.
	CXLEntryType CXLEntryType
	// Created shall be the time at which the log entry was created.
	Created string
	// Description provides a description of this resource.
	Description string
	// DiagnosticData shall contain a Base64-encoded string that represents diagnostic data associated with this log
	// entry. The contents shall depend on the value of the DiagnosticDataType property. The length of the value should
	// not exceed 4 KB. Larger diagnostic data payloads should omit this property and use the AdditionalDataURI
	// property to reference the data. If both DiagnosticData and AdditionalDataURI are present, DiagnosticData shall
	// contain the Base64-encoding of the data retrieved from the URI specified by the AdditionalDataURI property.
	DiagnosticData string
	// DiagnosticDataType shall contain the type of data available in the DiagnosticData property or retrieved from the
	// URI specified by the AdditionalDataURI property.
	DiagnosticDataType LogDiagnosticDataTypes
	// 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
	// FirstOverflowTimestamp shall contain the timestamp of the first overflow captured after this log entry. If this
	// log entry is the most recent log entry in the log service, this property shall not be present if no overflow
	// errors occurred after the time of this log entry. If this log entry is not the most recent log entry in the log
	// service, this property shall not be present if no overflow errors occurred between the time of this log entry
	// and the time of the next log entry.
	FirstOverflowTimestamp 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"`
	// LastOverflowTimestamp shall contain the timestamp of the last overflow captured after this log entry. If this
	// log entry is the most recent log entry in the log service, this property shall not be present if no overflow
	// errors occurred after the time of this log entry. If this log entry is not the most recent log entry in the log
	// service, this property shall not be present if no overflow errors occurred between the time of this log entry
	// and the time of the next log entry.
	LastOverflowTimestamp string
	// 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
	// OEMDiagnosticDataType shall contain the OEM-defined type of data available in the DiagnosticData property or
	// retrieved from the URI specified by the AdditionalDataURI property. This property shall be present if
	// DiagnosticDataType is 'OEM'.
	OEMDiagnosticDataType string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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
	// Originator shall contain the source of the log entry.
	Originator string
	// OriginatorType shall contain the type of originator data.
	OriginatorType OriginatorTypes
	// OverflowErrorCount shall contain the count of overflow errors that occurred after this log entry. If this log
	// entry is the most recent log entry in the log service, this property shall not be present if no overflow errors
	// occurred after the time of this log entry. If this log entry is not the most recent log entry in the log
	// service, this property shall not be present if no overflow errors occurred between the time of this log entry
	// and the time of the next log entry.
	OverflowErrorCount int
	// Persistency shall indicate whether the log entry is persistent across a cold reset of the device.
	Persistency bool
	// Resolution shall contain the resolution of the log entry. Services should replace the resolution defined in the
	// message registry with a more specific resolution in a log entry.
	Resolution string
	// ResolutionSteps shall contain an array of recommended steps to resolve the cause of the log entry. This property
	// shall not be present if the Severity property contains 'OK'. A client can stop executing the resolution steps
	// once the Resolved property resource contains 'true' or the Health property in the associated resource referenced
	// by the OriginOfCondition property contains 'OK'.
	ResolutionSteps []ResolutionStep
	// Resolved shall contain an indication if the cause of the log entry has been resolved or repaired. The value
	// 'true' shall indicate if the cause of the log entry has been resolved or repaired. This property shall contain
	// the value 'false' if the log entry is still active. The value 'false' shall be the initial state. Clients should
	// ignore this property if Severity contains 'OK'.
	Resolved bool
	// 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
	// ServiceProviderNotified shall contain an indication if the log entry has been sent to the service provider.
	ServiceProviderNotified bool
	// 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
	// SpecificEventExistsInGroup shall indicate that this log entry is equivalent to another log entry, with a more
	// specific definition, within the same EventGroupId. For example, the 'DriveFailed' message from the Storage
	// Device Message Registry is more specific than the 'ResourceStatusChangedCritical' message from the Resource
	// Event Message Registry, when both occur with the same EventGroupId. This property shall contain 'true' if a more
	// specific event is available, and shall contain 'false' if no equivalent event exists in the same EventGroupId.
	// If this property is absent, the value shall be assumed to be 'false'.
	SpecificEventExistsInGroup bool

	// originOfCondition shall be an href that references the resource for which the log is associated.
	OriginOfCondition string
	// RelatedItem shall contain an array of links to resources that are related to this log entry.
	RelatedItem []string
	// RelatedItemCount is the number of related items.
	RelatedItemCount int

	// RelatedLogEntriesCount is the number of related log entries.
	RelatedLogEntriesCount int
	// 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) RelatedLogEntries added in v0.16.0

func (logentry *LogEntry) RelatedLogEntries() ([]*LogEntry, error)

RelatedLogEntries gets the set of LogEntry in this or other log services that are related to this log entry.

func (*LogEntry) UnmarshalJSON

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

UnmarshalJSON unmarshals a LogEntry object from the raw JSON.

func (*LogEntry) Update added in v0.16.0

func (logentry *LogEntry) Update() error

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

type LogEntryCode

type LogEntryCode string
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
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"
	// CXLLogEntryType is a CXL log entry.
	CXLLogEntryType LogEntryType = "CXL"
)

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 LogPurpose added in v0.16.0

type LogPurpose string
const (
	// DiagnosticLogPurpose provides information for diagnosing hardware or software issues, such as error
	// conditions, sensor threshold trips, or exception cases.
	DiagnosticLogPurpose LogPurpose = "Diagnostic"
	// OperationsLogPurpose provides information about management operations that have a significant impact on
	// the system, such as firmware updates, system resets, and storage volume creation.
	OperationsLogPurpose LogPurpose = "Operations"
	// SecurityLogPurpose provides security-related information such as authentication, authorization, and data
	// access logging required for security audits.
	SecurityLogPurpose LogPurpose = "Security"
	// TelemetryLogPurpose provides telemetry history, typically collected on a regular basis.
	TelemetryLogPurpose LogPurpose = "Telemetry"
	// ExternalEntityLogPurpose The log exposes log entries provided by external entities, such as external users,
	// system firmware, operating systems, or management applications.
	ExternalEntityLogPurpose LogPurpose = "ExternalEntity"
	// OEMLogPurpose The log is used for an OEM-defined purpose.
	OEMLogPurpose LogPurpose = "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"`
	// AutoDSTEnabled shall indicate whether the log service is configured for automatic Daylight Saving Time (DST)
	// adjustment. DST adjustment shall not modify the timestamp of existing log entries.
	AutoDSTEnabled bool
	// 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
	// OEMLogPurpose shall contain the OEM-specified purpose of the log if LogPurposes contains 'OEM'.
	OEMLogPurpose string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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
	// Overflow shall indicate whether the log service has overflowed and is no longer able to store new logs.
	Overflow bool
	// Persistency shall indicate whether the log service is persistent across a cold reset of the device.
	Persistency bool
	// 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
	// SyslogFilters shall describe all desired syslog messages to be logged locally. If this property contains an
	// empty array, all messages shall be logged.
	SyslogFilters []SyslogFilter
	// 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) FilteredEntries added in v0.15.0

func (logservice *LogService) FilteredEntries(options ...common.FilterOption) ([]*LogEntry, error)

FilteredEntries gets the log entries of this service with filtering applied (e.g. skip, top).

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 LogicalContext added in v0.16.0

type LogicalContext string
const (
	// CapacityLogicalContext Capacity-related logical context.
	CapacityLogicalContext LogicalContext = "Capacity"
	// EnvironmentLogicalContext Environment-related logical context.
	EnvironmentLogicalContext LogicalContext = "Environment"
	// NetworkLogicalContext Network-related logical context.
	NetworkLogicalContext LogicalContext = "Network"
	// PerformanceLogicalContext Performance-related logical context.
	PerformanceLogicalContext LogicalContext = "Performance"
	// SecurityLogicalContext Security-related logical context.
	SecurityLogicalContext LogicalContext = "Security"
	// StorageLogicalContext Storage-related logical context.
	StorageLogicalContext LogicalContext = "Storage"
)

type MFABypass added in v0.16.0

type MFABypass struct {
	// BypassTypes shall contain the types of multi-factor authentication this account or role mapping is allowed to
	// bypass. An empty array shall indicate this account or role mapping cannot bypass any multi-factor authentication
	// types that are currently enabled.
	BypassTypes []string
}

MFABypass shall contain multi-factor authentication bypass settings.

type MaintenanceWindow added in v0.16.0

type MaintenanceWindow struct {
	// MaintenanceWindowDurationInSeconds shall indicate the end of the maintenance window as the number of seconds
	// after the time specified by the MaintenanceWindowStartTime property.
	MaintenanceWindowDurationInSeconds string
	// MaintenanceWindowStartTime shall indicate the date and time when the service can start to apply the requested
	// settings or operation as part of a maintenance window. Services shall provide a default value if not configured
	// by a user.
	MaintenanceWindowStartTime string
}

MaintenanceWindow shall indicate that a resource has a maintenance window assignment for applying settings or operations. Other resources can link to this object to convey a common control surface for the configuration of the maintenance window.

type ManagedResource added in v0.16.0

type ManagedResource struct {
	// IncludesSubordinates shall indicate whether the subordinate resources of the managed resource referenced by the
	// ManagedResourceURI property are also managed by the registered client. If not specified, the value is assumed to
	// be 'false' unless ManagedResourceURI references a resource collection.
	IncludesSubordinates bool
	// ManagedResourceURI shall contain the URI of the Redfish resource or Redfish resource collection managed by the
	// registered client. When the URI references a resource collection, all members of the resource collection may be
	// monitored or configured by the client, and the IncludesSubordinates property shall contain 'true'.
	ManagedResourceURI string
	// PreferExclusive shall indicate whether the registered client expects to have exclusive access to the managed
	// resource referenced by the ManagedResourceURI property, and also its subordinate resources if
	// IncludesSubordinates contains 'true'. If not specified, the value is assumed to be 'false'.
	PreferExclusive bool
}

ManagedResource shall contain information about a resource managed by a client. The managed resource may specify subordinate resources.

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
	// DaylightSavingTime shall contain the daylight saving time settings for this manager.
	DaylightSavingTime DaylightSavingTime

	// 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

	// LastResetTime last BMC reset time
	LastResetTime string `json:"LastResetTime,omitempty"`
	// Location shall contain the location information of the associated manager.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource. A write to this property shall update the value of IndicatorLED in this resource, if supported, to
	// reflect the implementation of the locating function.
	LocationIndicatorActive bool

	// ManagerType shall describe the function of this manager. The 'ManagementController' value shall be used if none
	// of the other enumerations apply.
	// 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

	// OemActions contains all the vendor specific actions. It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// Oem are all OEM data under top level manager section
	Oem json.RawMessage
	// OEMLinks are all OEM data under link section
	OemLinks json.RawMessage
	// 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
	// ServiceIdentification shall contain a vendor-provided or user-provided value that identifies and associates a
	// discovered Redfish service with a particular product instance. If this manager provides the Redfish service, the
	// ServiceIdentification property in the ServiceRoot resource shall contain the value of this property. This
	// property shall only be present if the manager provides the Redfish service. The value of this property is used
	// in conjunction with the Product and Vendor properties in ServiceRoot to match user credentials or other a priori
	// product instance information necessary for initial deployment to the correct, matching Redfish service.
	ServiceIdentification string
	// SharedNetworkPorts shall contain a link to a resource collection of type PortCollection that represent the
	// shared network ports of the manager. The members of this collection shall reference Port resources subordinate
	// to NetworkAdapter resources.
	SharedNetworkPorts string
	// SparePartNumber shall contain the spare part number of the manager.
	SparePartNumber string
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status
	// TimeZoneName shall contain the time zone of the manager. The time zone shall be either the 'Name' or the
	// 'Format' for the zone as defined in the IANA Time Zone Database. The value of this property is used for display
	// purposes, especially to enhance the display of time. A Redfish service may not be able to ensure accuracy and
	// consistency between the DateTimeOffset property and this property. Therefore, to specify the correct time zone
	// offset, see the DateTimeOffset property.
	TimeZoneName string

	// UUID shall contain the universal unique
	// identifier number for the manager.
	UUID string
	// Version shall contain the hardware version of this manager as determined by the vendor or supplier.
	Version string

	// ManagedByCount is the number of managers for this manager.
	ManagedByCount int

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

	// ManagerForManagersCount is the number of managers being managed by this manager.
	ManagerForManagersCount int

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

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

	// SoftwareImagesCount is the number of firmware images that apply to this manager.
	SoftwareImagesCount 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) ActiveSoftwareImage added in v0.16.0

func (manager *Manager) ActiveSoftwareImage() (*SoftwareInventory, error)

ActiveSoftwareImage gets the software inventory resource that represents the active firmware image for this manager.

func (*Manager) DedicatedNetworkPorts added in v0.16.0

func (manager *Manager) DedicatedNetworkPorts() ([]*Port, error)

DedicatedNetworkPorts gets the dedicated network ports of the manager.

func (*Manager) EthernetInterfaces added in v0.4.0

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

EthernetInterfaces get this manager's ethernet interfaces.

func (*Manager) ForceFailover added in v0.16.0

func (manager *Manager) ForceFailover(newManager *Manager) error

ForceFailover forces a failover to the specified manager. **Need to test.** Spec calls for the Manager as a parameter, but it may actually be the Manager.ODataID.

func (*Manager) HostInterfaces added in v0.11.0

func (manager *Manager) HostInterfaces() ([]*HostInterface, error)

HostInterfaces get this manager's host 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) ManagedBy added in v0.16.0

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

ManagedBy gets the managers responsible for managing this manager.

func (*Manager) ManagedForChassis added in v0.16.0

func (manager *Manager) ManagedForChassis() ([]*Chassis, error)

ManagedForChassis gets the the chassis this manager controls.

func (*Manager) ManagerDiagnosticData added in v0.16.0

func (manager *Manager) ManagerDiagnosticData() (*ManagerDiagnosticData, error)

ManagerDiagnosticData gets the diagnostic data for this manager.

func (*Manager) ManagerForManagers added in v0.16.0

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

ManagerForManagers gets the managers that are managed by this manager.

func (*Manager) ManagerForServers added in v0.16.0

func (manager *Manager) ManagerForServers() ([]*ComputerSystem, error)

ManagerForServers gets the systems that this manager controls.

func (*Manager) ManagerForSwitches added in v0.16.0

func (manager *Manager) ManagerForSwitches() ([]*Switch, error)

ManagerForSwitches gets the switches that this manager controls.

func (*Manager) ModifyRedundancySet added in v0.16.0

func (manager *Manager) ModifyRedundancySet(addManagers, removeManagers []*Manager) error

ModifyRedundancySet adds members to or removes members from a redundant group of managers. **Need to test.** Spec calls for the Manager as a parameter, but it may actually be the Manager.ODataID.

func (*Manager) NetworkProtocol added in v0.15.0

func (manager *Manager) NetworkProtocol() (*NetworkProtocolSettings, error)

NetworkProtocol get this manager's network protocol settings.

func (*Manager) RemoteAccountService added in v0.16.0

func (manager *Manager) RemoteAccountService() (*AccountService, error)

RemoteAccountService gets the account service resource for the remote manager that this resource represents. This property shall only be present when providing aggregation of a remote manager.

func (*Manager) Reset

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

Reset shall perform a reset of the manager.

func (*Manager) ResetMetrics added in v0.16.0

func (manager *Manager) ResetMetrics() error

ResetMetrics resets time intervals or counted values of the diagnostic data for this manager.

func (*Manager) ResetToDefaults added in v0.16.0

func (manager *Manager) ResetToDefaults(resetType ResetToDefaultsType) error

ResetToDefaults resets the manager settings to factory defaults. This can cause the manager to reset.

func (*Manager) SelectedNetworkPort added in v0.16.0

func (manager *Manager) SelectedNetworkPort() (*Port, error)

SelectedNetworkPort gets the current network port used by this manager.

func (*Manager) SerialInterfaces added in v0.15.0

func (manager *Manager) SerialInterfaces() ([]*SerialInterface, error)

SerialInterfaces get this manager's serial interfaces.

func (*Manager) SoftwareImages added in v0.16.0

func (manager *Manager) SoftwareImages() ([]*SoftwareInventory, error)

SoftwareImages gets the firmware images that apply to this manager.

func (*Manager) USBPorts added in v0.16.0

func (manager *Manager) USBPorts() ([]*Port, error)

USBPorts get the USB ports 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. This property has been deprecated in favor of the VirtualMedia property in the ComputerSystem resource.

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"`
	// AccountExpiration shall contain the date and time when this account expires. The service shall disable or delete
	// an account that has expired. This property shall not apply to accounts created by the Redfish Host Interface
	// Specification-defined credential bootstrapping. If the value is 'null', or the property is not present, the
	// account never expires.
	AccountExpiration string
	// 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
	// EmailAddress shall contain the email address associated with this account.
	EmailAddress 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
	// HostBootstrapAccount shall indicate whether this account is a bootstrap account created by the Redfish Host
	// Interface Specification-defined credential bootstrapping.
	HostBootstrapAccount 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
	// MFABypass shall contain the multi-factor authentication bypass settings for this account.
	MFABypass MFABypass
	// OEMAccountTypes shall contain an array of the OEM account types for this account. This property shall be valid
	// when AccountTypes contains 'OEM'.
	OEMAccountTypes []string
	// OEM object used on this account.
	OEM json.RawMessage
	// OneTimePasscodeDeliveryAddress shall contain the contact address for receiving one-time passcode messages for
	// multi-factor authentication for this account when the Enabled property in the OneTimePasscode property in
	// AccountService resource contains 'true'. This is typically the contact email address associated with the
	// account, but may be a separate, relay email address for delivery via SMS or other contact method.
	OneTimePasscodeDeliveryAddress string
	// 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
	// PhoneNumber shall contain the contact phone number associated with this account.
	PhoneNumber 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
	// StrictAccountTypes shall indicate if the service needs to use the value of AccountTypes and OEMAccountTypes
	// values exactly as specified. A 'true' value shall indicate the service needs to either accept the value without
	// changes or reject the request. A 'false' value shall indicate the service may add additional 'AccountTypes' and
	// 'OEMAccountTypes' values as needed to support limitations it has in separately controlling access to individual
	// services. If this property is not present, the value shall be assumed to be 'false'. An update of the service
	// can cause account types to be added to or removed from the AccountTypes and OEMAccountTypes properties,
	// regardless of the value of this property. After a service update, clients should inspect all accounts where the
	// value of this property is 'true' and perform maintenance as needed.
	StrictAccountTypes bool
	// 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) Certificates added in v0.16.0

func (manageraccount *ManagerAccount) Certificates() ([]*Certificate, error)

Certificates gets the user identity certificates for this account.

func (*ManagerAccount) ChangePassword added in v0.16.0

func (manageraccount *ManagerAccount) ChangePassword(newPassword, sessionAccountPassword string) error

ChangePassword changes the account password while requiring password for the current session. `newPassword` is the new password. `sessionAccountPassword` is the current session's account. A user changing their own password shall provide their current password for this parameter. An administrator changing the password for a different user shall provide their own password for this parameter. If the request is performed with HTTP Basic authentication, this parameter shall contain the same password encoded in the `Authorization` header.

func (*ManagerAccount) Keys added in v0.16.0

func (manageraccount *ManagerAccount) Keys() ([]*Key, error)

Keys gets the keys that can be used to authenticate this account.

func (*ManagerAccount) Role added in v0.16.0

func (manageraccount *ManagerAccount) Role() (*Role, error)

Role gets the role of this ManagerAccount.

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 ManagerDiagnosticData added in v0.16.0

type ManagerDiagnosticData 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"`
	// BootTimeStatistics shall contain the boot-time statistics of the manager.
	BootTimeStatistics BootTimeStatistics
	// Description provides a description of this resource.
	Description string
	// FreeStorageSpaceKiB shall contain the available storage space on this manager in kibibytes (KiB).
	FreeStorageSpaceKiB int
	// I2CBuses shall contain the statistics of the I2C buses. Services may subdivide a physical bus into multiple
	// entries in this property based on how the manager tracks bus segments, virtual buses from a controller, and
	// other segmentation capabilities.
	I2CBuses []I2CBusStatistics
	// MemoryECCStatistics shall contain the memory ECC statistics of the manager.
	MemoryECCStatistics MemoryECCStatistics
	// MemoryStatistics shall contain the memory statistics of the manager.
	MemoryStatistics MemoryStatistics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ProcessorStatistics shall contain the processor statistics of the manager.
	ProcessorStatistics ProcessorStatistics
	// ServiceRootUptimeSeconds shall contain the wall-clock time the service root hosted by this manager has been
	// running in seconds.
	ServiceRootUptimeSeconds float64
	// TopProcesses shall contain the statistics of the top processes of this manager.
	TopProcesses []ProcessStatistics
	// contains filtered or unexported fields
}

ManagerDiagnosticData shall represent internal diagnostic data for a manager for a Redfish implementation. Clients should not make decisions for raising alerts, creating service events, or other actions based on information in this resource.

func GetManagerDiagnosticData added in v0.16.0

func GetManagerDiagnosticData(c common.Client, uri string) (*ManagerDiagnosticData, error)

GetManagerDiagnosticData will get a ManagerDiagnosticData instance from the service.

func ListReferencedManagerDiagnosticDatas added in v0.16.0

func ListReferencedManagerDiagnosticDatas(c common.Client, link string) ([]*ManagerDiagnosticData, error)

ListReferencedManagerDiagnosticDatas gets the collection of ManagerDiagnosticData from a provided reference.

func (*ManagerDiagnosticData) UnmarshalJSON added in v0.16.0

func (managerdiagnosticdata *ManagerDiagnosticData) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ManagerDiagnosticData object from the raw JSON.

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 Manifest added in v0.16.0

type Manifest struct {
	// Description provides a description of this resource.
	Description string
	// Expand shall contain the expansion control for references in manifest responses.
	Expand Expand
	// Stanzas shall contain an array of stanzas that describe the requests specified by this manifest.
	Stanzas []Stanza
	// Timestamp shall contain the date and time when the manifest was created.
	Timestamp string
}

Manifest shall describe a manifest containing a set of requests to be fulfilled.

func GetManifest added in v0.16.0

func GetManifest(c common.Client, uri string) (*Manifest, error)

GetManifest will get a Manifest instance from the service.

func ListReferencedManifests added in v0.16.0

func ListReferencedManifests(c common.Client, link string) ([]*Manifest, error)

ListReferencedManifests gets the collection of Manifest from a provided reference.

type MapFrom added in v0.15.0

type MapFrom struct {
	// The attribute to use to evaluate this dependency expression.
	MapFromAttribute string
	// The condition to use to evaluate this dependency expression.
	MapFromCondition MapFromCondition
	// The metadata property for the attribute that the MapFromAttribute property specifies
	// to use to evaluate this dependency expression.
	MapFromProperty MapFromProperty
	// The value to use to evaluate this dependency expression.
	MapFromValue interface{}
	// The logical term that combines two or more map-from conditions
	// in this dependency expression.
	MapTerms MapTerms
}

type MapFromCondition added in v0.15.0

type MapFromCondition string
const (
	// The logical operation for 'Equal'.
	EqualCondition MapFromCondition = "EQU"
	// The logical operation for 'Greater than or Equal'.
	GreaterThanOrEqualCondition MapFromCondition = "GEQ"
	// The logical operation for 'Greater than'.
	GreaterThanCondition MapFromCondition = "GTR"
	// The logical operation for 'Less than or Equal'.
	LessThanOrEqualCondition MapFromCondition = "LEQ"
	// The logical operation for 'Less than'.
	LessThanCondition MapFromCondition = "LSS"
	// The logical operation for 'Not Equal'.
	NotEqualCondition MapFromCondition = "NEQ"
)

type MapFromProperty added in v0.15.0

type MapFromProperty string
const (
	// The dependency on an attribute's CurrentValue
	CurrentValueMapFromProperty MapFromProperty = "CurrentValue"
	// The dependency on an attribute's DefaultValue.
	DefaultValueMapFromProperty MapFromProperty = "DefaultValue"
	// The dependency on an attribute's GrayOut state.
	GrayOutMapFromProperty MapFromProperty = "GrayOut"
	// The dependency on an attribute's Hidden state.
	HiddenMapFromProperty MapFromProperty = "Hidden"
	// The dependency on an attribute's LowerBound.
	LowerBoundMapFromProperty MapFromProperty = "LowerBound"
	// The dependency on an attribute's MaxLength.
	MaxLengthMapFromProperty MapFromProperty = "MaxLength"
	// The dependency on an attribute's MinLength.
	MinLengthMapFromProperty MapFromProperty = "MinLength"
	// The dependency on an attribute's ReadOnly state.
	ReadOnlyMapFromProperty MapFromProperty = "ReadOnly"
	// The dependency on an attribute's ScalarIncrement.
	ScalarIncrementMapFromProperty MapFromProperty = "ScalarIncrement"
	// The dependency on an attribute's UpperBound.
	UpperBoundMapFromProperty MapFromProperty = "UpperBound"
	// The dependency on an attribute's WriteOnly state.
	WriteOnlyMapFromProperty MapFromProperty = "WriteOnly"
)

type MapTerms added in v0.15.0

type MapTerms string
const (
	// The operation used for logical 'AND' of dependency terms.
	AndLogicalTerm MapTerms = "AND"
	// The operation used for logical 'OR' of dependency terms.
	OrLogicalTerm MapTerms = "OR"
)

type MapToProperty added in v0.15.0

type MapToProperty string
const (
	// The dependency that affects an attribute's CurrentValue.
	CurrentValueMapToProperty MapToProperty = "CurrentValue"
	// The dependency that affects an attribute's DefaultValue.
	DefaultValueMapToProperty MapToProperty = "DefaultValue"
	// The dependency that affects an attribute's DisplayName.
	DisplayNameMapToProperty MapToProperty = "DisplayName"
	// The dependency that affects an attribute's DisplayName.
	DisplayOrderMapToProperty MapToProperty = "DisplayOrder"
	// The dependency that affects an attribute's GrayOut state.
	GrayOutMapToProperty MapToProperty = "GrayOut"
	// The dependency that affects an attribute's HelpText.
	HelpTextMapToProperty MapToProperty = "HelpText"
	// The dependency that affects an attribute's Hidden state.
	HiddenMapToProperty MapToProperty = "Hidden"
	// The dependency that affects an attribute's Immutable state.
	ImmutableMapToProperty MapToProperty = "Immutable"
	// The dependency that affects an attribute's LowerBound.
	LowerBoundMapToProperty MapToProperty = "LowerBound"
	// The dependency that affects an attribute's MaxLength.
	MaxLengthMapToProperty MapToProperty = "MaxLength"
	// The dependency that affects an attribute's MinLength.
	MinLengthMapToProperty MapToProperty = "MinLength"
	// The dependency that affects an attribute's ReadOnly state.
	ReadOnlyMapToProperty MapToProperty = "ReadOnly"
	// The dependency that affects an attribute's ScalarIncrement.
	ScalarIncrementMapToProperty MapToProperty = "ScalarIncrement"
	// The dependency that affects an attribute's UpperBound.
	UpperBoundMapToProperty MapToProperty = "UpperBound"
	// The dependency that affects an attribute's ValueExpression.
	ValueExpressionMapToProperty MapToProperty = "ValueExpression"
	// The dependency that affects an attribute's WarningText.
	WarningTextMapToProperty MapToProperty = "WarningText"
	// The dependency that affects an attribute's WriteOnly state.
	WriteOnlyMapToProperty MapToProperty = "WriteOnly"
)

type Mapping added in v0.16.0

type Mapping struct {
	// Entity shall contain the Resource name, such as 'Manager'.
	Entity string
	// OperationMap shall list the mapping between HTTP methods and the privilege required for the Resource.
	OperationMap OperationMap
	// PropertyOverrides shall contain the privilege overrides of properties, such as the 'Password' property in the
	// 'ManagerAccount' Resource.
	PropertyOverrides []TargetPrivilegeMap
	// ResourceURIOverrides shall contain the privilege overrides of Resource URIs. The target lists the Resource URI
	// and the new privileges.
	ResourceURIOverrides []TargetPrivilegeMap
	// SubordinateOverrides shall contain the privilege overrides of the subordinate Resource. The target lists are
	// identified by Resource type.
	SubordinateOverrides []TargetPrivilegeMap
}

Mapping shall describe a mapping between a Resource type and the relevant privileges that accesses the Resource.

type MaxPrefix added in v0.16.0

type MaxPrefix struct {
	// MaxPrefixNumber shall contain the maximum number of prefixes allowed from the neighbor.
	MaxPrefixNumber int
	// RestartTimerSeconds This property determines how long peer routers will wait to delete stale routes before a
	// Border Gateway Protocol (BGP) open message is received. This timer should be less than the BGP HoldTimeSeconds
	// property.
	RestartTimerSeconds int
	// ShutdownThresholdPercentage shall contain the percentage of the maximum prefix received value, '1' to '100', at
	// which the router starts to generate a warning message.
	ShutdownThresholdPercentage float64
	// ThresholdWarningOnlyEnabled shall indicate what action to take if the Border Gateway Protocol (BGP) route
	// threshold is reached. If 'true', when the Maximum-Prefix limit is exceeded, a log message is generated. If
	// 'false', when the Maximum-Prefix limit is exceeded, the peer session is terminated.
	ThresholdWarningOnlyEnabled bool
}

MaxPrefix shall contain properties that are applicable to configuring Border Gateway Protocol (BGP) max prefix related properties.

type MeasurementBlock added in v0.16.0

type MeasurementBlock struct {
	// Measurement shall contain the value of the hexadecimal string representation of the numeric value of the
	// DSP0274-defined Measurement field of the measurement block.
	Measurement string
	// MeasurementIndex shall contain the value of the DSP0274-defined Index field of the measurement block.
	MeasurementIndex int
	// MeasurementSize shall contain the value of the DSP0274-defined MeasurementSize field of the measurement block.
	MeasurementSize int
	// MeasurementSpecification shall contain the value of the DSP0274-defined MeasurementSpecification field of the
	// measurement block.
	MeasurementSpecification int
}

MeasurementBlock shall describe a DSP0274-defined measurement block.

type MeasurementSpecification added in v0.16.0

type MeasurementSpecification string
const (
	// DMTFMeasurementSpecification shall indicate the measurement specification is defined by DMTF in DSP0274.
	DMTFMeasurementSpecification MeasurementSpecification = "DMTF"
)

type MediaController added in v0.16.0

type MediaController 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

	// Manufacturer shall contain the manufacturer of the media controller.
	Manufacturer string
	// MediaControllerType shall contain the type of media controller.
	MediaControllerType MediaControllerType
	// Model shall contain the model of the media controller.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall indicate the part number as provided by the manufacturer of this media controller.
	PartNumber string

	// SerialNumber shall indicate the serial number as provided by the manufacturer of this media controller.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UUID shall contain a universally unique identifier number for the media controller.
	UUID string

	// EndpointsCount is the number of Endpoints with which this media controller is associated.
	EndpointsCount int

	// MemoryDomainsCount get the number of memory domains associated with this memory controller.
	MemoryDomainsCount int
	// contains filtered or unexported fields
}

MediaController This resource contains the media controller in a Redfish implementation.

func GetMediaController added in v0.16.0

func GetMediaController(c common.Client, uri string) (*MediaController, error)

GetMediaController will get a MediaController instance from the service.

func ListReferencedMediaControllers added in v0.16.0

func ListReferencedMediaControllers(c common.Client, link string) ([]*MediaController, error)

ListReferencedMediaControllers gets the collection of MediaController from a provided reference.

func (*MediaController) Endpoints added in v0.16.0

func (mediacontroller *MediaController) Endpoints() ([]*Endpoint, error)

Endpoints get the Endpoints with which this media controller is associated.

func (*MediaController) EnvironmentMetrics added in v0.16.0

func (mediacontroller *MediaController) EnvironmentMetrics() (*EnvironmentMetrics, error)

EnvironmentMetrics gets the environment metrics for this media controller.

func (*MediaController) MemoryDomains added in v0.16.0

func (mediacontroller *MediaController) MemoryDomains() ([]*MemoryDomain, error)

MemoryDomains get the memory domains associated with this memory controller.

func (*MediaController) Ports added in v0.16.0

func (mediacontroller *MediaController) Ports() ([]*Port, error)

Ports gets the ports associated with this media controller.

func (*MediaController) Reset added in v0.16.0

func (mediacontroller *MediaController) Reset(resetType ResetType) error

Reset resets this media controller.

func (*MediaController) UnmarshalJSON added in v0.16.0

func (mediacontroller *MediaController) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MediaController object from the raw JSON.

type MediaControllerType added in v0.16.0

type MediaControllerType string
const (
	// MemoryMediaControllerType shall indicate the media controller is for memory.
	MemoryMediaControllerType MediaControllerType = "Memory"
)

type MediaLocation added in v0.16.0

type MediaLocation string
const (
	// LocalMediaLocation The memory chunk was created using local media.
	LocalMediaLocation MediaLocation = "Local"
	// RemoteMediaLocation The memory chunk was created using remote media accessible through a fabric.
	RemoteMediaLocation MediaLocation = "Remote"
	// MixedMediaLocation The memory chunk was created using both local media and remote media accessible through a
	// fabric.
	MixedMediaLocation MediaLocation = "Mixed"
)

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 MediumType added in v0.16.0

type MediumType string
const (
	// CopperMediumType The medium connected is copper.
	CopperMediumType MediumType = "Copper"
	// FiberOpticMediumType The medium connected is fiber optic.
	FiberOpticMediumType MediumType = "FiberOptic"
)

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
	// CXL shall contain CXL-specific properties for this memory device.
	CXL MemoryCXL
	// 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.
	// This property has been deprecated in favor of the ServiceLabel property within Location.
	DeviceLocator string
	// Enabled shall indicate if this memory is enabled.
	Enabled bool

	// 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
	// HealthData shall contain the health data of this memory device.
	HealthData 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
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource. A write to this property shall update the value of IndicatorLED in this resource, if supported, to
	// reflect the implementation of the locating function.
	LocationIndicatorActive bool

	// 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

	// Model shall indicate the model information as provided by the manufacturer of this memory.
	Model string
	// 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
	// NonVolatileSizeLimitMiB shall contain the total non-volatile memory capacity in mebibytes (MiB).
	NonVolatileSizeLimitMiB string
	// NonVolatileSizeMiB shall contain 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
	// PoisonListMaxMediaErrorRecords shall contain the maximum number of media error records this device can track in
	// its poison list.
	PoisonListMaxMediaErrorRecords 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
	// SecurityStates shall contain the security states of this memory device.
	SecurityStates SecurityStateInfo
	// 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
	// SparePartNumber shall contain the spare part number of the memory.
	SparePartNumber string
	// 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
	// VolatileSizeLimitMiB shall contain the total volatile memory capacity in mebibytes (MiB).
	VolatileSizeLimitMiB int
	// VolatileSizeMiB shall be the total size of the volatile portion memory in MiB.
	VolatileSizeMiB int

	// BatteriesCount gets the number of batteries that provide power to this memory device during
	// a power-loss event, such as with battery-backed NVDIMMs.
	BatteriesCount int

	// EndpointsCount gets the number of endpoints associated with this memory.
	EndpointsCount int

	// MemoryMediaSourcesCount gets the number of memory chunk instances providing media for this memory.
	MemoryMediaSourcesCount int

	// MemoryMediaRegionSourcesCount gets the number of memory region instances providing media for this memory.
	MemoryRegionMediaSourcesCount int

	// ProcessorsCount gets the number of processors associated with this memory device.
	ProcessorsCount 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) Batteries added in v0.16.0

func (memory *Memory) Batteries() ([]*Battery, error)

Batteries gets the batteries that provide power to this memory device during a power-loss event, such as with battery-backed NVDIMMs.

func (*Memory) Certificates added in v0.16.0

func (memory *Memory) Certificates() ([]*Certificate, error)

Certificates gets certificates for device identity and attestation.

func (*Memory) Chassis

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

Chassis gets the containing chassis of this memory.

func (*Memory) DisableMasterPassphrase added in v0.16.0

func (memory *Memory) DisableMasterPassphrase(passphrase, regionID string) error

DisalbeMasterPassphrase will disable the master passphrase on the supplied region provided the supplied master passphrase matches that of the region.

func (*Memory) DisablePassphrase added in v0.16.0

func (memory *Memory) DisablePassphrase(passphrase, regionID string) error

DisablePassphrase will disable the need for passphrases on the supplied region provided the supplied passphrase matches that of the region.

func (*Memory) Endpoints added in v0.16.0

func (memory *Memory) Endpoints() ([]*Endpoint, error)

Endpoints gets the endpoints associated with this memory.

func (*Memory) EnvironmentMetrics added in v0.16.0

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

EnvironmentMetrics gets the environment metrics for this memory.

func (*Memory) FreezeSecurityState added in v0.16.0

func (memory *Memory) FreezeSecurityState() error

FreezeSecurityState will freeze the security state of the memory device.

func (*Memory) InjectPersistentPoison added in v0.16.0

func (memory *Memory) InjectPersistentPoison(physicalAddress string) error

InjectPersistentPoison will inject poison to a specific persistent memory address in the memory device.

func (*Memory) Log added in v0.16.0

func (memory *Memory) Log() (*LogService, error)

Log gets the log service for this memory.

func (*Memory) MemoryMediaSources added in v0.16.0

func (memory *Memory) MemoryMediaSources() ([]*MemoryChunks, error)

MemoryMediaSources gets the memory chunks providing media for this memory.

func (*Memory) MemoryRegionMediaSources added in v0.16.0

func (memory *Memory) MemoryRegionMediaSources() ([]*MemoryRegion, error)

MemoryRegionMediaSources gets the memory regions providing media for this memory.

func (*Memory) Metrics

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

Metrics gets the memory metrics.

func (*Memory) OverwriteUnit added in v0.16.0

func (memory *Memory) OverwriteUnit(passphrase, regionID string) error

OverwriteUnit will securely erase the supplied region provided the supplied passphrase matches that of the given region using the NIST SP800-88 Purge: Overwrite. Use the SecureEraseUnit method to perform NIST SP800-88 Purge: Cryptographic Erase.

func (*Memory) Processors added in v0.16.0

func (memory *Memory) Processors() ([]*Processor, error)

Processors gets the processors associated with this memory device.

func (*Memory) Reset added in v0.16.0

func (memory *Memory) Reset(resetType ResetType) error

Reset resets this memory device.

func (*Memory) ResetToDefaults added in v0.16.0

func (memory *Memory) ResetToDefaults() error

ResetToDefaults will reset the values of writable properties in this resource to their default values as specified by the manufacturer.

func (*Memory) ScanMedia added in v0.16.0

func (memory *Memory) ScanMedia(length int, noEventLog bool, physicalAddress string) error

ScanMedia will scan the media of the memory device. `length` is the length of the target region to scan in bytes from the physical address. `noEventLog` is used to indicate whether events related to the media scan are not logged. `physicalAddress` is the starting device physical address to scan as a hex-encoded string.

func (*Memory) SecureEraseUnit added in v0.16.0

func (memory *Memory) SecureEraseUnit(passphrase, regionID string) error

SecureEraseUnit will securely erase the supplied region provided the supplied passphrase matches that of the given region using the NIST SP800-88 Purge: Cryptographic Erase. Use the OverwriteUnit method to perform NIST SP800-88 Purge: Overwrite.

func (*Memory) SetMasterPassphrase added in v0.16.0

func (memory *Memory) SetMasterPassphrase(passphrase, regionID string) error

SetMasterPassphrase will set the supplied master passphrase to the supplied region.

func (*Memory) SetPassphrase added in v0.16.0

func (memory *Memory) SetPassphrase(passphrase, regionID string) error

SetPassphrase will apply the supplied passphrase to the supplied region.

func (*Memory) UnlockUnit added in v0.16.0

func (memory *Memory) UnlockUnit(passphrase, regionID string) error

UnlockUnit will apply the supplied passphrase to the supplied region for the purpose of unlocking the given regions.

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 MemoryCXL added in v0.16.0

type MemoryCXL struct {
	// LabelStorageSizeBytes shall contain the size of the label storage area in bytes of this memory device.
	LabelStorageSizeBytes int
	// StagedNonVolatileSizeMiB shall indicate the total device non-volatile memory capacity in mebibytes. The value
	// shall be in multiples of 256 mebibytes.
	StagedNonVolatileSizeMiB int
	// StagedVolatileSizeMiB shall indicate the total device volatile memory capacity in mebibytes staged for next
	// activation. This value shall be in multiples of 256 mebibytes.
	StagedVolatileSizeMiB int
}

MemoryCXL shall contain CXL-specific properties for a memory device.

type MemoryChunk added in v0.16.0

type MemoryChunk struct {

	// ChunkOffsetMiB shall be the offset of the memory chunk within the memory region in mebibytes (MiB).
	ChunkOffsetMiB int
	// contains filtered or unexported fields
}

MemoryChunk shall contain the definition of a memory chunk providing capacity for memory region.

func (*MemoryChunk) MemoryChunks added in v0.16.0

func (memorychunk *MemoryChunk) MemoryChunks(c common.Client) (*MemoryChunks, error)

MemoryChunks gets the memory chunks providing capacity.

func (*MemoryChunk) UnmarshalJSON added in v0.16.0

func (memorychunk *MemoryChunk) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MemoryChunk object from the raw JSON.

type MemoryChunkInfo added in v0.16.0

type MemoryChunkInfo struct {
	// AccessCapabilities shall specify a current memory access capability.
	AccessCapabilities []AccessCapability
	// AccessState shall contain the access state for the associated resource in this connection.
	AccessState AccessState
	// MemoryChunk shall contain a link to a resource of type MemoryChunk. The endpoints referenced by the
	// InitiatorEndpoints or InitiatorEndpointGroups properties shall be given access to this memory chunk as described
	// by this object. If TargetEndpoints or TargetEndpointGroups is present, the referenced initiator endpoints shall
	// be required to access the referenced memory chunk through one of the referenced target endpoints.
	MemoryChunk MemoryChunks
}

MemoryChunkInfo shall contain the combination of permissions and memory chunk information.

type MemoryChunks added in v0.16.0

type MemoryChunks 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"`
	// AddressRangeOffsetMiB shall be the offset of the memory chunk in the address range in MiB.
	AddressRangeOffsetMiB int
	// AddressRangeType shall contain the type of memory chunk.
	AddressRangeType AddressRangeType
	// Description provides a description of this resource.
	Description string
	// DisplayName shall contain a user-configurable string to name the memory chunk.
	DisplayName string
	// InterleaveSets shall represent the interleave sets for the memory chunk. If not specified by the client during a
	// create operation, the memory chunk shall be created across all available memory within the memory domain.
	InterleaveSets []InterleaveSet
	// IsMirrorEnabled shall indicate whether memory mirroring is enabled for this memory chunk.
	IsMirrorEnabled bool
	// IsSpare shall indicate whether sparing is enabled for this memory chunk.
	IsSpare bool
	// MediaLocation shall contain the location of the memory media for this memory chunk.
	MediaLocation MediaLocation
	// MemoryChunkSizeMiB shall contain the size of the memory chunk in MiB.
	MemoryChunkSizeMiB int
	// RequestedOperationalState shall contain the requested operational state of this memory chunk.
	RequestedOperationalState OperationalState
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// CXLLogicalDevicesCount is the number of CXL logical devices associated with this memory chunk.
	CXLLogicalDevicesCount int

	// EndpointsCount is the number of endpoints with which this memory chunk is associated.
	EndpointsCount int

	// MemoryRegionsCount is the number of memory regions for which this memory chunk provides capacity.
	MemoryRegionsCount int
	// contains filtered or unexported fields
}

MemoryChunks shall represent memory chunks and interleave sets in a Redfish implementation.

func GetMemoryChunks added in v0.16.0

func GetMemoryChunks(c common.Client, uri string) (*MemoryChunks, error)

GetMemoryChunks will get a MemoryChunks instance from the service.

func ListReferencedMemoryChunks added in v0.16.0

func ListReferencedMemoryChunks(c common.Client, link string) ([]*MemoryChunks, error)

ListReferencedMemoryChunks gets the collection of MemoryChunks from a provided reference.

func (*MemoryChunks) UnmarshalJSON added in v0.16.0

func (memorychunks *MemoryChunks) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MemoryChunks object from the raw JSON.

func (*MemoryChunks) Update added in v0.16.0

func (memorychunks *MemoryChunks) 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 FB_DIMM 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 device, such as when the memory is fabric-attached.
	LogicalMemoryDeviceType MemoryDeviceType = "Logical"
	// HBMMemoryDeviceType High Bandwidth Memory.
	HBMMemoryDeviceType MemoryDeviceType = "HBM"
	// HBM2MemoryDeviceType The second generation of High Bandwidth Memory.
	HBM2MemoryDeviceType MemoryDeviceType = "HBM2"
	// HBM2EMemoryDeviceType An updated version of the second generation of High Bandwidth Memory.
	HBM2EMemoryDeviceType MemoryDeviceType = "HBM2E"
	// HBM3MemoryDeviceType The third generation of High Bandwidth Memory.
	HBM3MemoryDeviceType MemoryDeviceType = "HBM3"
	// GDDRMemoryDeviceType Synchronous graphics random-access memory.
	GDDRMemoryDeviceType MemoryDeviceType = "GDDR"
	// GDDR2MemoryDeviceType Double data rate type two synchronous graphics random-access memory.
	GDDR2MemoryDeviceType MemoryDeviceType = "GDDR2"
	// GDDR3MemoryDeviceType Double data rate type three synchronous graphics random-access memory.
	GDDR3MemoryDeviceType MemoryDeviceType = "GDDR3"
	// GDDR4MemoryDeviceType Double data rate type four synchronous graphics random-access memory.
	GDDR4MemoryDeviceType MemoryDeviceType = "GDDR4"
	// GDDR5MemoryDeviceType Double data rate type five synchronous graphics random-access memory.
	GDDR5MemoryDeviceType MemoryDeviceType = "GDDR5"
	// GDDR5XMemoryDeviceType Double data rate type five X synchronous graphics random-access memory.
	GDDR5XMemoryDeviceType MemoryDeviceType = "GDDR5X"
	// GDDR6MemoryDeviceType Double data rate type six synchronous graphics random-access memory.
	GDDR6MemoryDeviceType MemoryDeviceType = "GDDR6"
	// DDR5MemoryDeviceType Double data rate type five synchronous dynamic random-access memory.
	DDR5MemoryDeviceType MemoryDeviceType = "DDR5"
	// OEMMemoryDeviceType OEM-defined.
	OEMMemoryDeviceType MemoryDeviceType = "OEM"
	// LPDDR5SDRAMMemoryDeviceType LPDDR5 SDRAM.
	LPDDR5SDRAMMemoryDeviceType MemoryDeviceType = "LPDDR5_SDRAM"
)

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
	// MemoryChunkIncrementMiB shall contain the incremental size, from MemoryChunkIncrementMiB, allowed for a memory
	// chunk within this domain in mebibytes (MiB).
	MemoryChunkIncrementMiB int

	// MemorySizeMiB shall contain the total size of the memory domain in mebibytes (MiB).
	MemorySizeMiB int
	// MinMemoryChunkSizeMiB shall contain the minimum size allowed for a memory chunk within this domain in mebibytes
	// (MiB).
	MinMemoryChunkSizeMiB int
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// CXLLogicalDevicesCount is the number of CXL logical devices that are associated with this memory domain.
	CXLLogicalDevicesCount int

	// FabricAdaptersCount is the number of fabric adapters that present this memory domain to a fabric.
	FabricAdaptersCount int

	// MediaControllersCount is the number of media controllers for this memory domain.
	// This property has been deprecated in favor of the FabricAdapters property.
	MediaControllersCount int

	// PCIeFunctionsCount is the number of PCIe functions representing this memory domain.
	PCIeFunctionsCount int
	// 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) CXLLogicalDevices added in v0.16.0

func (memorydomain *MemoryDomain) CXLLogicalDevices() ([]*CXLLogicalDevice, error)

CXLLogicalDevices gets the CXLLogicalDevice that represent the CXL logical devices that are associated with this memory domain.

func (*MemoryDomain) FabricAdapters added in v0.16.0

func (memorydomain *MemoryDomain) FabricAdapters() ([]*FabricAdapter, error)

FabricAdapters gets the fabric adapters that present this memory domain to a fabric.

func (*MemoryDomain) MediaControllers added in v0.16.0

func (memorydomain *MemoryDomain) MediaControllers() ([]*MediaController, error)

MediaControllers gets the media controllers for this memory domain. This property has been deprecated in favor of the FabricAdapters property.

func (*MemoryDomain) PCIeFunctions added in v0.16.0

func (memorydomain *MemoryDomain) PCIeFunctions() ([]*PCIeFunction, error)

PCIeFunctions gets the PCIe functions representing this memory domain.

func (*MemoryDomain) UnmarshalJSON

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

UnmarshalJSON unmarshals a MemoryDomain object from the raw JSON.

type MemoryECCStatistics added in v0.16.0

type MemoryECCStatistics struct {
	// CorrectableECCErrorCount shall contain the number of correctable errors since reset.
	CorrectableECCErrorCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors since reset.
	UncorrectableECCErrorCount int
}

MemoryECCStatistics shall contain the memory ECC statistics of a manager.

type MemoryExtent added in v0.16.0

type MemoryExtent struct {
	// ExtentOffsetMiB shall be the offset of the memory extent within the memory region in mebibytes (MiB).
	ExtentOffsetMiB int
	// ExtentSizeMiB shall contain the size of the memory extent in MiB.
	ExtentSizeMiB int
	// SequenceNumber shall contain the sequence number instructing host on the relative order the extents have to be
	// placed in the host adjacent virtual address space.
	SequenceNumber int
	// Tag shall contain an opaque context attached to each extent to track usage of each extent or map extent to
	// specific processes, transactions, or workloads on the host.
	Tag string
}

MemoryExtent shall contain the definition of a memory extent identifying an available address range in the dynamic capacity memory region.

type MemoryHealthData added in v0.16.0

type MemoryHealthData struct {
	// PredictedMediaLifeLeftPercent is the current health of the memory device as a percentage.
	// This property has been deprecated in favor of PredictedMediaLifeLeftPercent in the MemoryMetrics resource.
	PredictedMediaLifeLeftPercent int
}

MemoryHealthData is the health data of a memory device.

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
	// CXL shall contain the memory metrics specific to CXL devices.
	CXL CXLMemoryMetrics
	// CapacityUtilizationPercent shall contain the memory capacity utilization as a percentage, typically '0' to
	// '100'. When this resource is subordinate to the MemorySummary object, this property shall be the memory capacity
	// utilization over all memory as a percentage.
	CapacityUtilizationPercent float64
	// CorrectedPersistentErrorCount shall contain the number of corrected errors in persistent memory.
	CorrectedPersistentErrorCount int
	// CorrectedVolatileErrorCount shall contain the number of corrected errors in volatile memory.
	CorrectedVolatileErrorCount 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
	// DirtyShutdownCount shall contain the number of shutdowns while outstanding writes have not completed to
	// persistent memory.
	DirtyShutdownCount int
	// 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
	// contains filtered or unexported fields
}

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.

func (*MemoryMetrics) ClearCurrentPeriod added in v0.16.0

func (memorymetrics *MemoryMetrics) ClearCurrentPeriod() error

ClearCurrentPeriod sets the CurrentPeriod property's values to 0.

func (*MemoryMetrics) UnmarshalJSON added in v0.16.0

func (memorymetrics *MemoryMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MemoryMetrics object from the raw JSON.

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 MemoryRegion added in v0.16.0

type MemoryRegion 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"`
	// BlockSizeMiB shall contain the memory region block size in mebibytes (MiB). The region size, base offset, all
	// extent sizes, and all extent base offsets shall be aligned to this block size.
	BlockSizeMiB int
	// Description provides a description of this resource.
	Description string
	// ExtentsCount shall contain the number of extents defined for this memory region.
	ExtentsCount int
	// HardwareManagedCoherencyRegion shall indicate whether the device manages the cache coherency across hosts and
	// thereby ensures that each host has a consistent view of this memory region content as defined in the 'Flags'
	// field of 'Device Scoped Memory Affinity Structure' defined in the Coherent Device Attribute Table (CDAT)
	// Specification.
	HardwareManagedCoherencyRegion bool
	// MemoryChunks shall contain the set of memory chunks providing capacity for this memory region.
	MemoryChunks []MemoryChunk
	// MemoryExtents shall contain the set of memory extents defining address ranges available for an access in dynamic
	// capacity memory regions.
	MemoryExtents []MemoryExtent
	// NonVolatileRegion shall indicate whether this memory region represents non-volatile memory as defined in the
	// 'Flags' field of 'Device Scoped Memory Affinity Structure' defined in the Coherent Device Attribute Table (CDAT)
	// Specification.
	NonVolatileRegion bool
	// RegionBaseOffsetMiB shall contain the offset of the memory region in the device address range in mebibytes
	// (MiB).
	RegionBaseOffsetMiB int
	// RegionNumber shall contain the memory region number.
	RegionNumber int
	// RegionSizeMiB shall contain the size of the memory region in mebibytes (MiB).
	RegionSizeMiB int
	// RegionType shall contain the type of memory region.
	RegionType RegionType
	// SanitizeOnRelease shall indicate whether the device has been configured such that capacity released from this
	// memory region will be sanitized before it is made available to any host.
	SanitizeOnRelease bool
	// ShareableRegion shall indicate whether this memory region can be shared across multiple hosts as defined in the
	// 'Flags' field of 'Device Scoped Memory Affinity Structure' defined in the Coherent Device Attribute Table (CDAT)
	// Specification.
	ShareableRegion bool
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

MemoryRegion shall represent memory region in a Redfish implementation.

func GetMemoryRegion added in v0.16.0

func GetMemoryRegion(c common.Client, uri string) (*MemoryRegion, error)

GetMemoryRegion will get a MemoryRegion instance from the service.

func ListReferencedMemoryRegions added in v0.16.0

func ListReferencedMemoryRegions(c common.Client, link string) ([]*MemoryRegion, error)

ListReferencedMemoryRegions gets the collection of MemoryRegion from a provided reference.

func (*MemoryRegion) UnmarshalJSON added in v0.16.0

func (memoryregion *MemoryRegion) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MemoryRegion object from the raw JSON.

func (*MemoryRegion) Update added in v0.16.0

func (memoryregion *MemoryRegion) Update() error

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

type MemoryRegionInfo added in v0.16.0

type MemoryRegionInfo struct {
	// AccessCapabilities shall specify a current memory access capability.
	AccessCapabilities []AccessCapability
	// AccessState shall contain the access state for the associated resource in this connection.
	AccessState AccessState
	// MemoryRegion shall contain a link to a resource of type MemoryRegion. The endpoints referenced by the
	// InitiatorEndpoints or InitiatorEndpointGroups properties shall be given access to this memory region as
	// described by this object. If TargetEndpoints or TargetEndpointGroups is present, the referenced initiator
	// endpoints shall be required to access the referenced memory region through one of the referenced target
	// endpoints.
	MemoryRegion MemoryRegion
}

MemoryRegionInfo shall contain the combination of permissions and memory region information.

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) MemorySet added in v0.16.0

func (memoryset *MemorySet) MemorySet(c common.Client) ([]*Memory, error)

MemorySet gets the Memory objects that are part of this set.

func (*MemorySet) UnmarshalJSON

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

UnmarshalJSON unmarshals a MemorySet object from the raw JSON.

type MemoryStatistics added in v0.16.0

type MemoryStatistics struct {
	// AvailableBytes shall contain the amount of memory available in bytes for starting new processes without
	// swapping. This includes free memory and reclaimable cache and buffers.
	AvailableBytes int
	// BuffersAndCacheBytes shall contain the amount of memory used in bytes by kernel buffers, page caches, and slabs.
	BuffersAndCacheBytes int
	// FreeBytes shall contain the amount of free memory in bytes.
	FreeBytes int
	// SharedBytes shall contain the amount of shared memory in bytes. This includes things such as memory consumed by
	// temporary file systems.
	SharedBytes int
	// TotalBytes shall contain the total amount of memory in bytes.
	TotalBytes int
	// UsedBytes shall contain the amount of used memory in bytes. This value is calculated as TotalBytes minus
	// FreeBytes minus BuffersAndCacheBytes.
	UsedBytes int
}

MemoryStatistics shall contain the memory statistics of a manager.

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 Menu struct {
	// The user-readable display string of this menu in the defined language.
	DisplayName string
	// The ascending order, as a number, in which this menu appears relative to other menus.
	DisplayOrder int64
	// An indication of whether this menu is grayed out.
	GrayOut bool
	// An indication of whether this menu is hidden in user interfaces.
	Hidden bool
	// The unique name string of this menu.
	MenuName string
	// The path to the menu names that describes this menu
	// hierarchy relative to other menus.
	MenuPath string
	// Oem contains all the vendor specific information.
	Oem json.RawMessage
	// An indication of whether this menu is read-only.
	ReadOnly bool
}

Menu represents the attributes menus and their hierarchy in the attribute registry.

type Message added in v0.16.0

type Message struct {
	// Message shall contain a human-readable message.
	Message string
	// MessageArgs shall contain an array of message arguments that are substituted for the arguments in the message
	// when looked up in the message registry. It has the same semantics as the MessageArgs property in the Redfish
	// MessageRegistry schema. If the corresponding ParamType value contains 'number', the service shall convert the
	// number to a string representation of the number.
	MessageArgs []string
	// MessageID shall contain a MessageId, as defined in the 'MessageId format' clause of the Redfish Specification.
	MessageID string
	// MessageSeverity shall contain the severity of the message. Services can replace the value defined in the message
	// registry with a value more applicable to the implementation.
	MessageSeverity string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RelatedProperties shall contain an array of RFC6901-defined JSON pointers indicating the properties described by
	// the message, if appropriate for the message.
	RelatedProperties []string
	// Resolution shall contain the resolution of the message. Services can replace the resolution defined in the
	// message registry with a more specific resolution in message payloads.
	Resolution string
	// ResolutionSteps shall contain an array of recommended steps to resolve the situation that caused the message.
	// This property shall not be present if the MessageSeverity or Severity properties contain 'OK'.
	ResolutionSteps []ResolutionStep
}

Message shall contain a message that the Redfish service returns, as described in the Redfish Specification.

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
	// Language shall contain an RFC5646-conformant language code.
	Language string
	// Messages shall contain the message keys contained in the message registry. The message keys are the suffix of
	// the MessageId and shall be unique within this message registry.
	Messages map[string]MessageRegistryMessage
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// OwningEntity shall represent the publisher of this message registry.
	OwningEntity 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
}

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, 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"`
	// 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
	// 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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 {
	// ArchiveFile shall contain the file name of the individual registry file within the archive file specified by the
	// ArchiveUri property. The file name shall conform to the Redfish Specification-specified syntax.
	ArchiveFile string
	// ArchiveURI shall contain a URI that is colocated with the Redfish service that specifies the location of the
	// registry file, which can be retrieved using the Redfish protocol and authentication methods. This property shall
	// be used for only ZIP or other archive files. The ArchiveFile property shall contain the file name of the
	// individual registry file within the archive file.
	ArchiveURI string
	// Language shall contain an RFC5646-conformant language code or 'default'.
	Language string
	// PublicationURI shall contain a URI not colocated with the Redfish service that specifies the canonical location
	// of the registry file. This property shall be used for only individual registry files.
	PublicationURI string
	// Uri shall contain a URI colocated with the Redfish service that specifies the location of the registry file,
	// which can be retrieved using the Redfish protocol and authentication methods. This property shall be used for
	// only individual registry files. The file name portion of the URI shall conform to Redfish Specification-
	// specified syntax.
	URI string
}

MessageRegistryFileLocation is a location information for the Message Registry file.

type MessageRegistryMessage added in v0.8.0

type MessageRegistryMessage struct {
	// ArgDescriptions shall contain an ordered array of text describing each argument used as substitution in the
	// message.
	ArgDescriptions []string
	// ArgLongDescriptions shall contain an ordered array of normative language for each argument used as substitution
	// in the message.
	ArgLongDescriptions []string
	// ClearingLogic shall contain the available actions for this resource.
	ClearingLogic ClearingLogic
	// Deprecated shall indicate that a message is deprecated. The value of the string should explain the deprecation,
	// including reference to a new message or messages to be used. The message can be supported in new and existing
	// implementations, but usage in new implementations is discouraged. Deprecated messages are likely to be removed
	// in a future major version of the message registry. The ReplacedBy property may be used to provide a reference to
	// a replacement message definition.
	Deprecated string
	// Description is a short description of how and when to use this message.
	Description string
	// LongDescription shall contain the normative language that describes this message's usage in a Redfish
	// implementation.
	LongDescription string
	// MapsToGeneralMessages shall indicate that this message maps to general or less-specific messages that duplicates
	// information about the condition that generated this message. Services may issue the referenced messages along
	// with this message to provide consistency for clients. The array shall contain 'MessageRegistryPrefix.MessageKey'
	// formatted values that describe the message registry and message key used to identify the messages.
	MapsToGeneralMessages []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
	// 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
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ParamTypes are the MessageArg types, in order, for the message.
	ParamTypes []ParamType
	// ReplacedBy shall contain the message registry and message key, in the 'MessageRegistryPrefix.MessageKey' format,
	// that identifies the message that replaces this message. This property may be used to indicate replacement for a
	// deprecated message, including cases where a standardized version replaces an OEM-created message.
	ReplacedBy string
	// Resolution is used to provide suggestions on how to resolve the situation
	// that caused the error.
	Resolution string
	// VersionAdded shall contain the version of the message registry when the message was added. This property shall
	// not appear for messages created at version '1.0.0' of a message registry.
	VersionAdded string
	// VersionDeprecated shall contain the version of the registry when the message was deprecated. This property shall
	// not appear if the message has not been deprecated.
	VersionDeprecated 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
}

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 Metric added in v0.16.0

type Metric struct {
	// CollectionDuration shall specify the duration over which the function is computed.
	CollectionDuration string
	// CollectionFunction shall specify the function to perform on each of the metric properties listed in the
	// MetricProperties property or the metric properties specified in the MetricDefinition referenced by the MetricId
	// property. If not specified, calculations shall not be performed on the metric properties.
	CollectionFunction CalculationAlgorithmEnum
	// CollectionTimeScope shall specify the scope of time over which the function is applied.
	CollectionTimeScope CollectionTimeScope
	// MetricID shall contain the value of the ID property of the MetricDefinition resource that contains the metric
	// properties to include in the metric report. This property should not be present if MetricProperties is present.
	MetricID string
	// MetricProperties shall contain a list of URIs with wildcards and property identifiers to include in the metric
	// report. A set of curly braces shall delimit each wildcard in the URI. The corresponding entry in the Wildcard
	// property shall replace each wildcard. After each wildcard is replaced, it shall describe a resource property to
	// include in the metric report. The property identifiers portion of the URI shall follow RFC6901-specified JSON
	// pointer notation rules. This property should not be present if MetricId is present.
	MetricProperties []string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

Metric shall specify a set of metrics to include in the metric report. The algorithm specified by CollectionFunction, if present, shall be applied to each of the metric properties listed in the MetricProperties property or the metric properties specified in the MetricDefinition referenced by the MetricId property prior to being included in the metric report.

type MetricDataType added in v0.16.0

type MetricDataType string

MetricDataType shall describe the data type of the related metric values as defined by JSON data types.

const (
	// BooleanMetricDataType The JSON boolean definition.
	BooleanMetricDataType MetricDataType = "Boolean"
	// DateTimeMetricDataType The JSON string definition with the date-time format.
	DateTimeMetricDataType MetricDataType = "DateTime"
	// DecimalMetricDataType The JSON decimal definition.
	DecimalMetricDataType MetricDataType = "Decimal"
	// IntegerMetricDataType The JSON integer definition.
	IntegerMetricDataType MetricDataType = "Integer"
	// StringMetricDataType The JSON string definition.
	StringMetricDataType MetricDataType = "String"
	// EnumerationMetricDataType The JSON string definition with a set of defined enumerations.
	EnumerationMetricDataType MetricDataType = "Enumeration"
)

type MetricDefinition added in v0.16.0

type MetricDefinition 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"`
	// Accuracy shall contain the percent error +/- of the measured versus actual values. The property is not
	// meaningful when the MetricType property is 'Discrete'.
	Accuracy float64
	// Calculable shall specify whether the metric can be used in a calculation.
	Calculable Calculable
	// CalculationAlgorithm shall contain the calculation performed to obtain the metric.
	CalculationAlgorithm CalculationAlgorithmEnum
	// CalculationParameters shall list the metric properties that are part of a calculation that this metric
	// definition defines. This property should be present if ImplementationType contains 'Synthesized' or
	// 'Calculated'.
	CalculationParameters []CalculationParamsType
	// CalculationTimeInterval shall specify the time interval over the metric calculation is performed.
	CalculationTimeInterval string
	// Calibration shall contain the calibration offset added to the metric reading. The value shall have the units
	// specified in the Units property. The property is not meaningful when the MetricType property is 'Discrete'.
	Calibration float64
	// Description provides a description of this resource.
	Description string
	// DiscreteValues shall specify the possible values of the discrete metric. This property shall have values when
	// the MetricType property is 'Discrete'.
	DiscreteValues []string
	// Implementation shall specify the implementation of the metric.
	Implementation ImplementationType
	// IsLinear shall indicate whether the metric values are linear versus non-linear. Linear metrics can use a greater
	// than relation to compared them. An example of linear metrics include performance metrics. Examples of non-linear
	// metrics include error codes.
	IsLinear bool
	// LogicalContexts shall contain the logical contexts related to the metric. This property should be present when
	// the PhysicalContext property does not provide complete information and additional context information is needed.
	// For example, if the metric refers to capacity or performance.
	LogicalContexts []LogicalContext
	// MaxReadingRange shall indicate the highest possible value for a related MetricValue. The value shall have the
	// units specified in the property Units. The property is not meaningful when the MetricType property is
	// 'Discrete'.
	MaxReadingRange float64
	// MetricDataType shall specify the data-type of the metric.
	MetricDataType MetricDataType
	// MetricProperties shall list the URIs with wildcards and property identifiers that this metric defines. A set of
	// curly braces shall delimit each wildcard in the URI. The corresponding entry in the Wildcard property shall
	// replace each wildcard. After each wildcard is replaced, it shall identify a resource property to which the
	// metric definition applies. The property identifiers portion of the URI shall follow RFC6901-defined JSON pointer
	// notation rules. This property should not be present if ImplementationType contains 'Synthesized' or
	// 'Calculated'.
	MetricProperties []string
	// MetricType shall specify the type of metric.
	MetricType MetricType
	// MinReadingRange shall contain the lowest possible value for the metric reading. The value shall have the units
	// specified in the property Units. The property is not meaningful when the MetricType property is 'Discrete'.
	MinReadingRange float64
	// OEMCalculationAlgorithm shall contain the OEM-defined calculation performed to obtain the metric. This property
	// shall be present if CalculationAlgorithm is 'OEM'.
	OEMCalculationAlgorithm string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PhysicalContext shall contain the physical context of the metric.
	PhysicalContext PhysicalContext
	// Precision shall specify the number of significant digits in the metric reading. The property is not meaningful
	// when the MetricType property is 'Discrete'.
	Precision int
	// SensingInterval shall specify the time interval between when a metric is updated.
	SensingInterval string
	// TimestampAccuracy shall specify the expected + or - variability of the timestamp.
	TimestampAccuracy string
	// Units shall specify the units of the metric. This property shall be consistent with the case-sensitive ('C/s'
	// column) Unified Code for Units of Measure. Note: Not all units of measure are covered by UCUM.
	Units string
	// Wildcards shall contain a list of wildcards and their replacement strings, which are applied to the
	// MetricProperties array property. Each wildcard shall have a corresponding entry in this array property.
	Wildcards []Wildcard
	// contains filtered or unexported fields
}

MetricDefinition shall contain the metadata information for a metric in a Redfish implementation.

func GetMetricDefinition added in v0.16.0

func GetMetricDefinition(c common.Client, uri string) (*MetricDefinition, error)

GetMetricDefinition will get a MetricDefinition instance from the service.

func ListReferencedMetricDefinitions added in v0.16.0

func ListReferencedMetricDefinitions(c common.Client, link string) ([]*MetricDefinition, error)

ListReferencedMetricDefinitions gets the collection of MetricDefinition from a provided reference.

func (*MetricDefinition) UnmarshalJSON added in v0.16.0

func (metricdefinition *MetricDefinition) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MetricDefinition object from the raw JSON.

func (*MetricDefinition) Update added in v0.16.0

func (metricdefinition *MetricDefinition) Update() error

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

type MetricReport added in v0.16.0

type MetricReport 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"`
	// Context shall contain a client supplied context for the event destination to which this event is being sent.
	// This property shall only be present when sent as a payload in an event.
	Context string
	// Description provides a description of this resource.
	Description string

	// MetricValues shall be metric values for this metric report.
	MetricValues []MetricValue
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Timestamp shall contain the time when the metric report was generated.
	Timestamp string
	// contains filtered or unexported fields
}

MetricReport shall represent a metric report in a Redfish implementation. When a metric report is deleted, the historic metric data used to generate the report shall be deleted as well unless other metric reports are consuming the data.

func GetMetricReport added in v0.16.0

func GetMetricReport(c common.Client, uri string) (*MetricReport, error)

GetMetricReport will get a MetricReport instance from the service.

func ListReferencedMetricReports added in v0.16.0

func ListReferencedMetricReports(c common.Client, link string) ([]*MetricReport, error)

ListReferencedMetricReports gets the collection of MetricReport from a provided reference.

func (*MetricReport) MetricReportDefinition added in v0.16.0

func (metricreport *MetricReport) MetricReportDefinition() (*MetricReportDefinition, error)

MetricReportDefinition gets the definition for this metric

func (*MetricReport) UnmarshalJSON added in v0.16.0

func (metricreport *MetricReport) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MetricReport object from the raw JSON.

type MetricReportDefinition added in v0.16.0

type MetricReportDefinition 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"`
	// AppendLimit shall contain a number that indicates the maximum number of entries that can be appended to a metric
	// report. When the metric report reaches its limit, its behavior shall be dictated by the ReportUpdates property.
	// This property shall be required if ReportUpdates contains 'AppendWrapsWhenFull' or 'AppendStopsWhenFull'.
	AppendLimit int
	// Description provides a description of this resource.
	Description string
	// MetricProperties shall contain a list of URIs with wildcards and property identifiers to include in the metric
	// report. A set of curly braces shall delimit each wildcard in the URI. The corresponding entry in the Wildcard
	// property shall replace each wildcard. After each wildcard is replaced, it shall describe a resource property to
	// include in the metric report. The property identifiers portion of the URI shall follow RFC6901-specified JSON
	// pointer notation rules.
	MetricProperties []string
	// MetricReport shall contain a link to a resource of type MetricReport that represents the most recent metric
	// report produced by this metric report definition.
	MetricReport string
	// MetricReportDefinitionEnabled shall indicate whether the generation of new metric reports is enabled.
	MetricReportDefinitionEnabled bool
	// MetricReportDefinitionType shall specify when the metric report is generated. If the value is 'Periodic', the
	// Schedule property shall be present.
	MetricReportDefinitionType MetricReportDefinitionType
	// MetricReportHeartbeatInterval shall contain a Redfish duration that describes the time interval between
	// generations of the unsuppressed metric report. It shall always be a value greater than the RecurrenceInterval
	// property within Schedule and should only apply when the SuppressRepeatedMetricValue property is 'true'.
	MetricReportHeartbeatInterval string
	// Metrics shall contain a list of metrics to include in the metric report. The metrics may include calculations to
	// apply to metric properties.
	Metrics []Metric
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ReportActions shall contain the set of actions to perform when the metric report is generated. This property
	// should be ignored if MetricReportDefinitionType contains the value 'OnRequest'.
	ReportActions []ReportActionsEnum
	// ReportTimespan shall contain the maximum timespan that a metric report can cover.
	ReportTimespan string
	// ReportUpdates shall contain the behavior for how subsequent metric reports are handled in relationship to an
	// existing metric report created from the metric report definition. This property should be ignored if
	// MetricReportDefinitionType contains the value 'OnRequest'.
	ReportUpdates ReportUpdatesEnum
	// Schedule shall contain the schedule of the metric report. The metric report shall be generated at an interval
	// specified by the RecurrenceInterval property within Schedule. If the MaxOccurrences property within Schedule is
	// specified, the metric report shall no longer be generated after the specified number of occurrences. The State
	// property within Status should be set to 'Disabled' and the MetricReportDefinitionEnabled property should be set
	// to 'false' when the specified number of occurrences is reached.
	Schedule common.Schedule
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// SuppressRepeatedMetricValue shall indicate whether any metrics are suppressed from the generated metric report.
	// If 'true', any metric that equals the same value in the previously generated metric report is suppressed from
	// the current report. Also, duplicate metrics are suppressed. If 'false', no metrics are suppressed from the
	// current report. The current report may contain no metrics if all metrics equal the values in the previously
	// generated metric report.
	SuppressRepeatedMetricValue bool
	// Wildcards shall contain a set of wildcards and their replacement strings, which are applied to the
	// MetricProperties property. Each wildcard expressed in the MetricProperties property shall have a corresponding
	// entry in this property.
	Wildcards []Wildcard

	// TriggersCount is the number of linked triggers.
	TriggersCount int
	// contains filtered or unexported fields
}

MetricReportDefinition shall specify a set of metrics that shall be collected into a metric report in a Redfish implementation.

func GetMetricReportDefinition added in v0.16.0

func GetMetricReportDefinition(c common.Client, uri string) (*MetricReportDefinition, error)

GetMetricReportDefinition will get a MetricReportDefinition instance from the service.

func ListReferencedMetricReportDefinitions added in v0.16.0

func ListReferencedMetricReportDefinitions(c common.Client, link string) ([]*MetricReportDefinition, error)

ListReferencedMetricReportDefinitions gets the collection of MetricReportDefinition from a provided reference.

func (*MetricReportDefinition) Triggers added in v0.16.0

func (metricreportdefinition *MetricReportDefinition) Triggers() ([]*Triggers, error)

Triggers get the associated triggers.

func (*MetricReportDefinition) UnmarshalJSON added in v0.16.0

func (metricreportdefinition *MetricReportDefinition) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MetricReportDefinition object from the raw JSON.

func (*MetricReportDefinition) Update added in v0.16.0

func (metricreportdefinition *MetricReportDefinition) Update() error

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

type MetricReportDefinitionType added in v0.16.0

type MetricReportDefinitionType string

MetricReportDefinitionType shall specify when the metric report is generated.

const (
	// PeriodicMetricReportDefinitionType The metric report is generated at a periodic time interval, specified in the
	// Schedule property.
	PeriodicMetricReportDefinitionType MetricReportDefinitionType = "Periodic"
	// OnChangeMetricReportDefinitionType The metric report is generated when any of the metric values change.
	OnChangeMetricReportDefinitionType MetricReportDefinitionType = "OnChange"
	// OnRequestMetricReportDefinitionType The metric report is generated when a HTTP GET is performed on the specified
	// metric report.
	OnRequestMetricReportDefinitionType MetricReportDefinitionType = "OnRequest"
)

type MetricType added in v0.16.0

type MetricType string

MetricType shall contain the type of metric.

const (
	// NumericMetricType The metric is a numeric metric. The metric value is any real number.
	NumericMetricType MetricType = "Numeric"
	// DiscreteMetricType shall indicate discrete states.
	DiscreteMetricType MetricType = "Discrete"
	// GaugeMetricType The metric is a gauge metric. The metric value is a real number. When the metric value reaches
	// the gauge's extrema, it stays at that value, until the reading falls within the extrema.
	GaugeMetricType MetricType = "Gauge"
	// CounterMetricType The metric is a counter metric. The metric reading is a non-negative integer that increases
	// monotonically. When a counter reaches its maximum, the value resets to 0 and resumes counting.
	CounterMetricType MetricType = "Counter"
	// CountdownMetricType The metric is a countdown metric. The metric reading is a non-negative integer that
	// decreases monotonically. When a counter reaches its minimum, the value resets to preset value and resumes
	// counting down.
	CountdownMetricType MetricType = "Countdown"
	// StringMetricType The metric is a non-discrete string metric. The metric reading is a non-discrete string that
	// displays some non-discrete, non-numeric data.
	StringMetricType MetricType = "String"
)

type MetricTypeEnum added in v0.16.0

type MetricTypeEnum string

MetricTypeEnum shall specify the type of metric for which the trigger is configured.

const (
	// NumericMetricTypeEnum The trigger is for numeric sensor.
	NumericMetricTypeEnum MetricTypeEnum = "Numeric"
	// DiscreteMetricTypeEnum The trigger is for a discrete sensor.
	DiscreteMetricTypeEnum MetricTypeEnum = "Discrete"
)

type MetricValue added in v0.16.0

type MetricValue struct {
	// MetricID shall contain the value of the ID property of the MetricDefinition resource that contains additional
	// information for the source metric.
	MetricID string
	// MetricProperty shall contain a URI following RFC6901-specified JSON pointer notation to the property from which
	// this metric is derived. The value of MetricValue may contain additional calculations performed on the property
	// based upon the configuration of the MetricReportDefinition.
	MetricProperty string
	// MetricValue shall contain the metric value, as a string.
	MetricValue string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Timestamp shall time when the metric value was obtained. Note that this value may be different from the time
	// when this instance is created.
	Timestamp string
}

MetricValue shall contain properties that capture a metric value and other associated information.

type MicrosoftAuthenticator added in v0.16.0

type MicrosoftAuthenticator struct {
	// Enabled shall indicate whether multi-factor authentication with Microsoft Authenticator is enabled.
	Enabled bool
	// SecretKey shall contain the client key to use when communicating with the Microsoft Authenticator server. The
	// value shall be 'null' in responses.
	SecretKey string
	// SecretKeySet shall contain 'true' if a valid value was provided for the SecretKey property. Otherwise, the
	// property shall contain 'false'.
	SecretKeySet string
}

MicrosoftAuthenticator shall contain settings for Microsoft Authenticator multi-factor authentication.

type MonthOfYear added in v0.16.0

type MonthOfYear string

MonthOfYear is the months of the year.

const (
	// JanuaryMonthOfYear January.
	JanuaryMonthOfYear MonthOfYear = "January"
	// FebruaryMonthOfYear February.
	FebruaryMonthOfYear MonthOfYear = "February"
	// MarchMonthOfYear March.
	MarchMonthOfYear MonthOfYear = "March"
	// AprilMonthOfYear April.
	AprilMonthOfYear MonthOfYear = "April"
	// MayMonthOfYear May.
	MayMonthOfYear MonthOfYear = "May"
	// JuneMonthOfYear June.
	JuneMonthOfYear MonthOfYear = "June"
	// JulyMonthOfYear July.
	JulyMonthOfYear MonthOfYear = "July"
	// AugustMonthOfYear August.
	AugustMonthOfYear MonthOfYear = "August"
	// SeptemberMonthOfYear September.
	SeptemberMonthOfYear MonthOfYear = "September"
	// OctoberMonthOfYear October.
	OctoberMonthOfYear MonthOfYear = "October"
	// NovemberMonthOfYear November.
	NovemberMonthOfYear MonthOfYear = "November"
	// DecemberMonthOfYear December.
	DecemberMonthOfYear MonthOfYear = "December"
	// EveryMonthOfYear shall be the only member in the array.
	EveryMonthOfYear MonthOfYear = "Every"
)

type MountPoint added in v0.16.0

type MountPoint struct {
	// Destination shall contain the file system path in the container that is provided as the mount point to access
	// the files and folders specified by the Source property.
	Destination string
	// Source shall contain the file system path from the hosting system that is provided to this container.
	Source string
}

MountPoint shall contain a file system mount point configured for a container.

type MultiFactorAuth added in v0.16.0

type MultiFactorAuth struct {
	// ClientCertificate shall contain the settings related to client certificate authentication.
	ClientCertificate ClientCertificate
	// GoogleAuthenticator shall contain the settings related to Google Authenticator multi-factor authentication.
	GoogleAuthenticator GoogleAuthenticator
	// MicrosoftAuthenticator shall contain the settings related to Microsoft Authenticator multi-factor
	// authentication.
	MicrosoftAuthenticator MicrosoftAuthenticator
	// OneTimePasscode shall contain the settings related to one-time passcode multi-factor authentication.
	OneTimePasscode OneTimePasscode
	// SecurID shall contain the settings related to RSA SecurID multi-factor authentication.
	SecurID SecurID
}

MultiFactorAuth shall contain multi-factor authentication settings.

type MultiplePaths added in v0.16.0

type MultiplePaths struct {
	// MaximumPaths shall contain the maximum number of paths for multiple path operation.
	MaximumPaths int
	// UseMultiplePathsEnabled shall indicate whether multiple paths should be advertised. If 'true', Border Gateway
	// Protocol (BGP) advertises multiple paths for the same prefix for path diversity. If 'false', it advertises based
	// on best path selection.
	UseMultiplePathsEnabled bool
}

MultiplePaths shall contain properties that are applicable to configuring Border Gateway Protocol (BGP) multiple path related properties.

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 NTP added in v0.15.0

type NTP struct {
	NetworkProtocol

	// Indicates to which user-supplied NTP servers this manager is
	// subscribed
	NTPServers []string
	// The NTP servers supplied by other network protocols to this
	// manager
	NetworkSuppliedServers []string
}

type NVMeControllerAttributes added in v0.17.0

type NVMeControllerAttributes struct {
	// ReportsNamespaceGranularity shall indicate whether or not the controller supports reporting of Namespace
	// Granularity.
	ReportsNamespaceGranularity bool
	// ReportsUUIDList shall indicate whether or not the controller supports reporting of a UUID list.
	ReportsUUIDList bool
	// Supports128BitHostID shall indicate whether or not the controller supports a 128-bit Host Identifier.
	Supports128BitHostID bool
	// SupportsEnduranceGroups shall indicate whether or not the controller supports Endurance Groups.
	SupportsEnduranceGroups bool
	// SupportsExceedingPowerOfNonOperationalState shall indicate whether or not the controller supports exceeding
	// Power of Non-Operational State in order to execute controller-initiated background operations in a non-
	// operational power state.
	SupportsExceedingPowerOfNonOperationalState bool
	// SupportsNVMSets shall indicate whether or not the controller supports NVM Sets.
	SupportsNVMSets bool
	// SupportsPredictableLatencyMode shall indicate whether or not the controller supports Predictable Latency Mode.
	SupportsPredictableLatencyMode bool
	// SupportsReadRecoveryLevels shall indicate whether or not the controller supports Read Recovery Levels.
	SupportsReadRecoveryLevels bool
	// SupportsReservations shall indicate if the controller supports reservations.
	SupportsReservations bool
	// SupportsSQAssociations shall indicate whether or not the controller supports SQ Associations.
	SupportsSQAssociations bool
	// SupportsTrafficBasedKeepAlive shall indicate whether or not the controller supports restarting the Keep Alive
	// Timer if traffic is processed from an admin command or I/O during a Keep Alive Timeout interval.
	SupportsTrafficBasedKeepAlive bool
}

NVMeControllerAttributes shall contain NVMe controller attributes for a storage controller.

type NVMeControllerProperties added in v0.17.0

type NVMeControllerProperties struct {
	// ANACharacteristics shall contain the ANA characteristics and volume information.
	ANACharacteristics []ANACharacteristics
	// AllocatedCompletionQueues shall contain the number of I/O completion queues allocated to this NVMe I/O
	// controller.
	AllocatedCompletionQueues int
	// AllocatedSubmissionQueues shall contain the number of I/O submission queues allocated to this NVMe I/O
	// controller.
	AllocatedSubmissionQueues int
	// ControllerType shall contain the type of NVMe controller.
	ControllerType NVMeControllerType
	// MaxQueueSize shall contain the maximum individual queue entry size supported per queue. This is a zero-based
	// value, where the minimum value is one, indicating two entries. For PCIe, this applies to both submission and
	// completion queues. For NVMe-oF, this applies only to submission queues.
	MaxQueueSize int
	// NVMeControllerAttributes shall contain NVMe controller attributes.
	NVMeControllerAttributes NVMeControllerAttributes
	// NVMeSMARTCriticalWarnings shall contain the NVMe SMART Critical Warnings for this storage controller. This
	// property can contain possible triggers for the predictive drive failure warning for the corresponding drive.
	NVMeSMARTCriticalWarnings NVMeSMARTCriticalWarnings
	// NVMeVersion shall contain the version of the NVMe Base Specification supported.
	NVMeVersion string
}

NVMeControllerProperties shall contain NVMe-related properties for a storage controller.

type NVMeControllerType added in v0.17.0

type NVMeControllerType string
const (
	// AdminNVMeController NVMe controller is an admin controller.
	AdminNVMeControllerType NVMeControllerType = "Admin"
	// DiscoveryNVMeController NVMe controller is a discovery controller.
	DiscoveryNVMeControllerType NVMeControllerType = "Discovery"
	// IONVMeController NVMe controller is an I/O controller.
	IONVMeControllerType NVMeControllerType = "IO"
)

type NVMeNamespaceProperties added in v0.16.0

type NVMeNamespaceProperties struct {
	// FormattedLBASize shall contain the LBA data size and metadata size combination that the namespace has been
	// formatted with. This is a 4-bit data structure.
	FormattedLBASize string
	// IsShareable shall indicate whether the namespace is shareable.
	IsShareable bool
	// LBAFormat shall describe the current LBA format ID and corresponding detailed properties, such as the LBA data
	// size and metadata size. Use the LBAFormats property to describe namespace capabilities in a collection
	// capabilities annotation.
	LBAFormat LBAFormat
	// LBAFormats shall describe the LBA format IDs and corresponding detailed properties, such as the LBA data size
	// and metadata size. This property is intended for use in a collection capabilities annotation. Use the LBAFormat
	// property on an instance of a namespace.
	LBAFormats []LBAFormat
	// LBAFormatsSupported shall be a list of the LBA formats supported for the namespace, or potential namespaces.
	LBAFormatsSupported []string
	// MetadataTransferredAtEndOfDataLBA shall indicate whether or not the metadata is transferred at the end of the
	// LBA creating an extended data LBA.
	MetadataTransferredAtEndOfDataLBA bool
	// NVMeVersion shall contain the version of the NVMe Base Specification supported.
	NVMeVersion string
	// NamespaceFeatures shall contain a set of Namespace Features.
	NamespaceFeatures NamespaceFeatures
	// NamespaceID shall contain the NVMe Namespace Identifier for this namespace. This property shall be a hex value.
	// Namespace identifiers are not durable and do not have meaning outside the scope of the NVMe subsystem. NSID 0x0,
	// 0xFFFFFFFF, 0xFFFFFFFE are special purpose values.
	NamespaceID string
	// NamespaceType shall identify the type of namespace.
	NamespaceType string
	// NumberLBAFormats shall contain the number of LBA data size and metadata size combinations supported by this
	// namespace. The value of this property is between 0 and 16. LBA formats with an index set beyond this value will
	// not be supported.
	NumberLBAFormats int
	// Type shall identify the type of namespace.
	Type string
}

NVMeNamespaceProperties This contains properties to use when Volume is used to describe an NVMe Namespace.

type NVMeSMARTCriticalWarnings added in v0.17.0

type NVMeSMARTCriticalWarnings struct {
	// MediaInReadOnly shall indicate the media has been placed in read-only mode. This is not set when the read-only
	// condition of the media is a result of a change in the write protection state of a namespace.
	MediaInReadOnly bool
	// OverallSubsystemDegraded shall indicate that the NVM subsystem reliability has been compromised.
	OverallSubsystemDegraded bool
	// PMRUnreliable shall indicate that the Persistent Memory Region has become unreliable. PCIe memory reads can
	// return invalid data or generate poisoned PCIe TLP(s). Persistent Memory Region memory writes might not update
	// memory or might update memory with undefined data. The Persistent Memory Region might also have become non-
	// persistent.
	PMRUnreliable bool
	// PowerBackupFailed shall indicate that the volatile memory backup device has failed.
	PowerBackupFailed bool
	// SpareCapacityWornOut shall indicate that the available spare capacity has fallen below the threshold.
	SpareCapacityWornOut bool
}

NVMeSMARTCriticalWarnings shall contain the NVMe SMART Critical Warnings for a storage controller.

type NVMeSMARTMetrics added in v0.16.0

type NVMeSMARTMetrics struct {
	// AvailableSparePercent shall contain the NVMe-defined 'Available Spare', which represents the normalized
	// percentage, '0' to '100', of the remaining spare capacity available.
	AvailableSparePercent float64
	// AvailableSpareThresholdPercent shall contain the NVMe-defined 'Available Spare Threshold' as a percentage, '0'
	// to '100'. When the available spare falls below this value, an asynchronous event completion may occur.
	AvailableSpareThresholdPercent float64
	// CompositeTemperatureCelsius shall contain the composite temperature in degree Celsius units for this storage
	// controller. Services shall derive this value from the NVMe-defined 'Composite Temperature', which represents a
	// composite temperature in kelvin units of the controller and namespaces associated with that controller.
	CompositeTemperatureCelsius float64
	// ControllerBusyTimeMinutes shall contain the NVMe-defined 'Controller Busy Time', which represents the total time
	// the controller is busy with I/O commands in minutes.
	ControllerBusyTimeMinutes int
	// CriticalCompositeTempTimeMinutes shall contain the NVMe-defined 'Critical Composite Temperature Time', which
	// represents the amount of time in minutes that the controller has been operational and that the composite
	// temperature has been greater than or equal to the critical composite temperature threshold.
	CriticalCompositeTempTimeMinutes int
	// CriticalWarnings shall contain the NVMe-defined 'Critical Warning'.
	CriticalWarnings NVMeSMARTCriticalWarnings
	// DataUnitsRead shall contain the NVMe-defined 'Data Units Read', which represents the number of 512 byte data
	// units the host has read from the controller as part of processing a SMART Data Units Read Command in units of
	// one thousand.
	DataUnitsRead int
	// DataUnitsWritten shall contain the NVMe-defined 'Data Units Written', which represents the number of 512 byte
	// data units the host has written to the controller as part of processing a User Data Out Command in units of one
	// thousand.
	DataUnitsWritten int
	// EGCriticalWarningSummary shall contain the NVMe-defined 'Endurance Group Critical Warning Summary'.
	EGCriticalWarningSummary EGCriticalWarningSummary
	// HostReadCommands shall contain the NVMe-defined 'Host Read Commands', which represents the number of SMART Host
	// Read Commands completed by the controller.
	HostReadCommands int
	// HostWriteCommands shall contain the NVMe-defined 'Host Write Commands', which represents the number of User Data
	// Out Commands completed by the controller.
	HostWriteCommands int
	// MediaAndDataIntegrityErrors shall contain the NVMe-defined 'Media and Data Integrity Errors', which represents
	// the number of occurrences where the controller detected an unrecovered data integrity error.
	MediaAndDataIntegrityErrors int
	// NumberOfErrorInformationLogEntries shall contain the NVMe-defined 'Number of Error Information Log Entries',
	// which represents the number of error information log entries over the life of the controller.
	NumberOfErrorInformationLogEntries int
	// PercentageUsed shall contain the NVMe-defined 'Percentage Used', which represents a vendor-specific estimate of
	// the percentage of the NVM subsystem life used based on the actual usage and the manufacturer's prediction of NVM
	// life. A value of '100' indicates that the estimated endurance of the NVM in the NVM subsystem has been consumed,
	// but this may not indicate an NVM subsystem failure. The value is allowed to exceed '100'. Percentages greater
	// than '254' shall be represented as '255'.
	PercentageUsed float64
	// PowerCycles shall contain the NVMe-defined 'Power Cycles', which represents the number of power cycles.
	PowerCycles int
	// PowerOnHours shall contain the NVMe-defined 'Power On Hours', which represents the number of power-on hours.
	PowerOnHours float64
	// TemperatureSensorsCelsius shall contain an array of temperature sensor readings in degree Celsius units for this
	// storage controller. Services shall derive each array member from the NVMe-defined 'Temperature Sensor' values,
	// which represent a temperature sensor reading in kelvin units.
	TemperatureSensorsCelsius []int
	// ThermalMgmtTemp1TotalTimeSeconds shall contain the NVMe-defined 'Total Time For Thermal Management Temperature
	// 1', which represents the number of seconds the controller transitioned to lower power states or performed
	// vendor-specific thermal-management actions while minimizing the impact on performance in order to attempt to
	// reduce the composite temperature.
	ThermalMgmtTemp1TotalTimeSeconds int
	// ThermalMgmtTemp1TransitionCount shall contain the NVMe-defined 'Thermal Management Temperature 1 Transition
	// Count', which represents the number of times the controller transitioned to lower power states or performed
	// vendor-specific thermal-management actions while minimizing the impact on performance in order to attempt to
	// reduce the composite temperature.
	ThermalMgmtTemp1TransitionCount int
	// ThermalMgmtTemp2TotalTimeSeconds shall contain the NVMe-defined 'Total Time For Thermal Management Temperature
	// 2', which represents the number of seconds the controller transitioned to lower power states or performed
	// vendor-specific thermal-management actions regardless of the impact on performance in order to attempt to reduce
	// the composite temperature.
	ThermalMgmtTemp2TotalTimeSeconds int
	// ThermalMgmtTemp2TransitionCount shall contain the NVMe-defined 'Thermal Management Temperature 2 Transition
	// Count', which represents the number of times the controller transitioned to lower power states or performed
	// vendor-specific thermal-management actions regardless of the impact on performance in order to attempt to reduce
	// the composite temperature.
	ThermalMgmtTemp2TransitionCount int
	// UnsafeShutdowns shall contain the NVMe-defined 'Unsafe Shutdowns', which represents the number of times when the
	// controller does not report it is safe to power down prior to loss of main power.
	UnsafeShutdowns int
	// WarningCompositeTempTimeMinutes shall contain the NVMe-defined 'Warning Composite Temperature Time', which
	// represents the amount of time in minutes that the controller has been operational and that the composite
	// temperature has been greater than or equal to the warning composite temperature threshold.
	WarningCompositeTempTimeMinutes int
}

NVMeSMARTMetrics shall contain the NVMe SMART metrics as defined by the NVMe SMART/Health Information log page.

type NVMeoF added in v0.16.0

type NVMeoF struct {
	// CipherSuiteAllowList shall contain the cipher suites that this key policy allows. The absence of the property
	// shall indicate any cipher suite is allowed. An empty list shall indicate no cipher suites are allowed.
	CipherSuiteAllowList []NVMeoFCipherSuiteType
	// DHGroupAllowList shall contain the Diffie-Hellman (DH) groups that this key policy allows. The absence of the
	// property shall indicate any DH group is allowed. An empty list shall indicate no DH groups are allowed.
	DHGroupAllowList []NVMeoFDHGroupType
	// OEMSecurityProtocolAllowList shall contain the OEM-defined security protocols that this key policy allows. NVMe-
	// oF channels are restricted to OEM-defined security protocols in this list. An empty list shall indicate no
	// security protocols are allowed. This property shall be present if SecurityProtocolAllowList contains 'OEM'.
	OEMSecurityProtocolAllowList []string
	// SecureHashAllowList shall contain the secure hash algorithms that this key policy allows. The absence of the
	// property shall indicate any secure hash algorithm is allowed. An empty list shall indicate no secure hash
	// algorithms are allowed.
	SecureHashAllowList []NVMeoFSecureHashType
	// SecurityProtocolAllowList shall contain the security protocols that this key policy allows. NVMe-oF channels are
	// restricted to security protocols in this list. The absence of the property shall indicate any security protocol
	// is allowed. An empty list shall indicate no security protocols are allowed.
	SecurityProtocolAllowList []NVMeoFSecurityProtocolType
	// SecurityTransportAllowList shall contain the security transports that this key policy allows. The absence of the
	// property shall indicate any security transport is allowed. An empty list shall indicate no security transports
	// are allowed.
	SecurityTransportAllowList []NVMeoFSecurityTransportType
}

NVMeoF shall contain NVMe-oF specific properties for a key policy.

type NVMeoFCipherSuiteType added in v0.16.0

type NVMeoFCipherSuiteType string

NVMeoFCipherSuiteType is This enumeration shall list the NVMe cipher suites that a key is allowed to use.

const (
	// TLSAES128GCMSHA256NVMeoFCipherSuiteType shall indicate TLS_AES_128_GCM_SHA256 as defined by the 'Mandatory and
	// Recommended Cipher Suites' clause in the NVMe TCP Transport Specification.
	TLSAES128GCMSHA256NVMeoFCipherSuiteType NVMeoFCipherSuiteType = "TLS_AES_128_GCM_SHA256"
	// TLSAES256GCMSHA384NVMeoFCipherSuiteType shall indicate TLS_AES_256_GCM_SHA384 as defined by the 'Mandatory and
	// Recommended Cipher Suites' clause in the NVMe TCP Transport Specification.
	TLSAES256GCMSHA384NVMeoFCipherSuiteType NVMeoFCipherSuiteType = "TLS_AES_256_GCM_SHA384"
)

type NVMeoFDHGroupType added in v0.16.0

type NVMeoFDHGroupType string

NVMeoFDHGroupType is This enumeration shall list the Diffie-Hellman (DH) groups that a key is allowed to use.

const (
	// FFDHE2048NVMeoFDHGroupType shall indicate the 2048-bit Diffie-Hellman (DH) group as defined by the 'DH-HMAC-CHAP
	// Diffie-Hellman group identifiers' figure in the NVMe Base Specification.
	FFDHE2048NVMeoFDHGroupType NVMeoFDHGroupType = "FFDHE2048"
	// FFDHE3072NVMeoFDHGroupType shall indicate the 3072-bit Diffie-Hellman (DH) group as defined by the 'DH-HMAC-CHAP
	// Diffie-Hellman group identifiers' figure in the NVMe Base Specification.
	FFDHE3072NVMeoFDHGroupType NVMeoFDHGroupType = "FFDHE3072"
	// FFDHE4096NVMeoFDHGroupType shall indicate the 4096-bit Diffie-Hellman (DH) group as defined by the 'DH-HMAC-CHAP
	// Diffie-Hellman group identifiers' figure in the NVMe Base Specification.
	FFDHE4096NVMeoFDHGroupType NVMeoFDHGroupType = "FFDHE4096"
	// FFDHE6144NVMeoFDHGroupType shall indicate the 2048-bit Diffie-Hellman (DH) group as defined by the 'DH-HMAC-CHAP
	// Diffie-Hellman group identifiers' figure in the NVMe Base Specification.
	FFDHE6144NVMeoFDHGroupType NVMeoFDHGroupType = "FFDHE6144"
	// FFDHE8192NVMeoFDHGroupType shall indicate the 8192-bit Diffie-Hellman (DH) group as defined by the 'DH-HMAC-CHAP
	// Diffie-Hellman group identifiers' figure in the NVMe Base Specification.
	FFDHE8192NVMeoFDHGroupType NVMeoFDHGroupType = "FFDHE8192"
)

type NVMeoFSecureHashType added in v0.16.0

type NVMeoFSecureHashType string

NVMeoFSecureHashType is This enumeration shall list the NVMe secure hash algorithms that a key is allowed to use.

const (
	// SHA256NVMeoFSecureHashType shall indicate the SHA-256 hash function as defined by the 'DH-HMAC-CHAP hash
	// function identifiers' figure in the NVMe Base Specification.
	SHA256NVMeoFSecureHashType NVMeoFSecureHashType = "SHA256"
	// SHA384NVMeoFSecureHashType shall indicate the SHA-384 hash function as defined by the 'DH-HMAC-CHAP hash
	// function identifiers' figure in the NVMe Base Specification.
	SHA384NVMeoFSecureHashType NVMeoFSecureHashType = "SHA384"
	// SHA512NVMeoFSecureHashType shall indicate the SHA-512 hash function as defined by the 'DH-HMAC-CHAP hash
	// function identifiers' figure in the NVMe Base Specification.
	SHA512NVMeoFSecureHashType NVMeoFSecureHashType = "SHA512"
)

type NVMeoFSecurityProtocolType added in v0.16.0

type NVMeoFSecurityProtocolType string

NVMeoFSecurityProtocolType is a list of the NVMe security protocols that a key is allowed to use.

const (
	// DHHCNVMeoFSecurityProtocolType shall indicate the Diffie-Hellman Hashed Message Authentication Code Challenge
	// Handshake Authentication Protocol (DH-HMAC-CHAP) as defined by the NVMe Base Specification.
	DHHCNVMeoFSecurityProtocolType NVMeoFSecurityProtocolType = "DHHC"
	// TLSPSKNVMeoFSecurityProtocolType shall indicate Transport Layer Security Pre-Shared Key (TLS PSK) as defined by
	// the NVMe TCP Transport Specification.
	TLSPSKNVMeoFSecurityProtocolType NVMeoFSecurityProtocolType = "TLS_PSK"
	// OEMNVMeoFSecurityProtocolType shall indicate an OEM-defined security protocol. The OEMSecurityProtocolAllowList
	// property shall contain the specific OEM protocol.
	OEMNVMeoFSecurityProtocolType NVMeoFSecurityProtocolType = "OEM"
)

type NVMeoFSecurityTransportType added in v0.16.0

type NVMeoFSecurityTransportType string

NVMeoFSecurityTransportType is This enumeration shall list the NVMe security transports that a key is allowed to use.

const (
	// TLSv2NVMeoFSecurityTransportType shall indicate Transport Layer Security (TLS) v2 as defined by the 'Transport
	// Specific Address Subtype Definition for NVMe/TCP Transport' figure in the NVMe TCP Transport Specification.
	TLSv2NVMeoFSecurityTransportType NVMeoFSecurityTransportType = "TLSv2"
	// TLSv3NVMeoFSecurityTransportType shall indicate Transport Layer Security (TLS) v3 as defined by the 'Transport
	// Specific Address Subtype Definition for NVMe/TCP Transport' figure in the NVMe TCP Transport Specification.
	TLSv3NVMeoFSecurityTransportType NVMeoFSecurityTransportType = "TLSv3"
)

type NamespaceFeatures added in v0.16.0

type NamespaceFeatures struct {
	// SupportsAtomicTransactionSize shall indicate whether or not the NVM fields for Namespace preferred write
	// granularity (NPWG), write alignment (NPWA), deallocate granularity (NPDG), deallocate alignment (NPDA) and
	// optimal write size (NOWS) are defined for this namespace and should be used by the host for I/O optimization.
	SupportsAtomicTransactionSize bool
	// SupportsDeallocatedOrUnwrittenLBError shall indicate that the controller supports deallocated or unwritten
	// logical block error for this namespace.
	SupportsDeallocatedOrUnwrittenLBError bool
	// SupportsIOPerformanceHints shall indicate that the Namespace Atomic Write Unit Normal (NAWUN), Namespace Atomic
	// Write Unit Power Fail (NAWUPF), and Namespace Atomic Compare and Write Unit (NACWU) fields are defined for this
	// namespace and should be used by the host for this namespace instead of the controller-level properties AWUN,
	// AWUPF, and ACWU.
	SupportsIOPerformanceHints bool
	// SupportsNGUIDReuse shall indicate that the namespace supports the use of an NGUID (namespace globally unique
	// identifier) value.
	SupportsNGUIDReuse bool
	// SupportsThinProvisioning shall indicate whether or not the NVMe Namespace supports thin provisioning.
	// Specifically, the namespace capacity reported may be less than the namespace size.
	SupportsThinProvisioning bool
}

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"`
	// ODataEtag is the odata etag.
	ODataEtag string `json:"@odata.etag"`
	// 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

	// Identifiers shall contain a list of all known durable names for the network adapter.
	Identifiers []common.Identifier
	// LLDPEnabled shall contain the state indicating whether LLDP is globally enabled on a network adapter. If set to
	// 'false', the LLDPEnabled value for the ports associated with this adapter shall be disregarded.
	LLDPEnabled bool
	// Location shall contain the location information of the network adapter.
	Location common.Location
	// Manufacturer shall contain a value that represents the manufacturer of
	// the network adapter.
	Manufacturer string
	// Metrics are the metrics associated with this adapter.
	Metrics NetworkAdapterMetrics
	// Model shall contain the information about how the manufacturer references
	// this network adapter.
	Model string

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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) Certificates added in v0.16.0

func (networkadapter *NetworkAdapter) Certificates() ([]*Certificate, error)

Certificatea gets the certificates for device identity and attestation.

func (*NetworkAdapter) EnvironmentMetrics added in v0.16.0

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

EnvironmentMetrics gets the environment metrics for this network adapter.

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) Ports added in v0.16.0

func (networkadapter *NetworkAdapter) Ports() ([]*Port, error)

Ports gets the ports associated with this network adapter.

func (*NetworkAdapter) Processors added in v0.16.0

func (networkadapter *NetworkAdapter) Processors() ([]*Processor, error)

Processors gets the offload processors contained in 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.

func (*NetworkAdapter) Update added in v0.16.0

func (networkadapter *NetworkAdapter) Update() error

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

type NetworkAdapterMetrics added in v0.16.0

type NetworkAdapterMetrics 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"`
	// CPUCorePercent shall contain the device CPU core utilization as a percentage, typically '0' to '100'.
	CPUCorePercent float64
	// Description provides a description of this resource.
	Description string
	// HostBusRXPercent shall contain the host bus, such as PCIe, RX utilization as a percentage, typically '0' to
	// '100', which is calculated by dividing the total bytes received by the theoretical max.
	HostBusRXPercent float64
	// HostBusTXPercent shall contain the host bus, such as PCIe, TX utilization as a percentage, typically '0' to
	// '100', which is calculated by dividing the total bytes transmitted by the theoretical max.
	HostBusTXPercent float64
	// NCSIRXBytes shall contain the total number of NC-SI bytes received since reset, including both passthrough and
	// non-passthrough traffic.
	NCSIRXBytes int
	// NCSIRXFrames shall contain the total number of NC-SI frames received since reset, including both passthrough and
	// non-passthrough traffic.
	NCSIRXFrames int
	// NCSITXBytes shall contain the total number of NC-SI bytes sent since reset, including both passthrough and non-
	// passthrough traffic.
	NCSITXBytes int
	// NCSITXFrames shall contain the total number of NC-SI frames sent since reset, including both passthrough and
	// non-passthrough traffic.
	NCSITXFrames int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RXBytes shall contain the total number of bytes received since reset, including host and remote management
	// passthrough traffic, and inclusive of all protocol overhead.
	RXBytes int
	// RXMulticastFrames shall contain the total number of good multicast frames received since reset.
	RXMulticastFrames int
	// RXUnicastFrames shall contain the total number of good unicast frames received since reset.
	RXUnicastFrames int
	// TXBytes shall contain the total number of bytes transmitted since reset, including host and remote management
	// passthrough traffic, and inclusive of all protocol overhead.
	TXBytes int
	// TXMulticastFrames shall contain the total number of good multicast frames transmitted since reset.
	TXMulticastFrames int
	// TXUnicastFrames shall contain the total number of good unicast frames transmitted since reset.
	TXUnicastFrames int
}

NetworkAdapterMetrics shall represent the network metrics for a single network adapter in a Redfish implementation.

func GetNetworkAdapterMetrics added in v0.16.0

func GetNetworkAdapterMetrics(c common.Client, uri string) (*NetworkAdapterMetrics, error)

GetNetworkAdapterMetrics will get a NetworkAdapterMetrics instance from the service.

func ListReferencedNetworkAdapterMetrics added in v0.16.0

func ListReferencedNetworkAdapterMetrics(c common.Client, link string) ([]*NetworkAdapterMetrics, error)

ListReferencedNetworkAdapterMetrics gets the collection of NetworkAdapterMetrics from a provided reference.

type NetworkDeviceFunction

type NetworkDeviceFunction 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"`

	// AssignablePhysicalNetworkPortsCount gets the number of physical
	// ports to which this network device function can be assigned.
	AssignablePhysicalNetworkPortsCount int `json:"AssignablePhysicalNetworkPorts@odata.count"`

	// AssignablePhysicalPortsCount is the number of assignable physical ports.
	// This property has been deprecated in favor of the AssignablePhysicalNetworkPorts property.
	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
	// HTTPBoot shall contain HTTP and HTTPS boot capabilities, status, and configuration values for this network
	// device function.
	HTTPBoot HTTPBoot
	// InfiniBand shall contain InfiniBand capabilities, status, and configuration values for this network device
	// function.
	InfiniBand InfiniBandNetworkDeviceFunction
	// Limits shall contain an array of byte and packet limits for this network device function.
	Limits []Limit
	// 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SAVIEnabled shall indicate if the RFC7039-defined Source Address Validation Improvement (SAVI) is enabled for
	// this network device function.
	SAVIEnabled bool
	// 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

	// EndpointsCount is the number of Endpoints.
	EndpointsCount int

	// EthernetInterfacesCount is the number of virtual interfaces that were created when one of the network device
	// function VLANs is represented as a virtual NIC for the purpose of showing the IP address associated with that VLAN.
	EthernetInterfacesCount int

	// OffloadProcessorsCount is the number of processors that performs offload computation for this network function, such
	// as with a SmartNIC.
	OffloadProcessorsCount 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) Endpoints added in v0.16.0

func (networkdevicefunction *NetworkDeviceFunction) Endpoints() ([]*Endpoint, error)

Endpoints gets the endpoints that are associated with this network device function.

func (*NetworkDeviceFunction) EthernetInterfaces added in v0.16.0

func (networkdevicefunction *NetworkDeviceFunction) EthernetInterfaces() ([]*EthernetInterface, error)

EthernetInterfaces gets the virtual interfaces that were created when one of the network device function VLANs is represented as a virtual NIC for the purpose of showing the IP address associated with that VLAN.

func (*NetworkDeviceFunction) OffloadProcessors added in v0.16.0

func (networkdevicefunction *NetworkDeviceFunction) OffloadProcessors() ([]*Processor, error)

OffloadProcessors gets the processors that performs offload computation for this network function, such as with a SmartNIC. This property shall not be present if OffloadSystem is present.

func (*NetworkDeviceFunction) OffloadSystem added in v0.16.0

func (networkdevicefunction *NetworkDeviceFunction) OffloadSystem() (*ComputerSystem, error)

OffloadSystem shall contain a link to a resource of type ComputerSystem that represents the system that performs offload computation for this network function, such as with a SmartNIC. The SystemType property contained in the referenced ComputerSystem resource should contain the value 'DPU'. This property shall not be present if OffloadProcessors is present.

func (*NetworkDeviceFunction) PCIeFunction added in v0.16.0

func (networkdevicefunction *NetworkDeviceFunction) PCIeFunction() (*PCIeFunction, error)

PCIeFunction gets the PCIe function associated with this network device function.

func (*NetworkDeviceFunction) PhysicalNetworkPortAssignment added in v0.16.0

func (networkdevicefunction *NetworkDeviceFunction) PhysicalNetworkPortAssignment() (*Port, error)

PhysicalNetworkPortAssignment gets the physical port to which this network device function is currently assigned.

func (*NetworkDeviceFunction) PhysicalPortAssignment added in v0.16.0

func (networkdevicefunction *NetworkDeviceFunction) PhysicalPortAssignment() (*NetworkPort, error)

PhysicalPortAssignment gets the physical port to which this network device function is currently assigned. This property has been deprecated in favor of the PhysicalNetworkPortAssignment property.

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 NetworkDeviceFunctionMetrics added in v0.16.0

type NetworkDeviceFunctionMetrics 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
	// Ethernet shall contain network function metrics specific to Ethernet adapters.
	Ethernet EthernetNetworkDeviceFunctionMetrics
	// FibreChannel shall contain network function metrics specific to Fibre Channel adapters.
	FibreChannel FibreChannelNetworkDeviceFunctionMetrics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RXAvgQueueDepthPercent shall contain the average RX queue depth as a percentage, typically '0' to '100'.
	RXAvgQueueDepthPercent float64
	// RXBytes shall contain the total number of bytes received on a network function, inclusive of all protocol
	// overhead.
	RXBytes int
	// RXFrames shall contain the total number of frames received on a network function.
	RXFrames int
	// RXMulticastFrames shall contain the total number of good multicast frames received on a network function since
	// reset, including host and remote management passthrough traffic.
	RXMulticastFrames int
	// RXQueuesEmpty shall indicate whether nothing is in a network function's RX queues to DMA.
	RXQueuesEmpty bool
	// RXQueuesFull shall contain the number of RX queues that are full.
	RXQueuesFull int
	// RXUnicastFrames shall contain the total number of good unicast frames received on a network function since
	// reset.
	RXUnicastFrames int
	// TXAvgQueueDepthPercent shall contain the average TX queue depth as a percentage, typically '0' to '100'.
	TXAvgQueueDepthPercent float64
	// TXBytes shall contain the total number of bytes sent on a network function, inclusive of all protocol overhead.
	TXBytes int
	// TXFrames shall contain the total number of frames sent on a network function.
	TXFrames int
	// TXMulticastFrames shall contain the total number of good multicast frames transmitted on a network function
	// since reset, including host and remote management passthrough traffic.
	TXMulticastFrames int
	// TXQueuesEmpty shall indicate whether all TX queues for a network function are empty.
	TXQueuesEmpty bool
	// TXQueuesFull shall contain the number of TX queues that are full.
	TXQueuesFull int
	// TXUnicastFrames shall contain the total number of good unicast frames transmitted on a network function since
	// reset, including host and remote management passthrough traffic.
	TXUnicastFrames int
}

NetworkDeviceFunctionMetrics shall represent the network metrics for a single network function of a network adapter in a Redfish implementation.

func GetNetworkDeviceFunctionMetrics added in v0.16.0

func GetNetworkDeviceFunctionMetrics(c common.Client, uri string) (*NetworkDeviceFunctionMetrics, error)

GetNetworkDeviceFunctionMetrics will get a NetworkDeviceFunctionMetrics instance from the service.

func ListReferencedNetworkDeviceFunctionMetricss added in v0.16.0

func ListReferencedNetworkDeviceFunctionMetricss(c common.Client, link string) ([]*NetworkDeviceFunctionMetrics, error)

ListReferencedNetworkDeviceFunctionMetricss gets the collection of NetworkDeviceFunctionMetrics from a provided reference.

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"
	// InfiniBandNetworkDeviceTechnology Appears to the operating system as an InfiniBand device.
	InfiniBandNetworkDeviceTechnology NetworkDeviceTechnology = "InfiniBand"
)

type NetworkInterface

type NetworkInterface 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

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`

	// 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 This property has been deprecated in favor of the Ports property.

func (*NetworkInterface) Ports added in v0.16.0

func (networkinterface *NetworkInterface) Ports() ([]*Port, error)

Ports gets the ports associated with 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 NetworkPortLinkStatus
	// 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
}

Deprecated (v1.4+): 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 NetworkPortLinkStatus added in v0.16.0

type NetworkPortLinkStatus string

PortLinkStatus is the port link status.

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

type NetworkProtocol added in v0.16.0

type NetworkProtocol struct {
	// The protocol port
	Port int64
	// An indication of whether the protocol is enabled
	ProtocolEnabled bool
}

type NetworkProtocolSettings added in v0.15.0

type NetworkProtocolSettings struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// The description of this resource
	Description string
	// The status and health of the Resource and its subordinate or
	// dependent Resources
	Status common.Status
	// The settings for this manager's DHCPv4 protocol support
	DHCP NetworkProtocol
	// The settings for this manager's DHCPv6 protocol support
	DHCPv6 NetworkProtocol
	// The fully qualified domain name for the manager obtained by
	// DNS including the host name and top-level domain name
	FQDN string
	// The settings for this manager's HTTP protocol support
	HTTP NetworkProtocol
	// The settings for this manager's HTTPS protocol support
	HTTPS HTTPS
	// The DNS host name of this manager, without any domain information
	HostName string
	// The settings for this manager's IPMI-over-LAN protocol support
	IPMI NetworkProtocol
	// The settings for this manager's KVM-IP protocol support that
	// apply to all system instances controlled by this manager
	KVMIP NetworkProtocol
	// The settings for this manager's NTP protocol support
	NTP NTP
	// The HTTP/HTTPS proxy information for this manager
	Proxy Proxy
	// The settings for this manager's Remote Desktop Protocol support
	RDP NetworkProtocol
	// The settings for this manager's Remote Frame Buffer protocol
	// support, which can support VNC
	RFB NetworkProtocol
	// The settings for this manager's SNMP support
	SNMP SNMP
	// The settings for this manager's SSDP support
	SSDP SSDP
	// The settings for this manager's Secure Shell (SSH) protocol
	// support
	SSH NetworkProtocol
	// The settings for this manager's Telnet protocol support
	Telnet NetworkProtocol
	// The settings for this manager's virtual media support that
	// apply to all system instances controlled by this manager
	VirtualMedia NetworkProtocol
	// The OEM extension property
	Oem json.RawMessage
	// contains filtered or unexported fields
}

func GetNetworkProtocol added in v0.15.0

func GetNetworkProtocol(c common.Client, uri string) (*NetworkProtocolSettings, error)

func (*NetworkProtocolSettings) UnmarshalJSON added in v0.15.0

func (networkProtocol *NetworkProtocolSettings) UnmarshalJSON(b []byte) error

func (*NetworkProtocolSettings) Update added in v0.15.0

func (networkProtocol *NetworkProtocolSettings) Update() error

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

type NetworkingPortMetrics added in v0.16.0

type NetworkingPortMetrics struct {
	// RDMAProtectionErrors shall contain the total number of RDMA protection errors.
	RDMAProtectionErrors int
	// RDMAProtocolErrors shall contain the total number of RDMA protocol errors.
	RDMAProtocolErrors int
	// RDMARXBytes shall contain the total number of RDMA bytes received on a port since reset.
	RDMARXBytes int
	// RDMARXRequests shall contain the total number of RDMA requests received on a port since reset.
	RDMARXRequests int
	// RDMATXBytes shall contain the total number of RDMA bytes transmitted on a port since reset.
	RDMATXBytes int
	// RDMATXReadRequests shall contain the total number of RDMA read requests transmitted on a port since reset.
	RDMATXReadRequests int
	// RDMATXRequests shall contain the total number of RDMA requests transmitted on a port since reset.
	RDMATXRequests int
	// RDMATXSendRequests shall contain the total number of RDMA send requests transmitted on a port since reset.
	RDMATXSendRequests int
	// RDMATXWriteRequests shall contain the total number of RDMA write requests transmitted on a port since reset.
	RDMATXWriteRequests int
	// RXBroadcastFrames shall contain the total number of valid broadcast frames received on a port since reset,
	// including host and remote management passthrough traffic.
	RXBroadcastFrames int
	// RXDiscards shall contain the total number of frames discarded in a port's receive path since reset.
	RXDiscards int
	// RXFCSErrors shall contain the total number of frames received with frame check sequence (FCS) errors on a port
	// since reset.
	RXFCSErrors int
	// RXFalseCarrierErrors shall contain the total number of false carrier errors received from phy on a port since
	// reset.
	RXFalseCarrierErrors int
	// RXFrameAlignmentErrors shall contain the total number of frames received with alignment errors on a port since
	// reset.
	RXFrameAlignmentErrors int
	// RXFrames shall contain the total number of frames received on a port since reset.
	RXFrames int
	// RXMulticastFrames shall contain the total number of valid multicast frames received on a port since reset,
	// including host and remote management passthrough traffic.
	RXMulticastFrames int
	// RXOversizeFrames shall contain the total number of frames that exceed the maximum frame size.
	RXOversizeFrames int
	// RXPFCFrames shall contain the total number of priority flow control (PFC) frames received on a port since reset.
	RXPFCFrames int
	// RXPauseXOFFFrames shall contain the total number of flow control frames from the network to pause transmission.
	RXPauseXOFFFrames int
	// RXPauseXONFrames shall contain the total number of flow control frames from the network to resume transmission.
	RXPauseXONFrames int
	// RXUndersizeFrames shall contain the total number of frames that are smaller than the minimum frame size of 64
	// bytes.
	RXUndersizeFrames int
	// RXUnicastFrames shall contain the total number of valid unicast frames received on a port since reset.
	RXUnicastFrames int
	// TXBroadcastFrames shall contain the total number of good broadcast frames transmitted on a port since reset,
	// including host and remote management passthrough traffic.
	TXBroadcastFrames int
	// TXDiscards shall contain the total number of frames discarded in a port's transmit path since reset.
	TXDiscards int
	// TXExcessiveCollisions shall contain the number of times a single transmitted frame encountered more than 15
	// collisions.
	TXExcessiveCollisions int
	// TXFrames shall contain the total number of frames transmitted on a port since reset.
	TXFrames int
	// TXLateCollisions shall contain the total number of collisions that occurred after one slot time as defined by
	// IEEE 802.3.
	TXLateCollisions int
	// TXMulticastFrames shall contain the total number of good multicast frames transmitted on a port since reset,
	// including host and remote management passthrough traffic.
	TXMulticastFrames int
	// TXMultipleCollisions shall contain the times that a transmitted frame encountered 2-15 collisions.
	TXMultipleCollisions int
	// TXPFCFrames shall contain the total number of priority flow control (PFC) frames sent on a port since reset.
	TXPFCFrames int
	// TXPauseXOFFFrames shall contain the total number of XOFF frames transmitted to the network.
	TXPauseXOFFFrames int
	// TXPauseXONFrames shall contain the total number of XON frames transmitted to the network.
	TXPauseXONFrames int
	// TXSingleCollisions shall contain the times that a successfully transmitted frame encountered a single collision.
	TXSingleCollisions int
	// TXUnicastFrames shall contain the total number of good unicast frames transmitted on a port since reset,
	// including host and remote management passthrough traffic.
	TXUnicastFrames int
}

NetworkingPortMetrics shall describe the metrics for network ports, including Ethernet, Fibre Channel, and InfiniBand, that are not specific to one of these protocols.

type NominalVoltage added in v0.15.0

type NominalVoltage string

The nominal voltage for an outlet.

const (
	// AC 100-127V nominal.
	AC100To127VNominal NominalVoltage = "AC100To127V"
	// AC 100-240V nominal.
	AC100To240VNominal NominalVoltage = "AC100To240V"
	// AC 100-277V nominal.
	AC100To277VNominal NominalVoltage = "AC100To277V"
	// AC 120V nominal.
	AC120VNominal NominalVoltage = "AC120V"
	// AC 200-240V nominal.
	AC200To240VNominal NominalVoltage = "AC200To240V"
	// AC 200-277V nominal.
	AC200To277VNominal NominalVoltage = "AC200To277V"
	// AC 208V nominal.
	AC208VNominal NominalVoltage = "AC208V"
	// AC 230V nominal.
	AC230VNominal NominalVoltage = "AC230V"
	// AC 200-240V and DC 380V.
	AC240AndDC380VNominal NominalVoltage = "AC240AndDC380V"
	// AC 240V nominal.
	AC240VNominal NominalVoltage = "AC240V"
	// AC 200-277V and DC 380V.
	AC277AndDC380VNominal NominalVoltage = "AC277AndDC380V"
	// AC 277V nominal.
	AC277VNominal NominalVoltage = "AC277V"
	// AC 400V or 415V nominal.
	AC400VNominal NominalVoltage = "AC400V"
	// AC 480V nominal.
	AC480VNominal NominalVoltage = "AC480V"
	// DC 12V nominal.
	DC12VNominal NominalVoltage = "DC12V"
	// DC 16V nominal.
	DC16VNominal NominalVoltage = "DC16V"
	// DC 1.8V nominal.
	DC1_8VNominal NominalVoltage = "DC1_8V"
	// DC 240V nominal.
	DC240VNominal NominalVoltage = "DC240V"
	// High Voltage DC (380V).
	DC380VNominal NominalVoltage = "DC380V"
	// DC 3.3V nominal.
	DC3_3VNominal NominalVoltage = "DC3_3V"
	// DC 48V nominal.
	DC48VNominal NominalVoltage = "DC48V"
	// DC 5V nominal.
	DC5VNominal NominalVoltage = "DC5V"
	// DC 9V nominal.
	DC9VNominal NominalVoltage = "DC9V"
	// -48V DC.
	DCNeg48VNominal NominalVoltage = "DCNeg48V"
)

type NotifyIPv6Scope added in v0.15.0

type NotifyIPv6Scope string
const (
	// SSDP NOTIFY messages are sent to addresses in the IPv6 local link scope
	NotifyIPv6ScopeLink NotifyIPv6Scope = "Link"
	// SSDP NOTIFY messages are sent to addresses in the IPv6 local
	// organization scope
	NotifyIPv6ScopeSite NotifyIPv6Scope = "Site"
	// SSDP NOTIFY messages are sent to addresses in the IPv6 local site scope
	NotifyIPv6ScopeOrganization NotifyIPv6Scope = "Organization"
)

type OAuth2Mode added in v0.16.0

type OAuth2Mode string
const (
	// DiscoveryOAuth2Mode shall indicate the service performs token validation from information found at the URIs
	// specified by the ServiceAddresses property. Services shall implement a caching method of this information so
	// it's not necessary to retrieve metadata and key information for every request containing a token.
	DiscoveryOAuth2Mode OAuth2Mode = "Discovery"
	// OfflineOAuth2Mode shall indicate the service performs token validation from properties configured by a client.
	// Clients should configure the Issuer and OAuthServiceSigningKeys properties for this mode.
	OfflineOAuth2Mode OAuth2Mode = "Offline"
)

type OAuth2Service added in v0.16.0

type OAuth2Service struct {
	// Audience shall contain an array of allowable RFC7519-defined audience strings of the Redfish service. The values
	// shall uniquely identify the Redfish service. For example, a MAC address or UUID for the manager can uniquely
	// identify the service.
	Audience []string
	// Issuer shall contain the RFC8414-defined issuer string of the OAuth 2.0 service. If the Mode property contains
	// the value 'Discovery', this property shall contain the value of the 'issuer' string from the OAuth 2.0 service's
	// metadata and this property shall be read-only. Clients should configure this property if Mode contains
	// 'Offline'.
	Issuer string
	// Mode shall contain the mode of operation for token validation.
	Mode OAuth2Mode
	// OAuthServiceSigningKeys shall contain a Base64-encoded string of the RFC7517-defined signing keys of the issuer
	// of the OAuth 2.0 service. Services shall verify the token provided in the 'Authorization' header of the request
	// with the value of this property. If the Mode property contains the value 'Discovery', this property shall
	// contain the keys found at the URI specified by the 'jwks_uri' string from the OAuth 2.0 service's metadata and
	// this property shall be read-only. Clients should configure this property if Mode contains 'Offline'.
	OAuthServiceSigningKeys string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

OAuth2Service shall contain settings for parsing an OAuth 2.0 service.

type OneTimePasscode added in v0.16.0

type OneTimePasscode struct {
	// Enabled shall indicate whether multi-factor authentication using a one-time passcode is enabled. The passcode is
	// sent to the delivery address associated with the account credentials provided in the request. If the credentials
	// are associated with a ManagerAccount resource, the delivery address is specified by the
	// OneTimePasscodeDeliveryAddress property. If the credentials are associated with a user from an LDAP account
	// provider, the delivery address is contained in the LDAP attribute specified by the EmailAttribute property. An
	// attempt to create a session when the Token property is not included in the request shall generate a message sent
	// to the delivery address, using the SMTP settings from the Redfish event service, containing a one-time passcode.
	// The service shall accept the one-time passcode as the valid value for the Token property in the next POST
	// operation to create a session for the respective account.
	Enabled bool
}

OneTimePasscode shall contain settings for one-time passcode (OTP) multi-factor authentication.

type OperatingConfig added in v0.16.0

type OperatingConfig 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"`
	// BaseSpeedMHz shall contain the base (nominal) clock speed of the processor in MHz.
	BaseSpeedMHz int
	// BaseSpeedPrioritySettings shall contain an array of objects that specify the clock speed for sets of cores when
	// the configuration is operational.
	BaseSpeedPrioritySettings []BaseSpeedPrioritySettings
	// Description provides a description of this resource.
	Description string
	// MaxJunctionTemperatureCelsius shall contain the maximum temperature of the junction in degree Celsius units.
	MaxJunctionTemperatureCelsius int
	// MaxSpeedMHz shall contain the maximum clock speed to which the processor can be configured in MHz.
	MaxSpeedMHz int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// TDPWatts shall contain the thermal design point of the processor in watt units.
	TDPWatts int
	// TotalAvailableCoreCount shall contain the number of cores in the processor that can be configured.
	TotalAvailableCoreCount int
	// TurboProfile shall contain an array of objects that specify the turbo profile for a set of active cores.
	TurboProfile []TurboProfileDatapoint
}

OperatingConfig shall represent an operational configuration for a processor in the Redfish Specification.

func GetOperatingConfig added in v0.16.0

func GetOperatingConfig(c common.Client, uri string) (*OperatingConfig, error)

GetOperatingConfig will get a OperatingConfig instance from the service.

func ListReferencedOperatingConfigs added in v0.16.0

func ListReferencedOperatingConfigs(c common.Client, link string) ([]*OperatingConfig, error)

ListReferencedOperatingConfigs gets the collection of OperatingConfig from a provided reference.

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 OperatingSystem added in v0.16.0

type OperatingSystem 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"`

	// ContainerEngines shall contain the container engines running in this operating system.
	ContainerEngines []ContainerEngine

	// Description provides a description of this resource.
	Description string
	// Kernel shall contain the kernel information for this operating system.
	Kernel Kernel
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// Type shall contain the type for this operating system.
	Type OperatingSystemTypes
	// UptimeSeconds shall contain the wall-clock time this operating system has been running in seconds.
	UptimeSeconds int
	// VirtualMachineEngines shall contain the virtual machine engines running in this operating system.
	VirtualMachineEngines []VirtualMachineEngine
	// contains filtered or unexported fields
}

OperatingSystem shall represent the operating system and software running on a computer system.

func GetOperatingSystem added in v0.16.0

func GetOperatingSystem(c common.Client, uri string) (*OperatingSystem, error)

GetOperatingSystem will get a OperatingSystem instance from the service.

func ListReferencedOperatingSystems added in v0.16.0

func ListReferencedOperatingSystems(c common.Client, link string) ([]*OperatingSystem, error)

ListReferencedOperatingSystems gets the collection of OperatingSystem from a provided reference.

func (*OperatingSystem) Applications added in v0.16.0

func (operatingsystem *OperatingSystem) Applications() ([]*Application, error)

Applications gets the applications running under this operating system.

func (*OperatingSystem) ContainerImages added in v0.16.0

func (operatingsystem *OperatingSystem) ContainerImages() ([]*ContainerImage, error)

ContainerImages gets the container images available to container engines on this operating system.

func (*OperatingSystem) Containers added in v0.16.0

func (operatingsystem *OperatingSystem) Containers() ([]*Container, error)

Containers gets the containers running under this operating system.

func (*OperatingSystem) SoftwareImage added in v0.16.0

func (operatingsystem *OperatingSystem) SoftwareImage() (*SoftwareInventory, error)

SoftwareImage gets the software image from which this operating system runs.

func (*OperatingSystem) UnmarshalJSON added in v0.16.0

func (operatingsystem *OperatingSystem) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a OperatingSystem object from the raw JSON.

type OperatingSystemTypes added in v0.16.0

type OperatingSystemTypes string
const (
	// LinuxOperatingSystemTypes Linux.
	LinuxOperatingSystemTypes OperatingSystemTypes = "Linux"
	// WindowsOperatingSystemTypes Microsoft Windows.
	WindowsOperatingSystemTypes OperatingSystemTypes = "Windows"
	// SolarisOperatingSystemTypes Oracle Solaris.
	SolarisOperatingSystemTypes OperatingSystemTypes = "Solaris"
	// HPUXOperatingSystemTypes HPE HP-UX.
	HPUXOperatingSystemTypes OperatingSystemTypes = "HPUX"
	// AIXOperatingSystemTypes IBM AIX.
	AIXOperatingSystemTypes OperatingSystemTypes = "AIX"
	// BSDOperatingSystemTypes Berkeley Software Distribution.
	BSDOperatingSystemTypes OperatingSystemTypes = "BSD"
	// macOSOperatingSystemTypes Apple macOS.
	MacOSOperatingSystemTypes OperatingSystemTypes = "macOS"
	// IBMiOperatingSystemTypes IBM i.
	IBMiOperatingSystemTypes OperatingSystemTypes = "IBMi"
	// HypervisorOperatingSystemTypes A bare-metal hypervisor.
	HypervisorOperatingSystemTypes OperatingSystemTypes = "Hypervisor"
)

type Operation added in v0.16.0

type Operation struct {
	// AssociatedFeaturesRegistry A reference to the task associated with the operation if any.
	AssociatedFeaturesRegistry string
	// Operation shall contain the type of the operation.
	Operation string
	// PercentageComplete The percentage of the operation that has been completed.
	PercentageComplete int
}

type OperationApplyTime added in v0.16.0

type OperationApplyTime string
const (
	// AtMaintenanceWindowStartOperationApplyTime indicates the requested operation is applied within
	// the administrator-specified maintenance window.
	AtMaintenanceWindowStartOperationApplyTime OperationApplyTime = "AtMaintenanceWindowStart"
	// ImmediateOperationApplyTime indicates the requested operation is applied immediately.
	// This value might result in an immediate host reset, manager reset, or other side effects.
	ImmediateOperationApplyTime OperationApplyTime = "Immediate"
	// InMaintenanceWindowOnResetOperationApplyTime indicates the requested operation is applied after a reset but
	// within the administrator-specified maintenance window.
	InMaintenanceWindowOnResetOperationApplyTime OperationApplyTime = "InMaintenanceWindowOnReset"
	// OnResetOperationApplyTime indicates the requested operation is applied on a reset.
	OnResetOperationApplyTime OperationApplyTime = "OnReset"
	// OnStartUpdateRequestOperationApplyTime indicates the requested operation is applied when the
	// StartUpdate action of the update service is invoked.
	OnStartUpdateRequestOperationApplyTime OperationApplyTime = "OnStartUpdateRequest"
)

type OperationApplyTimeSupport added in v0.16.0

type OperationApplyTimeSupport struct {
	// MaintenanceWindowDurationInSeconds shall contain the same as the MaintenanceWindowDurationInSeconds property
	// found in the MaintenanceWindow structure on the MaintenanceWindowResource. This property shall be required if
	// the SupportedValues property contains 'AtMaintenanceWindowStart' or 'InMaintenanceWindowOnReset'.
	MaintenanceWindowDurationInSeconds string
	// MaintenanceWindowResource shall contain a link to a resource that contains the @Redfish.MaintenanceWindow
	// property that governs this resource. This property shall be required if the SupportedValues property contains
	// 'AtMaintenanceWindowStart' or 'InMaintenanceWindowOnReset'.
	MaintenanceWindowResource string
	// MaintenanceWindowStartTime shall contain the same as the MaintenanceWindowStartTime property found in the
	// MaintenanceWindow structure on the MaintenanceWindowResource. Services shall provide a default value if not
	// configured by a user. This property shall be required if the SupportedValues property contains
	// 'AtMaintenanceWindowStart' or 'InMaintenanceWindowOnReset'.
	MaintenanceWindowStartTime string
	// SupportedValues shall indicate the types of apply times the client can request when performing a create, delete,
	// or action operation.
	SupportedValues []OperationApplyTime
}

type OperationMap added in v0.16.0

type OperationMap struct {
	// DELETE shall contain the privilege required to complete an HTTP DELETE operation.
	DELETE []OperationPrivilege
	// GET shall contain the privilege required to complete an HTTP GET operation.
	GET []OperationPrivilege
	// HEAD shall contain the privilege required to complete an HTTP HEAD operation.
	HEAD []OperationPrivilege
	// PATCH shall contain the privilege required to complete an HTTP PATCH operation.
	PATCH []OperationPrivilege
	// POST shall contain the privilege required to complete an HTTP POST operation.
	POST []OperationPrivilege
	// PUT shall contain the privilege required to complete an HTTP PUT operation.
	PUT []OperationPrivilege
}

OperationMap shall describe the specific privileges required to complete a set of HTTP operations.

type OperationPrivilege added in v0.16.0

type OperationPrivilege struct {
	// Privilege shall contain an array of privileges that are required to complete a specific HTTP operation on a
	// Resource. This set of strings match zero or more strings in the PrivilegesUsed and OEMPrivilegesUsed properties.
	Privilege []string
}

OperationPrivilege shall describe the privileges required to complete a specific HTTP operation.

type OperationalState added in v0.16.0

type OperationalState string
const (
	// OnlineOperationalState Memory chunk can be used.
	OnlineOperationalState OperationalState = "Online"
	// OfflineOperationalState Memory chunk cannot be used. Consumers of this memory chunk should perform cleanup
	// operations as needed to prepare for the removal of this memory chunk.
	OfflineOperationalState OperationalState = "Offline"
)

type Orientation added in v0.16.0

type Orientation string

Orientation is the orientations for the ordering of the LocationOrdinalValue property.

const (
	// FrontToBackOrientation shall indicate the ordering for LocationOrdinalValue is front to back.
	FrontToBackOrientation Orientation = "FrontToBack"
	// BackToFrontOrientation shall indicate the ordering for LocationOrdinalValue is back to front.
	BackToFrontOrientation Orientation = "BackToFront"
	// TopToBottomOrientation shall indicate the ordering for LocationOrdinalValue is top to bottom.
	TopToBottomOrientation Orientation = "TopToBottom"
	// BottomToTopOrientation shall indicate the ordering for LocationOrdinalValue is bottom to top.
	BottomToTopOrientation Orientation = "BottomToTop"
	// LeftToRightOrientation shall indicate the ordering for LocationOrdinalValue is left to right.
	LeftToRightOrientation Orientation = "LeftToRight"
	// RightToLeftOrientation shall indicate the ordering for LocationOrdinalValue is right to left.
	RightToLeftOrientation Orientation = "RightToLeft"
)

type OriginatorTypes added in v0.16.0

type OriginatorTypes string
const (
	// ClientOriginatorTypes is a client of the service created this log entry.
	ClientOriginatorTypes OriginatorTypes = "Client"
	// InternalOriginatorTypes is a process running on the service created this log entry.
	InternalOriginatorTypes OriginatorTypes = "Internal"
	// SupportingServiceOriginatorTypes is a process not running on the service but running on a supporting service, such
	// as RDE implementations, UEFI, or host processes, created this log entry.
	SupportingServiceOriginatorTypes OriginatorTypes = "SupportingService"
)

type OutboundConnection added in v0.16.0

type OutboundConnection 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"`
	// Authentication shall contain the authentication mechanism for the WebSocket connection.
	Authentication AuthenticationType

	// ConnectionEnabled shall indicate if the outbound connection is enabled. If 'true', the service shall attempt to
	// establish an outbound connection to the remote client specified by the EndpointURI property. If 'false', the
	// service shall not attempt to establish a connection to the remote client and shall close the connection if one
	// is already established. When a connection is established, the service shall create a Session resource to
	// represent the active connection. When a connection is closed, the service shall delete the connection's
	// respective Session resource. If the client does not provide this property, the service shall default this value
	// to 'true'.
	ConnectionEnabled bool
	// Description provides a description of this resource.
	Description string
	// EndpointURI shall contain the WebSocket URI to the external web service of the remote client. The value shall
	// follow the URI format defined in RFC6455. Services shall reject URIs that do not contain the scheme 'wss'.
	EndpointURI string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PreUpgradeHTTPHeaders shall contain an object consisting of the names and values of HTTP headers to send to the
	// remote client during the initial connection prior to the WebSocket upgrade. This property shall be an empty
	// object in responses.
	PreUpgradeHTTPHeaders map[string]string
	// RetryPolicy shall contain the retry policy for this outbound connection. If not specified by the client in the
	// create request, the service shall assume ConnectionRetryPolicy contains 'None'.
	RetryPolicy RetryPolicyType
	// Roles shall contain the Redfish roles that contain the privileges of the remote client for the outbound
	// connection.
	Roles []string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// WebSocketPingIntervalMinutes shall contain the interval for the service to send the WebSocket ping opcode to the
	// remote client in minutes. If '0', the service shall not send the WebSocket ping opcode to the remote client.
	WebSocketPingIntervalMinutes int
	// contains filtered or unexported fields
}

OutboundConnection shall represent the connection configuration necessary to connect to a remote client. Services shall initiate the outbound connection over a WebSocket defined in the 'Outbound connections' clause of the Redfish Specification.

func GetOutboundConnection added in v0.16.0

func GetOutboundConnection(c common.Client, uri string) (*OutboundConnection, error)

GetOutboundConnection will get a OutboundConnection instance from the service.

func ListReferencedOutboundConnections added in v0.16.0

func ListReferencedOutboundConnections(c common.Client, link string) ([]*OutboundConnection, error)

ListReferencedOutboundConnections gets the collection of OutboundConnection from a provided reference.

func (*OutboundConnection) Certificates added in v0.16.0

func (outboundconnection *OutboundConnection) Certificates() ([]*Certificate, error)

Certificates gets the server certificates for the remote client referenced by the EndpointURI property.

func (*OutboundConnection) ClientCertificates added in v0.16.0

func (outboundconnection *OutboundConnection) ClientCertificates() ([]*Certificate, error)

ClientCertificates gets the client identity certificates for the service.

func (*OutboundConnection) Session added in v0.16.0

func (outboundconnection *OutboundConnection) Session() (*Session, error)

Session gets the the active connection for this outbound connection.

func (*OutboundConnection) UnmarshalJSON added in v0.16.0

func (outboundconnection *OutboundConnection) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a OutboundConnection object from the raw JSON.

func (*OutboundConnection) Update added in v0.16.0

func (outboundconnection *OutboundConnection) Update() error

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

type OutboundConnectionRetryPolicyType added in v0.16.0

type OutboundConnectionRetryPolicyType string
const (
	// NoneOutboundConnectionRetryPolicyType shall indicate the service will not attempt to re-establish the outbound
	// connection if the connection is dropped or not established. If the connection is dropped or not established, the
	// service shall set the ConnectionEnabled property to 'false'.
	NoneOutboundConnectionRetryPolicyType OutboundConnectionRetryPolicyType = "None"
	// RetryForeverOutboundConnectionRetryPolicyType shall indicate the service will attempt to re-establish the
	// outbound connection at the interval specified by the RetryIntervalMinutes property regardless of the number of
	// retries.
	RetryForeverOutboundConnectionRetryPolicyType OutboundConnectionRetryPolicyType = "RetryForever"
	// RetryCountOutboundConnectionRetryPolicyType shall indicate the service will attempt to re-establish the outbound
	// connection at the interval specified by the RetryIntervalMinutes property until the number of retries reaches
	// the count specified by the RetryCount property. If the limit is reached, the service shall set the
	// ConnectionEnabled property to 'false'. If a connection is established, the service shall reset the count.
	RetryCountOutboundConnectionRetryPolicyType OutboundConnectionRetryPolicyType = "RetryCount"
)

type Outlet added in v0.16.0

type Outlet 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"`
	// ConfigurationLocked shall indicate whether modification requests to this resource are not permitted. If 'true',
	// services shall reject modification requests to other properties in this resource.
	ConfigurationLocked bool
	// CurrentAmps shall contain the current, in ampere units, for this single-phase outlet. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Current'. This property shall not appear in resource instances representing poly-phase
	// outlets.
	CurrentAmps SensorCurrentExcerpt
	// Description provides a description of this resource.
	Description string
	// ElectricalConsumerNames shall contain an array of user-assigned identifying strings that describe downstream
	// devices that are powered by this outlet.
	ElectricalConsumerNames []string
	// ElectricalContext shall contain the combination of current-carrying conductors that distribute power.
	ElectricalContext common.ElectricalContext
	// EnergykWh shall contain the total energy, in kilowatt-hour units, for this outlet that represents the 'Total'
	// ElectricalContext sensor when multiple energy sensors exist for this outlet. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'EnergykWh'.
	EnergykWh SensorEnergykWhExcerpt
	// FrequencyHz shall contain the frequency, in hertz units, for this outlet. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Frequency'.
	FrequencyHz SensorExcerpt
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource. A write to this property shall update the value of IndicatorLED in this resource, if supported, to
	// reflect the implementation of the locating function.
	LocationIndicatorActive bool
	// NominalVoltage shall contain the nominal voltage for this outlet, in volt units.
	NominalVoltage NominalVoltage
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// OutletType shall contain the type of physical receptacle used for this outlet, as defined by IEC, NEMA, or
	// regional standards.
	OutletType ReceptacleType
	// PhaseWiringType shall contain the number of ungrounded current-carrying conductors (phases) and the total number
	// of conductors (wires).
	PhaseWiringType PhaseWiringType
	// PolyPhaseCurrentAmps shall contain the current readings for this outlet. For single-phase outlets, this property
	// shall contain a duplicate copy of the current sensor referenced in the CurrentAmps property, if present. For
	// poly-phase outlets, this property should contain multiple current sensor readings used to fully describe the
	// outlet.
	PolyPhaseCurrentAmps CurrentSensors
	// PolyPhaseVoltage shall contain the voltage readings for this outlet. For single-phase outlets, this property
	// shall contain a duplicate copy of the voltage sensor referenced in the Voltage property, if present. For poly-
	// phase outlets, this property should contain multiple voltage sensor readings used to fully describe the outlet.
	PolyPhaseVoltage VoltageSensors
	// PowerControlLocked shall indicate whether requests to the PowerControl action are locked. If 'true', services
	// shall reject requests to the PowerControl action.
	PowerControlLocked bool
	// PowerCycleDelaySeconds shall contain the number of seconds to delay power on after a PowerControl action to
	// cycle power. The value '0' shall indicate no delay to power on.
	PowerCycleDelaySeconds float64
	// PowerEnabled shall indicate the power enable state of the outlet. The value 'true' shall indicate that the
	// outlet can be powered on, and 'false' shall indicate that the outlet cannot be powered.
	PowerEnabled bool
	// PowerLoadPercent shall contain the power load, in percent units, for this outlet that represents the 'Total'
	// ElectricalContext for this outlet. The value of the DataSourceUri property, if present, shall reference a
	// resource of type Sensor with the ReadingType property containing the value 'Percent'.
	PowerLoadPercent SensorExcerpt
	// PowerOffDelaySeconds shall contain the number of seconds to delay power off after a PowerControl action. The
	// value '0' shall indicate no delay to power off.
	PowerOffDelaySeconds float64
	// PowerOnDelaySeconds shall contain the number of seconds to delay power up after a power cycle or a PowerControl
	// action. The value '0' shall indicate no delay to power up.
	PowerOnDelaySeconds float64
	// PowerRestoreDelaySeconds shall contain the number of seconds to delay power on after a power fault. The value
	// '0' shall indicate no delay to power on.
	PowerRestoreDelaySeconds float64
	// PowerRestorePolicy shall contain the desired PowerState of the outlet when power is applied. The value
	// 'LastState' shall return the outlet to the PowerState it was in when power was lost.
	PowerRestorePolicy PowerRestorePolicyTypes
	// PowerState shall contain the power state of the outlet.
	PowerState PowerState
	// PowerStateInTransition shall indicate whether the PowerState property will undergo a transition between on and
	// off states due to a configured delay. The transition may be due to the configuration of the power on, off, or
	// restore delay properties. If 'true', the PowerState property will transition at the conclusion of a configured
	// delay.
	PowerStateInTransition bool
	// PowerWatts shall contain the total power, in watt units, for this outlet that represents the 'Total'
	// ElectricalContext sensor when multiple power sensors exist for this outlet. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Power'.
	PowerWatts SensorPowerExcerpt
	// RatedCurrentAmps shall contain the rated maximum current for this outlet, in ampere units, after any required
	// de-rating, due to safety agency or other regulatory requirements, has been applied.
	RatedCurrentAmps float64
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string
	// Voltage shall contain the voltage, in volt units, for this single-phase outlet. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Voltage'. This property shall not appear in resource instances representing poly-phase outlets.
	Voltage SensorVoltageExcerpt
	// VoltageType shall contain the type of voltage applied to the outlet.
	VoltageType VoltageType

	// ChassisCount is the number of chassis connected to this outlet.
	ChassisCount int

	// DistributionCircuitsCount is the number of mains or input circuits powered by this outlet.
	DistributionCircuitsCount int

	// PowerSuppliesCount is the number of power supplies connected to this outlet.
	PowerSuppliesCount int
	// contains filtered or unexported fields
}

Outlet shall be used to represent an electrical outlet for a Redfish implementation.

func GetOutlet added in v0.16.0

func GetOutlet(c common.Client, uri string) (*Outlet, error)

GetOutlet will get a Outlet instance from the service.

func ListReferencedOutlets added in v0.16.0

func ListReferencedOutlets(c common.Client, link string) ([]*Outlet, error)

ListReferencedOutlets gets the collection of Outlet from a provided reference.

func (*Outlet) BranchCircuit added in v0.16.0

func (outlet *Outlet) BranchCircuit() (*Circuit, error)

BranchCircuit gets the branch circuit associated with this outlet.

func (*Outlet) Chassis added in v0.16.0

func (outlet *Outlet) Chassis() ([]*Chassis, error)

Chassis gets the chassis connected to this outlet.

func (*Outlet) DistributionCircuits added in v0.16.0

func (outlet *Outlet) DistributionCircuits() ([]*Circuit, error)

DistributionCircuits gets the circuits powered by this outlet.

func (*Outlet) PowerControl added in v0.16.0

func (outlet *Outlet) PowerControl(powerState PowerState) error

PowerControl controls the power state of the outlet.

func (*Outlet) PowerSupplies added in v0.16.0

func (outlet *Outlet) PowerSupplies() ([]*PowerSupply, error)

PowerSupplies gets the power supplies connected to this outlet.

func (*Outlet) ResetMetrics added in v0.16.0

func (outlet *Outlet) ResetMetrics() error

ResetMetrics resets metrics related to this outlet.

func (*Outlet) UnmarshalJSON added in v0.16.0

func (outlet *Outlet) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Outlet object from the raw JSON.

func (*Outlet) Update added in v0.16.0

func (outlet *Outlet) Update() error

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

type OutletGroup added in v0.16.0

type OutletGroup 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"`
	// ConfigurationLocked shall indicate whether modification requests to this resource are not permitted. If 'true',
	// services shall reject modification requests to other properties in this resource.
	ConfigurationLocked bool
	// CreatedBy shall contain the name of the person or application that created this outlet group.
	CreatedBy string
	// Description provides a description of this resource.
	Description string
	// EnergykWh shall contain the total energy, in kilowatt-hour units, for this outlet group that represents the
	// 'Total' ElectricalContext sensor when multiple energy sensors exist for this outlet group. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'EnergykWh'.
	EnergykWh SensorEnergykWhExcerpt
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PowerControlLocked shall indicate whether requests to the PowerControl action are locked. If 'true', services
	// shall reject requests to the PowerControl action.
	PowerControlLocked bool
	// PowerCycleDelaySeconds shall contain the number of seconds to delay power on after a PowerControl action to
	// cycle power. The value '0' shall indicate no delay to power on.
	PowerCycleDelaySeconds float64
	// PowerEnabled shall contain the power enable state of the outlet group. The value 'true' shall indicate that the
	// group can be powered on, and the value 'false' shall indicate that the group cannot be powered.
	PowerEnabled bool
	// PowerOffDelaySeconds shall contain the number of seconds to delay power off after a PowerControl action. The
	// value '0' shall indicate no delay to power off.
	PowerOffDelaySeconds float64
	// PowerOnDelaySeconds shall contain the number of seconds to delay power up after a power cycle or a PowerControl
	// action. The value '0' shall indicate no delay to power up.
	PowerOnDelaySeconds float64
	// PowerRestoreDelaySeconds shall contain the number of seconds to delay power on after a power fault. The value
	// '0' shall indicate no delay to power on.
	PowerRestoreDelaySeconds float64
	// PowerRestorePolicy shall contain the desired PowerState of the outlet group when power is applied. The value
	// 'LastState' shall return the outlet group to the PowerState it was in when power was lost.
	PowerRestorePolicy PowerRestorePolicyTypes
	// PowerState shall contain the power state of the outlet group.
	PowerState PowerState
	// PowerStateInTransition shall indicate whether the PowerState property will undergo a transition between on and
	// off states due to a configured delay. The transition may be due to the configuration of the power on, off, or
	// restore delay properties. If 'true', the PowerState property will transition at the conclusion of a configured
	// delay.
	PowerStateInTransition bool
	// PowerWatts shall contain the total power, in watt units, for this outlet group that represents the 'Total'
	// ElectricalContext sensor when multiple power sensors exist for this outlet group. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Power'.
	PowerWatts SensorPowerExcerpt
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// OutletCounts is the number of outlets in this group.
	OutletsCount int
	// contains filtered or unexported fields
}

OutletGroup shall be used to represent an electrical outlet group for a Redfish implementation.

func GetOutletGroup added in v0.16.0

func GetOutletGroup(c common.Client, uri string) (*OutletGroup, error)

GetOutletGroup will get a OutletGroup instance from the service.

func ListReferencedOutletGroups added in v0.16.0

func ListReferencedOutletGroups(c common.Client, link string) ([]*OutletGroup, error)

ListReferencedOutletGroups gets the collection of OutletGroup from a provided reference.

func (*OutletGroup) Outlets added in v0.16.0

func (outletgroup *OutletGroup) Outlets() ([]*Outlet, error)

Outlets get the outlets that are in this outlet gruop.

func (*OutletGroup) PowerControl added in v0.16.0

func (outletgroup *OutletGroup) PowerControl(powerState PowerState) error

PowerControl controls the power state of the outlet group.

func (*OutletGroup) ResetMetrics added in v0.16.0

func (outletgroup *OutletGroup) ResetMetrics() error

ResetMetrics resets metrics related to this outlet group.

func (*OutletGroup) UnmarshalJSON added in v0.16.0

func (outletgroup *OutletGroup) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a OutletGroup object from the raw JSON.

func (*OutletGroup) Update added in v0.16.0

func (outletgroup *OutletGroup) Update() error

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

type OutputRail added in v0.15.0

type OutputRail struct {
	// The nominal voltage of this output power rail.
	NominalVoltage float32
	// The area or device to which this power rail applies.
	PhysicalContext common.PhysicalContext
}

The input ranges that the power supply can use.

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
	// CXLDevice shall contain CXL-specific properties of this PCIe device.
	CXLDevice CXLDevice

	// 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
	// EnvironmentMetrics shall contain a link to a resource of type EnvironmentMetrics that specifies the environment
	// metrics for this PCIe device.
	EnvironmentMetrics EnvironmentMetrics
	// FirmwareVersion shall be the firmware version of the PCIe device.
	FirmwareVersion string
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// 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
	// ReadyToRemove shall indicate whether the PCIe device is ready for removal. Setting the value to 'true' shall
	// cause the service to perform appropriate actions to quiesce the device. A task may spawn while the device is
	// quiescing.
	ReadyToRemove bool
	// SKU shall be the stock-keeping unit number for this PCIe device.
	SKU string
	// SerialNumber is used to identify the PCIe device.
	SerialNumber string
	// Slot shall contain information about the PCIe slot for this PCIe device.
	Slot PCIeSlot
	// SparePartNumber shall contain the spare part number of the PCIe device.
	SparePartNumber string
	// StagedVersion shall contain the staged firmware version for this PCIe device; this firmware is not yet active.
	StagedVersion string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UUID shall contain the universally unique identifier number for this PCIe device.
	UUID string

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

	// PCIeFunctionsCount is the number of PCIeFunctions.
	PCIeFunctionsCount int

	// ProcessorsCount is the number of processors that are directly connected or directly bridged
	// to this PCIeDevice.
	ProcessorsCount int
	// contains filtered or unexported fields
}

PCIeDevice shall represent a PCIe device in a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains 'Absent'.

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) CXLLogicalDevices added in v0.16.0

func (pciedevice *PCIeDevice) CXLLogicalDevices() ([]*CXLLogicalDevice, error)

CXLLogicalDevices gets the associated CXLLogicalDevices 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() ([]*PCIeFunction, error)

PCIeFunctions get the PCIe functions that this device exposes.

func (*PCIeDevice) Processors added in v0.16.0

func (pciedevice *PCIeDevice) Processors() ([]*Processor, error)

Processors gets the processors that are directly connected or directly bridged to this PCIe device.

func (*PCIeDevice) Switch added in v0.16.0

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

Switch gets the switch for this device.

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 PCIeErrors added in v0.16.0

type PCIeErrors struct {
	// CorrectableErrorCount shall contain the total number of PCIe correctable errors for this device.
	CorrectableErrorCount int
	// FatalErrorCount shall contain the total number of PCIe fatal errors for this device.
	FatalErrorCount int
	// L0ToRecoveryCount shall contain the total number of times the PCIe link transitioned from L0 to the recovery
	// state for this device.
	L0ToRecoveryCount int
	// NAKReceivedCount shall contain the total number of NAKs issued on the PCIe link by the receiver. A NAK is issued
	// by the receiver when it detects that a TLP from this device was missed. This could be because this device did
	// not transmit it, or because the receiver could not properly decode the packet.
	NAKReceivedCount int
	// NAKSentCount shall contain the total number of NAKs issued on the PCIe link by this device. A NAK is issued by
	// the device when it detects that a TLP from the receiver was missed. This could be because the receiver did not
	// transmit it, or because this device could not properly decode the packet.
	NAKSentCount int
	// NonFatalErrorCount shall contain the total number of PCIe non-fatal errors for this device.
	NonFatalErrorCount int
	// ReplayCount shall contain the total number of replays issued on the PCIe link by this device. A replay is a
	// retransmission of a TLP and occurs because the ACK timer is expired, which means that the receiver did not send
	// the ACK or this device did not properly decode the ACK.
	ReplayCount int
	// ReplayRolloverCount shall contain the total number of replay rollovers issued on the PCIe link by this device. A
	// replay rollover occurs when consecutive replays failed to resolve the errors on the link, which means that this
	// device forced the link into the recovery state.
	ReplayRolloverCount int
	// UnsupportedRequestCount shall contain the total number of PCIe unsupported requests received by this device.
	UnsupportedRequestCount int
}

PCIeErrors shall contain properties that describe the PCIe errors associated with this device.

type PCIeFunction

type PCIeFunction 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"`
	// 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
	// FunctionID shall the PCIe device function number within a given PCIe
	// device.
	FunctionID int
	// FunctionProtocol shall contain the protocol supported by this PCIe function.
	FunctionProtocol FunctionProtocol
	// 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
	// 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

	// MemoryDomainsCount is the number of memory domains associated with this PCIe function.
	MemoryDomainsCount 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) CXLLogicalDevice added in v0.16.0

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

CXLLogicalDevice gets the CXL logical device to which this PCIe function is assigned.

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) MemoryDomains added in v0.16.0

func (pciefunction *PCIeFunction) MemoryDomains() ([]*MemoryDomain, error)

MemoryDomains gets the memory domains associated with this PCIe function.

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) Processor added in v0.16.0

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

Processor gets the processor that is hosted on this PCIe 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 PCIeSlot added in v0.16.0

type PCIeSlot struct {
	// HotPluggable is an indication of whether this PCIe slot supports hotplug.
	HotPluggable bool
	// Lanes is the number of PCIe lanes supported by this slot.
	Lanes int
	// Location is the location of the PCIe slot.
	Location common.Location
	// LocationIndicatorActive is an indicator allowing an operator to physically locate this resource.
	LocationIndicatorActive bool
	// PCIeType is the PCIe specification supported by this slot.
	PCIeType PCIeTypes
	// SlotType is the PCIe slot type for this slot
	SlotType SlotTypes
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// PCIeDeviceCount is the number of PCIe devices contained in this slot.
	PCIeDeviceCount int

	// ProcessorsCount is the number of processors
	// that are directly connected or directly bridged to this PCIe slot.
	ProcessorsCount int
	// OEMLinks are all OEM data under link section
	OemLinks json.RawMessage
	// Oem shall contain the OEM extensions. All values for properties that
	// this object contains shall conform to the Redfish Specification
	// described requirements.
	Oem json.RawMessage
	// contains filtered or unexported fields
}

PCIeSlot shall contain the definition for a PCIe Slot for a Redfish implementation.

func (*PCIeSlot) PCIeDevice added in v0.16.0

func (slot *PCIeSlot) PCIeDevice(c common.Client) ([]*PCIeDevice, error)

PCIeDevices gets the PCIe devices contained in this slot.

func (*PCIeSlot) Processors added in v0.16.0

func (slot *PCIeSlot) Processors(c common.Client) ([]*Processor, error)

Processors gets the processors that are directly connected or directly bridged to this PCIe slot.

func (*PCIeSlot) UnmarshalJSON added in v0.16.0

func (slot *PCIeSlot) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Slot object from the raw JSON.

type PCIeSlots added in v0.15.0

type PCIeSlots 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
	// Slots is an array of PCI Slot information.
	Slots []PCIeSlot
	// Oem shall contain the OEM extensions. All values for properties that
	// this object contains shall conform to the Redfish Specification
	// described requirements.
	Oem json.RawMessage
	// OemActions contains all the vendor specific actions. It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
}

PCIeSlots is used to represent a PCIeSlots resource for a Redfish implementation. This schema has been deprecated in favor of the PCIeDevice schema. Empty PCIe slots should be represented by PCIeDevice resources using the `Absent` value of the State property within Status.

func GetPCIeSlots added in v0.15.0

func GetPCIeSlots(c common.Client, uri string) (*PCIeSlots, error)

GetPCIeSlots will get a PCIeSlots instance from the chassis.

func (*PCIeSlots) UnmarshalJSON added in v0.15.0

func (pcieSlots *PCIeSlots) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Slot object from the raw JSON.

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 ParamType added in v0.16.0

type ParamType string
const (
	// StringParamType is a string.
	StringParamType ParamType = "string"
	// NumberParamType is a number converted to a string.
	NumberParamType ParamType = "number"
)

type Parity added in v0.15.0

type Parity string

The type of parity used by the sender and receiver to detect errors over the serial connection.

const (
	// An even parity bit.
	EvenParityBit Parity = "Even"
	// A mark parity bit.
	MarkParityBit Parity = "Mark"
	// No parity bit.
	NoneParityBit Parity = "None"
	// An odd parity bit.
	OddParityBit Parity = "Odd"
	// A space parity bit.
	SpaceParityBit Parity = "Space"
)

type PartLocation added in v0.16.0

type PartLocation struct {
	// LocationOrdinalValue shall contain the number that represents the location of the part based on the
	// LocationType. LocationOrdinalValue shall be measured based on the Orientation value starting with '0'.
	LocationOrdinalValue int
	// LocationType shall contain the type of location of the part.
	LocationType LocationType
	// Orientation shall contain the orientation for the ordering used by the LocationOrdinalValue property.
	Orientation Orientation
	// Reference shall contain the general location within the unit of the part.
	Reference Reference
	// ServiceLabel shall contain the label assigned for service at the part location.
	ServiceLabel string
}

PartLocation shall describe a location for a resource within an enclosure.

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 shall contain the JSON-formatted payload 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 PhaseWiringType added in v0.15.0

type PhaseWiringType string

The number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires).

const (
	// Single or Two-Phase / 3-Wire (Line1, Line2 or Neutral, Protective Earth).
	OneOrTwoPhase3WirePhaseWiringType PhaseWiringType = "OneOrTwoPhase3Wire"
	// Single-phase / 3-Wire (Line1, Neutral, Protective Earth).
	OnePhase3WirePhaseWiringType PhaseWiringType = "OnePhase3Wire"
	// Three-phase / 4-Wire (Line1, Line2, Line3, Protective Earth).
	ThreePhase4WirePhaseWiringType PhaseWiringType = "ThreePhase4Wire"
	// Three-phase / 5-Wire (Line1, Line2, Line3, Neutral, Protective Earth).
	ThreePhase5WirePhaseWiringType PhaseWiringType = "ThreePhase5Wire"
	// Two-phase / 3-Wire (Line1, Line2, Protective Earth).
	TwoPhase3WirePhaseWiringType PhaseWiringType = "TwoPhase3Wire"
	// Two-phase / 4-Wire (Line1, Line2, Neutral, Protective Earth).
	TwoPhase4WirePhaseWiringType PhaseWiringType = "TwoPhase4Wire"
)

type PhysicalAddress added in v0.16.0

type PhysicalAddress struct {
	// City shall contain the city, township, or shi (JP) location for this resource.
	City string
	// Country shall contain the country location for this resource.
	Country string
	// ISOCountryCode shall contain the ISO 3166-1-defined alpha-2 or alpha-3 country code.
	ISOCountryCode string
	// ISOSubdivisionCode shall contain the ISO 3166-2-defined state, province, or territory subdivision code for this
	// resource.
	ISOSubdivisionCode string
	// PostalCode shall contain the postal code for this resource. The value shall conform to the RFC5139-defined
	// requirements of the PC field.
	PostalCode string
	// StateOrProvince shall contain the state, province, or territory location within the country for this resource.
	StateOrProvince string
	// StreetAddress shall contain the street-level physical address of the resource, including identifiers such as
	// apartment, room, or building to further locate the resource within a given street address.
	StreetAddress string
}

PhysicalAddress shall contain a physical address for a resource.

type PhysicalContext added in v0.16.0

type PhysicalContext string
const (
	// RoomPhysicalContext The room.
	RoomPhysicalContext PhysicalContext = "Room"
	// IntakePhysicalContext The air intake point or points or region of the chassis.
	IntakePhysicalContext PhysicalContext = "Intake"
	// ExhaustPhysicalContext The air exhaust point or points or region of the chassis.
	ExhaustPhysicalContext PhysicalContext = "Exhaust"
	// LiquidInletPhysicalContext The liquid inlet point of the chassis.
	LiquidInletPhysicalContext PhysicalContext = "LiquidInlet"
	// LiquidOutletPhysicalContext The liquid outlet point of the chassis.
	LiquidOutletPhysicalContext PhysicalContext = "LiquidOutlet"
	// FrontPhysicalContext The front of the chassis.
	FrontPhysicalContext PhysicalContext = "Front"
	// BackPhysicalContext The back of the chassis.
	BackPhysicalContext PhysicalContext = "Back"
	// UpperPhysicalContext The upper portion of the chassis.
	UpperPhysicalContext PhysicalContext = "Upper"
	// LowerPhysicalContext The lower portion of the chassis.
	LowerPhysicalContext PhysicalContext = "Lower"
	// CPUPhysicalContext A processor (CPU).
	CPUPhysicalContext PhysicalContext = "CPU"
	// CPUSubsystemPhysicalContext The entire processor (CPU) subsystem.
	CPUSubsystemPhysicalContext PhysicalContext = "CPUSubsystem"
	// GPUPhysicalContext A graphics processor (GPU).
	GPUPhysicalContext PhysicalContext = "GPU"
	// GPUSubsystemPhysicalContext The entire graphics processor (GPU) subsystem.
	GPUSubsystemPhysicalContext PhysicalContext = "GPUSubsystem"
	// FPGAPhysicalContext An FPGA.
	FPGAPhysicalContext PhysicalContext = "FPGA"
	// AcceleratorPhysicalContext An accelerator.
	AcceleratorPhysicalContext PhysicalContext = "Accelerator"
	// ASICPhysicalContext An ASIC device, such as a networking chip or chipset component.
	ASICPhysicalContext PhysicalContext = "ASIC"
	// BackplanePhysicalContext A backplane within the chassis.
	BackplanePhysicalContext PhysicalContext = "Backplane"
	// SystemBoardPhysicalContext The system board (PCB).
	SystemBoardPhysicalContext PhysicalContext = "SystemBoard"
	// PowerSupplyPhysicalContext A power supply.
	PowerSupplyPhysicalContext PhysicalContext = "PowerSupply"
	// PowerSubsystemPhysicalContext The entire power subsystem.
	PowerSubsystemPhysicalContext PhysicalContext = "PowerSubsystem"
	// VoltageRegulatorPhysicalContext A voltage regulator device.
	VoltageRegulatorPhysicalContext PhysicalContext = "VoltageRegulator"
	// RectifierPhysicalContext A rectifier device.
	RectifierPhysicalContext PhysicalContext = "Rectifier"
	// StorageDevicePhysicalContext A storage device.
	StorageDevicePhysicalContext PhysicalContext = "StorageDevice"
	// NetworkingDevicePhysicalContext A networking device.
	NetworkingDevicePhysicalContext PhysicalContext = "NetworkingDevice"
	// ComputeBayPhysicalContext Within a compute bay.
	ComputeBayPhysicalContext PhysicalContext = "ComputeBay"
	// StorageBayPhysicalContext Within a storage bay.
	StorageBayPhysicalContext PhysicalContext = "StorageBay"
	// NetworkBayPhysicalContext Within a networking bay.
	NetworkBayPhysicalContext PhysicalContext = "NetworkBay"
	// ExpansionBayPhysicalContext Within an expansion bay.
	ExpansionBayPhysicalContext PhysicalContext = "ExpansionBay"
	// PowerSupplyBayPhysicalContext Within a power supply bay.
	PowerSupplyBayPhysicalContext PhysicalContext = "PowerSupplyBay"
	// MemoryPhysicalContext A memory device.
	MemoryPhysicalContext PhysicalContext = "Memory"
	// MemorySubsystemPhysicalContext The entire memory subsystem.
	MemorySubsystemPhysicalContext PhysicalContext = "MemorySubsystem"
	// ChassisPhysicalContext The entire chassis.
	ChassisPhysicalContext PhysicalContext = "Chassis"
	// FanPhysicalContext A fan.
	FanPhysicalContext PhysicalContext = "Fan"
	// CoolingSubsystemPhysicalContext The entire cooling, or air and liquid, subsystem.
	CoolingSubsystemPhysicalContext PhysicalContext = "CoolingSubsystem"
	// MotorPhysicalContext A motor.
	MotorPhysicalContext PhysicalContext = "Motor"
	// TransformerPhysicalContext A transformer.
	TransformerPhysicalContext PhysicalContext = "Transformer"
	// ACUtilityInputPhysicalContext An AC utility input.
	ACUtilityInputPhysicalContext PhysicalContext = "ACUtilityInput"
	// ACStaticBypassInputPhysicalContext An AC static bypass input.
	ACStaticBypassInputPhysicalContext PhysicalContext = "ACStaticBypassInput"
	// ACMaintenanceBypassInputPhysicalContext An AC maintenance bypass input.
	ACMaintenanceBypassInputPhysicalContext PhysicalContext = "ACMaintenanceBypassInput"
	// DCBusPhysicalContext A DC bus.
	DCBusPhysicalContext PhysicalContext = "DCBus"
	// ACOutputPhysicalContext An AC output.
	ACOutputPhysicalContext PhysicalContext = "ACOutput"
	// ACInputPhysicalContext An AC input.
	ACInputPhysicalContext PhysicalContext = "ACInput"
	// TrustedModulePhysicalContext A trusted module.
	TrustedModulePhysicalContext PhysicalContext = "TrustedModule"
	// BoardPhysicalContext shall indicate a circuit board that is not the primary or system board within a context
	// that cannot be described by other defined values.
	BoardPhysicalContext PhysicalContext = "Board"
	// TransceiverPhysicalContext shall indicate a transceiver attached to a device.
	TransceiverPhysicalContext PhysicalContext = "Transceiver"
	// BatteryPhysicalContext A battery.
	BatteryPhysicalContext PhysicalContext = "Battery"
	// PumpPhysicalContext A pump.
	PumpPhysicalContext PhysicalContext = "Pump"
)

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 PhysicalSubContext added in v0.16.0

type PhysicalSubContext string
const (
	// InputPhysicalSubContext The input.
	InputPhysicalSubContext PhysicalSubContext = "Input"
	// OutputPhysicalSubContext The output.
	OutputPhysicalSubContext PhysicalSubContext = "Output"
)

type PinOutConfiguration added in v0.15.0

type PinOutConfiguration string

The physical pinout configuration for a serial connector.

const (
	// The Cisco pinout configuration.
	CiscoPinOutConfiguration PinOutConfiguration = "Cisco"
	// The Cyclades pinout configuration.
	CycladesPinOutConfiguration PinOutConfiguration = "Cyclades"
	// The Digi pinout configuration.
	DigiPinOutConfiguration PinOutConfiguration = "Digi"
)

type Placement added in v0.16.0

type Placement struct {
	// AdditionalInfo shall contain additional information, such as Tile, Column (Post), Wall, or other designation
	// that describes a location that cannot be conveyed with other properties defined for the Placement object.
	AdditionalInfo string
	// Rack shall contain the name of the rack within a row.
	Rack string
	// RackOffset shall be measured from bottom to top, starting with 0.
	RackOffset int
	// RackOffsetUnits shall contain a RackUnit enumeration literal that indicates the type of rack units in use.
	RackOffsetUnits RackUnits
	// Row shall contain the name of the row.
	Row string
}

Placement shall describe a location within a resource. Examples include a shelf in a rack.

type PlugType added in v0.15.0

type PlugType string

The type of plug according to NEMA, IEC, or regional standards.

const (
	// California Standard CS8265 (Single-phase 250V; 50A; 2P3W).
	CaliforniaCS8265PlugType PlugType = "California_CS8265"
	// California Standard CS8365 (Three-phase 250V; 50A; 3P4W).
	CaliforniaCS8365PlugType PlugType = "California_CS8365"
	// Field-wired; Three-phase 200-250V; 60A; 3P4W.
	Field208V3P4W60APlugType PlugType = "Field_208V_3P4W_60A"
	// Field-wired; Three-phase 200-240/346-415V; 32A; 3P5W.
	Field400V3P5W32APlugType PlugType = "Field_400V_3P5W_32A"
	// IEC 60309 316P6 (Single-phase 200-250V; 16A; 1P3W; Blue, 6-hour).
	IEC60309316P6PlugType PlugType = "IEC_60309_316P6"
	// IEC 60309 332P6 (Single-phase 200-250V; 32A; 1P3W; Blue, 6-hour).
	IEC60309332P6PlugType PlugType = "IEC_60309_332P6"
	// IEC 60309 363P6 (Single-phase 200-250V; 63A; 1P3W; Blue, 6-hour).
	IEC60309363P6PlugType PlugType = "IEC_60309_363P6"
	// IEC 60309 460P9 (Three-phase 200-250V; 60A; 3P4W; Blue; 9-hour).
	IEC60309460P9PlugType PlugType = "IEC_60309_460P9"
	// IEC 60309 516P6 (Three-phase 200-240/346-415V; 16A; 3P5W; Red; 6-hour).
	IEC60309516P6PlugType PlugType = "IEC_60309_516P6"
	// IEC 60309 532P6 (Three-phase 200-240/346-415V; 32A; 3P5W; Red; 6-hour).
	IEC60309532P6PlugType PlugType = "IEC_60309_532P6"
	// IEC 60309 560P9 (Three-phase 120-144/208-250V; 60A; 3P5W; Blue; 9-hour).
	IEC60309560P9PlugType PlugType = "IEC_60309_560P9"
	// IEC 60309 563P6 (Three-phase 200-240/346-415V; 63A; 3P5W; Red; 6-hour).
	IEC60309563P6PlugType PlugType = "IEC_60309_563P6"
	// IEC C14 (Single-phase 250V; 10A; 1P3W).
	IEC60320C14PlugType PlugType = "IEC_60320_C14"
	// IEC C20 (Single-phase 250V; 16A; 1P3W).
	IEC60320C20PlugType PlugType = "IEC_60320_C20"
	// NEMA 5-15P (Single-phase 125V; 15A; 1P3W).
	NEMA515PPlugType PlugType = "NEMA_5_15P"
	// NEMA 5-20P (Single-phase 125V; 20A; 1P3W).
	NEMA520PPlugType PlugType = "NEMA_5_20P"
	// NEMA 6-15P (Single-phase 250V; 15A; 2P3W).
	NEMA615PPlugType PlugType = "NEMA_6_15P"
	// NEMA 6-20P (Single-phase 250V; 20A; 2P3W).
	NEMA620PPlugType PlugType = "NEMA_6_20P"
	// NEMA L14-20P (Split-phase 125/250V; 20A; 2P4W).
	NEMAL1420PPlugType PlugType = "NEMA_L14_20P"
	// NEMA L14-30P (Split-phase 125/250V; 30A; 2P4W).
	NEMAL1430PPlugType PlugType = "NEMA_L14_30P"
	// NEMA L15-20P (Three-phase 250V; 20A; 3P4W).
	NEMAL1520PPlugType PlugType = "NEMA_L15_20P"
	// NEMA L15-30P (Three-phase 250V; 30A; 3P4W).
	NEMAL1530PPlugType PlugType = "NEMA_L15_30P"
	// NEMA L21-20P (Three-phase 120/208V; 20A; 3P5W).
	NEMAL2120PPlugType PlugType = "NEMA_L21_20P"
	// NEMA L21-30P (Three-phase 120/208V; 30A; 3P5W).
	NEMAL2130PPlugType PlugType = "NEMA_L21_30P"
	// NEMA L22-20P (Three-phase 277/480V; 20A; 3P5W).
	NEMAL2220PPlugType PlugType = "NEMA_L22_20P"
	// NEMA L22-30P (Three-phase 277/480V; 30A; 3P5W).
	NEMAL2230PPlugType PlugType = "NEMA_L22_30P"
	// NEMA L5-15P (Single-phase 125V; 15A; 1P3W).
	NEMAL515PPlugType PlugType = "NEMA_L5_15P"
	// NEMA L5-20P (Single-phase 125V; 20A; 1P3W).
	NEMAL520PPlugType PlugType = "NEMA_L5_20P"
	// NEMA L5-30P (Single-phase 125V; 30A; 1P3W).
	NEMAL530PPlugType PlugType = "NEMA_L5_30P"
	// NEMA L6-15P (Single-phase 250V; 15A; 2P3W).
	NEMAL615PPlugType PlugType = "NEMA_L6_15P"
	// NEMA L6-20P (Single-phase 250V; 20A; 2P3W).
	NEMAL620PPlugType PlugType = "NEMA_L6_20P"
	// NEMA L6-30P (Single-phase 250V; 30A; 2P3W).
	NEMAL630PPlugType PlugType = "NEMA_L6_30P"
)

type PolyPhaseCurrentAmps added in v0.15.0

type PolyPhaseCurrentAmps struct {
	// 	Line 1 current (A).
	Line1 SensorVoltageExcerpt
	// 	Line 2 current (A).
	Line2 SensorVoltageExcerpt
	// 	Line 3 current (A).
	Line3 SensorVoltageExcerpt
	// Neutral line current (A).
	Neutral SensorVoltageExcerpt
}

The current readings for this circuit.

type PolyPhaseEnergykWh added in v0.15.0

type PolyPhaseEnergykWh struct {
	// The Line 1 to Line 2 energy (kWh) for this circuit.
	Line1ToLine2 SensorEnergykWhExcerpt
	// The Line 1 to Neutral energy (kWh) for this circuit.
	Line1ToNeutral SensorEnergykWhExcerpt
	// The Line 2 to Line 3 energy (kWh) for this circuit.
	Line2ToLine3 SensorEnergykWhExcerpt
	// The Line 2 to Neutral energy (kWh) for this circuit.
	Line2ToNeutral SensorEnergykWhExcerpt
	// The Line 3 to Line 1 energy (kWh) for this circuit.
	Line3ToLine1 SensorEnergykWhExcerpt
	// The Line 3 to Neutral energy (kWh) for this circuit.
	Line3ToNeutral SensorEnergykWhExcerpt
}

The energy readings for this circuit.

type PolyPhasePowerWatts added in v0.15.0

type PolyPhasePowerWatts struct {
	// The Line 1 to Line 2 power (W) for this circuit.
	Line1ToLine2 SensorPowerExcerpt
	// The Line 1 to Neutral power (W) for this circuit.
	Line1ToNeutral SensorPowerExcerpt
	// The Line 2 to Line 3 power (W) for this circuit.
	Line2ToLine3 SensorPowerExcerpt
	// The Line 2 to Neutral power (W) for this circuit.
	Line2ToNeutral SensorPowerExcerpt
	// The Line 3 to Line 1 power (W) for this circuit.
	Line3ToLine1 SensorPowerExcerpt
	// The Line 3 to Neutral power (W) for this circuit.
	Line3ToNeutral SensorPowerExcerpt
}

The power readings for this circuit.

type PolyPhaseVoltage added in v0.15.0

type PolyPhaseVoltage struct {
	// The Line 1 to Line 2 voltage (V) for this circuit.
	Line1ToLine2 SensorVoltageExcerpt
	// The Line 1 to Neutral voltage (V) for this circuit.
	Line1ToNeutral SensorVoltageExcerpt
	// The Line 2 to Line 3 voltage (V) for this circuit.
	Line2ToLine3 SensorVoltageExcerpt
	// The Line 2 to Neutral voltage (V) for this circuit.
	Line2ToNeutral SensorVoltageExcerpt
	// The Line 3 to Line 1 voltage (V) for this circuit.
	Line3ToLine1 SensorVoltageExcerpt
	// The Line 3 to Neutral voltage (V) for this circuit.
	Line3ToNeutral SensorVoltageExcerpt
}

The voltage readings for this circuit.

type PoolType added in v0.16.0

type PoolType string
const (
	// FreePoolType This resource block is in the free pool and is not contributing to any composed resources.
	FreePoolType PoolType = "Free"
	// ActivePoolType This resource block is in the active pool and is contributing to at least one composed resource
	// as a result of a composition request.
	ActivePoolType PoolType = "Active"
	// UnassignedPoolType This resource block is not assigned to any pools.
	UnassignedPoolType PoolType = "Unassigned"
)

type Port added in v0.16.0

type Port struct {
	common.Entity

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

	// The number of active lanes for this interface.
	ActiveWidth int
	// The protocol versions capable of being sent over this port.
	CapableProtocolVersions []string
	// The protocol version being sent over this port.
	CurrentProtocolVersion string
	// The current speed of this port.
	CurrentSpeedGbps float32
	// CXL properties for this port.
	CXL CXLPort
	// Description provides a description of this resource.
	Description string
	// Deprecated (v1.10+): An indication of whether this port is enabled.
	Enabled bool

	// Ethernet properties for this port.
	Ethernet PortEthernet
	// Fibre Channel properties for this port.
	FibreChannel PortFibreChannel
	// An array of maximum bandwidth allocation percentages for the functions
	// associated with this port.
	FunctionMaxBandwidth []FunctionBandwidth
	// An array of minimum bandwidth allocation percentages for the functions
	// associated with this port.
	FunctionMinBandwidth []FunctionBandwidth

	// InfiniBand properties for this port.
	InfiniBand InfiniBand
	// An indication of whether the port is enabled.
	InterfaceEnabled bool
	// The link configuration of this port.
	LinkConfiguration []LinkConfiguration
	// The link network technology capabilities of this port.
	LinkNetworkTechnology LinkNetworkTechnology
	// The desired link state for this interface.
	LinkState LinkState
	// The link status for this interface.
	LinkStatus PortLinkStatus
	// The number of link state transitions for this interface.
	LinkTransitionIndicator int
	// The location of the port.
	Location common.Location
	// An indicator allowing an operator to physically locate this resource.
	LocationIndicatorActive bool
	// The maximum frame size supported by the port (bytes).
	MaxFrameSize int
	// The maximum speed of this port as currently configured.
	MaxSpeedGbps float32

	// The label of this port on the physical package for this port.
	PortID string `json:"PortId"`
	// The physical connection medium for this port.
	PortMedium PortMedium
	// The protocol being sent over this port.
	PortProtocol PortProtocol
	// The type of this port.
	PortType PortType
	// The identifier of the remote port to which this port is connected.
	RemotePortID string `json:"RemotePortId"`
	// The small form-factor pluggable (SFP) device associated with this port.
	SFP SFP
	// An indication of whether a signal is detected on this interface.
	SignalDetected bool
	// The status and health of the resource and its subordinate or dependent resources.
	Status common.Status
	// The number of lanes, phys, or other physical transport links that this port contains.
	Width int

	// AssociatedEndpointsCount gets the number of endpoints on the other end of the link.
	AssociatedEndpointsCount int

	CablesCount int

	ConnectedPortsCount int

	ConnectedSwitchesCount int

	ConnectedSwitchPortsCount int

	EthernetInterfacesCount int
	OemLinks                json.RawMessage

	OemActions json.RawMessage
	// contains filtered or unexported fields
}

Port represents a port of a switch, controller, chassis, or any other device that could be connected to another entity.

func GetPort added in v0.16.0

func GetPort(c common.Client, uri string) (*Port, error)

GetPort will get a Port instance from the service.

func ListReferencedPorts added in v0.16.0

func ListReferencedPorts(c common.Client, link string) ([]*Port, error)

ListReferencedPorts gets the collection of Port from a provided reference.

func (*Port) AssociatedEndpoints added in v0.16.0

func (port *Port) AssociatedEndpoints() ([]*Endpoint, error)

AssociatedEndpoints gets the endpoints at the other end of the link.

func (*Port) Cables added in v0.16.0

func (port *Port) Cables() ([]*Cable, error)

Cables gets the cables connected to this port.

func (*Port) ConnectedPorts added in v0.16.0

func (port *Port) ConnectedPorts() ([]*Port, error)

ConnectedPorts gets the remote device ports connected to the other end of the link.

func (*Port) ConnectedSwitchPorts added in v0.16.0

func (port *Port) ConnectedSwitchPorts() ([]*Port, error)

ConnectedSwitchPorts gets the switch ports connected to the other end of the link.

func (*Port) ConnectedSwitches added in v0.16.0

func (port *Port) ConnectedSwitches() ([]*Switch, error)

ConnectedSwitches gets the switches connected to the other end of the link.

func (*Port) EnvironmentMetrics added in v0.16.0

func (port *Port) EnvironmentMetrics() (*EnvironmentMetrics, error)

EnvironmentMetrics gets the environment metrics for this port or any attached small form-factor pluggable (SFP) device.

func (*Port) EthernetInterfaces added in v0.16.0

func (port *Port) EthernetInterfaces() ([]*EthernetInterface, error)

EthernetInterfaces gets the Ethernet interfaces this port provides.

func (*Port) GenZLPRT added in v0.16.0

func (port *Port) GenZLPRT() ([]*RouteEntry, error)

GenZLPRT gets the Gen-Z Core Specification-defined Linear Packet Relay Table for this port.

func (*Port) GenZMPRT added in v0.16.0

func (port *Port) GenZMPRT() ([]*RouteEntry, error)

GenZMPRT gets the Gen-Z Core Specification-defined Multi-subnet Packet Relay Table for this port.

func (*Port) GenZVCAT added in v0.16.0

func (port *Port) GenZVCAT() ([]*VCATEntry, error)

GenZVCAT gets the Gen-Z Virtual Channel Action Table for the port.

func (*Port) Metrics added in v0.16.0

func (port *Port) Metrics() (*PortMetrics, error)

Metrics gets the metrics for this port.

func (*Port) ResetPPB added in v0.16.0

func (port *Port) ResetPPB() error

ResetPPB resets the PCI-to-PCI bridge (PPB) for this port.

func (*Port) ResetPort added in v0.16.0

func (port *Port) ResetPort(resetType ResetType) error

ResetPort resets this port.

func (*Port) UnmarshalJSON added in v0.16.0

func (port *Port) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Port object from the raw JSON.

func (*Port) Update added in v0.16.0

func (port *Port) Update() error

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

type PortConnectionType

type PortConnectionType string

PortConnectionType is

const (
	// (v1.5+) This port connection type is a diagnostic port.
	DPortPortConnectionType PortConnectionType = "DPort"
	// (v1.5+) This port connection type is an extender fabric port.
	EPortPortConnectionType PortConnectionType = "EPort"
	// (v1.5+) This port connection type is an external fabric port.
	EXPortPortConnectionType PortConnectionType = "EXPort"
	// ExtenderFabricPortConnectionType means this port connection type is an
	// extender fabric port.
	ExtenderFabricPortConnectionType PortConnectionType = "ExtenderFabric"
	// (v1.5+) This port connects in a fabric loop configuration.
	FLPortPortConnectionType PortConnectionType = "FLPort"
	// (v1.5+) This port connection type is a fabric port.
	FPortPortConnectionType PortConnectionType = "FPort"
	// (v1.5+) This port connection type is a generic fabric port.
	GPortPortConnectionType PortConnectionType = "GPort"
	// GenericPortConnectionType means this port connection type is a generic
	// fabric port.
	GenericPortConnectionType PortConnectionType = "Generic"
	// (v1.5+) This port connects in a node loop configuration.
	NLPortPortConnectionType PortConnectionType = "NLPort"
	// 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"
	// (v1.5+) This port connection type is a proxy N port for N-Port virtualization.
	NPPortPortConnectionType PortConnectionType = "NPPort"
	// 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"
	// (v1.5+) This port connection type is an trunking extender fabric port.
	TEPortPortConnectionType PortConnectionType = "TEPort"
	// (v1.5+) This port connection type is unassigned.
	UPortPortConnectionType PortConnectionType = "UPort"
)

type PortEthernet added in v0.16.0

type PortEthernet struct {
	// An array of configured MAC addresses that are associated with this network port.
	AssociatedMACAddresses []string
	// Indicates whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled on this port.
	EEEEnabled bool
	// The locally configured 802.3x flow control setting for this port.
	FlowControlConfiguration FlowControl
	// The 802.3x flow control behavior negotiated with the link partner for this port.
	FlowControlStatus FlowControl
	// Enable/disable LLDP for this port.
	LLDPEnabled bool
	// LLDP data being received on this link.
	LLDPReceive LLDPReceive
	// LLDP data being transmitted on this link.
	LLDPTransmit LLDPTransmit
	// Deprecated (v1.5+): The set of Ethernet capabilities that this port supports.
	SupportedEthernetCapabilities []SupportedEthernetCapabilities
	// Indicates whether Wake on LAN (WoL) is enabled on this port.
	WakeOnLANEnabled bool
}

type PortFibreChannel added in v0.16.0

type PortFibreChannel struct {
	// An array of configured World Wide Names (WWN) that are associated with this network port.
	AssociatedWorldWideNames []string
	// The Fibre Channel Fabric Name provided by the switch.
	FabricName string
	// The number of ports not on the associated device that the associated device has discovered through this port.
	NumberDiscoveredRemotePorts int
	// The connection type of this port.
	PortConnectionType PortConnectionType
}

type PortLinkStatus

type PortLinkStatus string

type PortMedium added in v0.16.0

type PortMedium string
const (
	// ElectricalPortMedium This port has an electrical cable connection.
	ElectricalPortMedium PortMedium = "Electrical"
	// OpticalPortMedium This port has an optical cable connection.
	OpticalPortMedium PortMedium = "Optical"
)

type PortMetrics added in v0.16.0

type PortMetrics 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"`
	// CXL shall contain the port metrics specific to CXL ports.
	CXL CXLPortMetrics
	// Description provides a description of this resource.
	Description string
	// FibreChannelPortMetrics shall contain Fibre Channel-specific port metrics for network ports.
	FibreChannel FibreChannelPortMetrics
	// GenZPortMetrics shall contain the port metrics specific to Gen-Z ports.
	GenZ GenZPortMetrics
	// NetworkingPortMetrics shall contain port metrics for network ports, including Ethernet, Fibre Channel, and InfiniBand, that
	// are not specific to one of these protocols.
	Networking NetworkingPortMetrics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PCIeErrors shall contain the PCIe errors associated with this port.
	PCIeErrors PCIeErrors
	// RXBytes shall contain the total number of bytes received on a port since reset, including host and remote
	// management passthrough traffic, and inclusive of all protocol overhead.
	RXBytes int
	// RXErrors shall contain the total number of received errors on a port since reset.
	RXErrors int
	// SAS shall contain an array of physical-related metrics for Serial Attached SCSI (SAS). Each member in the array
	// shall represent a single phy.
	SAS []SASPortMetrics
	// TXBytes shall contain the total number of bytes transmitted on a port since reset, including host and remote
	// management passthrough traffic, and inclusive of all protocol overhead.
	TXBytes int
	// TXErrors shall contain the total number of transmission errors on a port since reset.
	TXErrors int
	// Transceivers shall contain an array of transceiver-related metrics for this port. Each member in the array shall
	// represent a single transceiver.
	Transceivers []TransceiverPortMetrics
}

PortMetrics shall represent the port metrics for a switch device or component port summary in a Redfish implementation.

func GetPortMetrics added in v0.16.0

func GetPortMetrics(c common.Client, uri string) (*PortMetrics, error)

GetPortMetrics will get a PortMetrics instance from the service.

func ListReferencedPortMetricss added in v0.16.0

func ListReferencedPortMetricss(c common.Client, link string) ([]*PortMetrics, error)

ListReferencedPortMetricss gets the collection of PortMetrics from a provided reference.

type PortProtocol added in v0.16.0

type PortProtocol string
const (
	// Advanced Host Controller Interface (AHCI).
	AHCIPortProtocol PortProtocol = "AHCI"
	// Compute Express Link.
	CXLPortProtocol PortProtocol = "CXL"
	// DisplayPort.
	DisplayPortPortProtocol PortProtocol = "DisplayPort"
	// DVI.
	DVIPortProtocol PortProtocol = "DVI"
	// Ethernet.
	EthernetPortProtocol PortProtocol = "Ethernet"
	// Fibre Channel.
	FCPortProtocol PortProtocol = "FC"
	// Fibre Channel over Ethernet (FCoE).
	FCoEPortProtocol PortProtocol = "FCoE"
	// Fibre Channel Protocol for SCSI.
	FCPPortProtocol PortProtocol = "FCP"
	// FIbre CONnection (FICON).
	FICONPortProtocol PortProtocol = "FICON"
	// File Transfer Protocol (FTP).
	FTPPortProtocol PortProtocol = "FTP"
	// GenZ.
	GenZPortProtocol PortProtocol = "GenZ"
	// HDMI.
	HDMIPortProtocol PortProtocol = "HDMI"
	// Hypertext Transport Protocol (HTTP).
	HTTPPortProtocol PortProtocol = "HTTP"
	// Hypertext Transfer Protocol Secure (HTTPS).
	HTTPSPortProtocol PortProtocol = "HTTPS"
	// Inter-Integrated Circuit Bus.
	I2CPortProtocol PortProtocol = "I2C"
	// InfiniBand.
	InfiniBandPortProtocol PortProtocol = "InfiniBand"
	// Internet SCSI.
	ISCSIPortProtocol PortProtocol = "iSCSI"
	// Internet Wide Area RDMA Protocol (iWARP).
	IWARPPortProtocol PortProtocol = "iWARP"
	// Multiple Protocols.
	MultiProtocolPortProtocol PortProtocol = "MultiProtocol"
	// Network File System (NFS) version 3.
	NFSv3PortProtocol PortProtocol = "NFSv3"
	// Network File System (NFS) version 4.
	NFSv4PortProtocol PortProtocol = "NFSv4"
	// NVLink.
	NVLinkPortProtocol PortProtocol = "NVLink"
	// Non-Volatile Memory Express (NVMe).
	NVMePortProtocol PortProtocol = "NVMe"
	// NVMe over Fabrics.
	NVMeOverFabricsPortProtocol PortProtocol = "NVMeOverFabrics"
	// OEM-specific.
	OEMPortProtocol PortProtocol = "OEM"
	// PCI Express.
	PCIePortProtocol PortProtocol = "PCIe"
	// Intel QuickPath Interconnect (QPI).
	QPIPortProtocol PortProtocol = "QPI"
	// RDMA over Converged Ethernet Protocol.
	RoCEPortProtocol PortProtocol = "RoCE"
	// RDMA over Converged Ethernet Protocol Version 2.
	RoCEv2PortProtocol PortProtocol = "RoCEv2"
	// Serial Attached SCSI.
	SASPortProtocol PortProtocol = "SAS"
	// Serial AT Attachment.
	SATAPortProtocol PortProtocol = "SATA"
	// SSH File Transfer Protocol (SFTP).
	SFTPPortProtocol PortProtocol = "SFTP"
	// Server Message Block (SMB).
	// Also known as the Common Internet File System (CIFS).
	SMBPortProtocol PortProtocol = "SMB"
	// Transmission Control Protocol (TCP).
	TCPPortProtocol PortProtocol = "TCP"
	// Trivial File Transfer Protocol (TFTP).
	TFTPPortProtocol PortProtocol = "TFTP"
	// User Datagram Protocol (UDP).
	UDPPortProtocol PortProtocol = "UDP"
	// Universal Host Controller Interface (UHCI).
	UHCIPortProtocol PortProtocol = "UHCI"
	// Intel UltraPath Interconnect (UPI).
	UPIPortProtocol PortProtocol = "UPI"
	// Universal Serial Bus (USB).
	USBPortProtocol PortProtocol = "USB"
	// VGA.
	VGAPortProtocol PortProtocol = "VGA"
)

type PortType added in v0.16.0

type PortType string

PortType is

const (
	// UpstreamPortPortType This port connects to a host device.
	UpstreamPortPortType PortType = "UpstreamPort"
	// DownstreamPortPortType This port connects to a target device.
	DownstreamPortPortType PortType = "DownstreamPort"
	// InterswitchPortPortType This port connects to another switch.
	InterswitchPortPortType PortType = "InterswitchPort"
	// ManagementPortPortType This port connects to a switch manager.
	ManagementPortPortType PortType = "ManagementPort"
	// BidirectionalPortPortType This port connects to any type of device.
	BidirectionalPortPortType PortType = "BidirectionalPort"
	// UnconfiguredPortPortType This port has not yet been configured.
	UnconfiguredPortPortType PortType = "UnconfiguredPort"
)

type PostalAddress added in v0.16.0

type PostalAddress struct {
	common.Entity
	// AdditionalCode shall conform to the RFC5139-defined requirements of the ADDCODE field.
	AdditionalCode string
	// AdditionalInfo shall conform to the requirements of the LOC field as defined in RFC5139. Provides additional
	// information.
	AdditionalInfo string
	// Building shall conform to the RFC5139-defined requirements of the BLD field. Names the building.
	Building string
	// City shall conform to the RFC5139-defined requirements of the A3 field. Names a city, township, or shi (JP).
	City string
	// Community shall conform to the RFC5139-defined requirements of the PCN field. A postal community name.
	Community string
	// Country shall conform to the RFC5139-defined requirements of the Country field.
	Country string
	// District shall conform to the RFC5139-defined requirements of the A2 field. Names a county, parish, gun (JP), or
	// district (IN).
	District string
	// Division shall conform to the RFC5139-defined requirements of the A4 field. Names a city division, borough, city
	// district, ward, or chou (JP).
	Division string
	// Floor shall conform to the RFC5139-defined requirements of the FLR field. Provides a floor designation.
	Floor string
	// HouseNumber shall conform to the RFC5139-defined requirements of the HNO field. The numeric portion of the house
	// number.
	HouseNumber int
	// HouseNumberSuffix shall conform to the RFC5139-defined requirements of the HNS field. Provides a suffix to a
	// house number, (F, B, or 1/2).
	HouseNumberSuffix string
	// Landmark shall conform to the RFC5139-defined requirements of the LMK field. Identifies a landmark or vanity
	// address.
	Landmark string
	// LeadingStreetDirection shall conform to the requirements of the PRD field as defined in RFC5139. Names a leading
	// street direction, (N, W, or SE).
	LeadingStreetDirection string
	// Neighborhood shall conform to the RFC5139-defined requirements of the A5 field. Names a neighborhood or block.
	Neighborhood string
	// POBox shall conform to the RFC5139-defined requirements of the POBOX field. A post office box (PO box).
	POBox string
	// PlaceType shall conform to the RFC5139-defined requirements of the PLC field. Examples include office and
	// residence.
	PlaceType string
	// PostalCode shall conform to the RFC5139-defined requirements of the PC field. A postal code (or zip code).
	PostalCode string
	// Road shall conform to the RFC5139-defined requirements of the RD field. Designates a primary road or street.
	Road string
	// RoadBranch shall conform to the RFC5139-defined requirements of the RDBR field. Shall contain a post office box
	// (PO box) road branch.
	RoadBranch string
	// RoadPostModifier shall conform to the RFC5139-defined requirements of the POM field. For example, Extended.
	RoadPostModifier string
	// RoadPreModifier shall conform to the RFC5139-defined requirements of the PRM field. For example, Old or New.
	RoadPreModifier string
	// RoadSection shall conform to the RFC5139-defined requirements of the RDSEC field. A road section.
	RoadSection string
	// RoadSubBranch shall conform to the RFC5139-defined requirements of the RDSUBBR field.
	RoadSubBranch string
	// Room shall conform to the RFC5139-defined requirements of the ROOM field. A name or number of a room to locate
	// the resource within the unit.
	Room string
	// Seat shall conform to the RFC5139-defined requirements of the SEAT field. A name or number of a seat, such as
	// the desk, cubicle, or workstation.
	Seat string
	// Street shall conform to the RFC5139-defined requirements of the A6 field. Names a street.
	Street string
	// StreetSuffix shall conform to the RFC5139-defined requirements of the STS field. Names a street suffix.
	StreetSuffix string
	// Territory shall conform to the RFC5139-defined requirements of the A1 field when it names a territory, state,
	// region, province, or prefecture within a country.
	Territory string
	// TrailingStreetSuffix shall conform to the RFC5139-defined requirements of the POD field. Names a trailing street
	// suffix.
	TrailingStreetSuffix string
	// Unit shall conform to the RFC5139-defined requirements of the UNIT field. The name or number of a unit, such as
	// the apartment or suite, to locate the resource.
	Unit string
	// contains filtered or unexported fields
}

PostalAddress shall describe a postal address for a resource. For more information, see RFC5139. Depending on use, the instance can represent a past, current, or future location.

func (*PostalAddress) UnmarshalJSON added in v0.16.0

func (postaladdress *PostalAddress) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PostalAddress object from the raw JSON.

func (*PostalAddress) Update added in v0.16.0

func (postaladdress *PostalAddress) Update() error

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

type Power

type Power 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PowerControl shall contain the set of power control readings and settings.
	PowerControl []PowerControl
	// PowerControl@odata.count
	PowerControlCount int `json:"PowerControl@odata.count"`
	// PowerSupplies shall contain the set of power supplies associated with this system or device.
	PowerSupplies []PowerSupply
	// PowerSupplies@odata.count
	PowerSuppliesCount int `json:"PowerSupplies@odata.count"`
	// Redundancy shall contain redundancy information for the set of power supplies in this system or device.
	Redundancy []Redundancy
	// Redundancy@odata.count
	RedundancyCount int `json:"Redundancy@odata.count"`
	// Voltages shall contain the set of voltage sensors for this chassis.
	Voltages []Voltage
	// Voltages@odata.count
	VoltagesCount int `json:"Voltages@odata.count"`
	// contains filtered or unexported fields
}

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.

func (*Power) PowerSupplyReset added in v0.16.0

func (power *Power) PowerSupplyReset(memberID string, resetType ResetType) error

PowerSupplyReset resets the targeted power supply specified by the MemberID from the PowerSupplies array. A `GracefulRestart` ResetType shall reset the power supply but shall not affect the power output. A `ForceRestart` ResetType can affect the power supply output.

func (*Power) UnmarshalJSON added in v0.16.0

func (power *Power) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Power object from the raw JSON.

type PowerAllocation added in v0.16.0

type PowerAllocation struct {
	// AllocatedWatts shall represent the total power currently allocated or budgeted to this subsystem.
	AllocatedWatts float64
	// RequestedWatts shall represent the amount of power, in watt units, that the subsystem currently requests to be
	// budgeted for future use.
	RequestedWatts float64
}

PowerAllocation shall contain the set of properties describing the allocation of power for a subsystem.

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
	// 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
}

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 PowerDistribution added in v0.15.0

type PowerDistribution 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

	// The user-assigned asset tag for this equipment.
	AssetTag string

	// The type of equipment this resource represents.
	EquipmentType PowerEquipmentType

	// The firmware version of this equipment.
	FirmwareVersion string
	// The location of the equipment.
	Location common.Location

	// The redundancy information for the mains (input) circuits for this equipment.
	MainsRedundancy RedundantGroup
	// The manufacturer of this equipment.
	Manufacturer string

	// The product model number of this equipment.
	Model string

	// The part number for this equipment.
	PartNumber string

	// Deprecated: (v1.3) The redundancy information for the devices in a redundancy group.
	// This property has been deprecated in favor of the PowerSupplyRedundancy property in the Chassis resource.
	PowerSupplyRedundancy []RedundantGroup
	// The production or manufacturing date of this equipment.
	ProductionDate string

	// The serial number for this equipment.
	SerialNumber string
	// The status and health of the resource and its subordinate or dependent resources.
	Status common.Status

	// The configuration settings for an automatic transfer switch.
	TransferConfiguration TransferConfiguration
	// The criteria used to initiate a transfer for an automatic transfer switch.
	TransferCriteria TransferCriteria
	// A user-assigned label.
	UserLabel string
	// The UUID for this equipment.
	UUID string
	// The hardware version of this equipment.
	Version string

	ChassisCount int

	ManagedByCount int
	// OemLinks are all OEM data under link section
	OemLinks json.RawMessage

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

PowerDistribution shall be used to represent a power distribution component or unit for a Redfish implementation.

func GetPowerDistribution added in v0.15.0

func GetPowerDistribution(c common.Client, uri string) (*PowerDistribution, error)

GetPowerDistribution will get a PowerDistribution instance from the Redfish service.

func ListReferencedPowerDistributionUnits added in v0.15.0

func ListReferencedPowerDistributionUnits(c common.Client, link string) ([]*PowerDistribution, error)

ListReferencedPowerDistribution gets the collection of PowerDistribution from a provided reference.

func (*PowerDistribution) Branches added in v0.15.0

func (powerDistribution *PowerDistribution) Branches() ([]*Circuit, error)

Branches gets the collection that contains the branch circuits for this equipment.

func (*PowerDistribution) Chassis added in v0.15.0

func (powerDistribution *PowerDistribution) Chassis() ([]*Chassis, error)

Chassis gets the collection of chassis for this equipment.

func (*PowerDistribution) Facility added in v0.16.0

func (powerDistribution *PowerDistribution) Facility() (*Facility, error)

Facility gets a resource that represents the facility that contains this equipment.

func (*PowerDistribution) Feeders added in v0.15.0

func (powerDistribution *PowerDistribution) Feeders() ([]*Circuit, error)

Feeders gets the collection that contains the feeder circuits for this equipment.

func (*PowerDistribution) Mains added in v0.15.0

func (powerDistribution *PowerDistribution) Mains() ([]*Circuit, error)

Mains gets the collection that contains the power input circuits for this equipment.

func (*PowerDistribution) ManagedBy added in v0.15.0

func (powerDistribution *PowerDistribution) ManagedBy() ([]*Manager, error)

ManagedBy gets the collection of managers for this equipment.

func (*PowerDistribution) Metrics added in v0.15.0

func (powerDistribution *PowerDistribution) Metrics() (metrics *PowerDistributionMetrics, err error)

Metrics gets the metrics of a power distribution component or unit.

func (*PowerDistribution) OutletGroups added in v0.16.0

func (powerDistribution *PowerDistribution) OutletGroups() ([]*OutletGroup, error)

OutletGroups gets the collection that contains the outlet groups for this equipment.

func (*PowerDistribution) Outlets added in v0.16.0

func (powerDistribution *PowerDistribution) Outlets() ([]*Outlet, error)

Outlets gets the collection that contains the outlets for this equipment.

func (*PowerDistribution) PowerSupplies deprecated added in v0.15.0

func (powerDistribution *PowerDistribution) PowerSupplies() ([]*PowerSupplyUnit, error)

Deprecated: (v1.3) in favor of the PowerSupplies link in the Chassis resource.

func (*PowerDistribution) Sensors deprecated added in v0.15.0

func (powerDistribution *PowerDistribution) Sensors() ([]*Sensor, error)

Deprecated: (v1.3) in favor of the Sensors link in the Chassis resource.

func (*PowerDistribution) Subfeeds added in v0.15.0

func (powerDistribution *PowerDistribution) Subfeeds() ([]*Circuit, error)

Subfeeds gets the collection that contains the subfeed circuits for this equipment.

func (*PowerDistribution) TransferControl added in v0.15.0

func (powerDistribution *PowerDistribution) TransferControl() error

This action shall transfer power input from the existing mains circuit to the alternative mains circuit.

func (*PowerDistribution) UnmarshalJSON added in v0.15.0

func (powerDistribution *PowerDistribution) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerDistribution object from the raw JSON.

func (*PowerDistribution) Update added in v0.15.0

func (powerDistribution *PowerDistribution) Update() error

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

type PowerDistributionMetrics added in v0.15.0

type PowerDistributionMetrics 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

	// The absolute (volumetric) humidity sensor reading,
	// in grams/cubic meter units.
	AbsoluteHumidity SensorExcerpt
	// The total energy, in kilowatt-hours
	// that represents the Total ElectricalContext sensor
	// when multiple energy sensors exist.
	EnergykWh SensorEnergykWhExcerpt
	// The humidity, in percent units
	HumidityPercent SensorExcerpt
	// The power load, in percent units, for this device
	// that represents the Total ElectricalContext for this device.
	PowerLoadPercent SensorExcerpt
	// The total power, in watt units
	// that represents the Total ElectricalContext sensor
	// when multiple power sensors exist.
	PowerWatts SensorPowerExcerpt
	// The temperature, in degrees Celsius units.
	TemperatureCelsius SensorExcerpt
	Oem                json.RawMessage

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

PowerDistributionMetrics shall be used to represent the metrics of a power distribution component or unit for a Redfish implementation.

func GetPowerDistributionMetrics added in v0.15.0

func GetPowerDistributionMetrics(c common.Client, uri string) (*PowerDistributionMetrics, error)

GetPowerDistributionMetrics will get a PowerDistributionMetrics instance from the Redfish service.

func (*PowerDistributionMetrics) ResetMetrics added in v0.15.0

func (metrics *PowerDistributionMetrics) ResetMetrics() error

This action shall reset any time intervals or counted values for this equipment.

func (*PowerDistributionMetrics) UnmarshalJSON added in v0.15.0

func (metrics *PowerDistributionMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerDistributionMetrics object from the raw JSON.

type PowerDomain added in v0.16.0

type PowerDomain 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"`
	// Actions shall contain the available actions for this resource.
	Actions string
	// Description provides a description of this resource.
	Description string
	// Links shall contain links to resources that are related to but are not contained by, or subordinate to, this
	// resource.
	Links string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// ElectricalBusesCount is the number of electrical buses in this power domain.
	ElectricalBusesCount int

	// FloorPDUsCount is the number of floor power distribution units in this power domain.
	FloorPDUsCount int

	// ManagedByCount is the number of managers for this power domain.
	ManagedByCount int

	// PowerShelvesCount is the number of power shelves in this power domain.
	PowerShelvesCount int

	// RackPDUsCount is the number of rack-level power distribution units in this power domain.
	RackPDUsCount int

	// SwitchGearCount is the number of switchgear in this power domain.
	SwitchgearCount int

	// TransferSwitchesCount is the number of transfer switches in this power domain.
	TransferSwitchesCount int
	// contains filtered or unexported fields
}

PowerDomain shall be used to represent a DCIM power domain for a Redfish implementation.

func GetPowerDomain added in v0.16.0

func GetPowerDomain(c common.Client, uri string) (*PowerDomain, error)

GetPowerDomain will get a PowerDomain instance from the service.

func ListReferencedPowerDomains added in v0.16.0

func ListReferencedPowerDomains(c common.Client, link string) ([]*PowerDomain, error)

ListReferencedPowerDomains gets the collection of PowerDomain from a provided reference.

func (*PowerDomain) ElectricalBuses added in v0.16.0

func (powerdomain *PowerDomain) ElectricalBuses() ([]*PowerDistribution, error)

ElectricalBuses gets the electrical buses in this power domain.

func (*PowerDomain) FloorPDUs added in v0.16.0

func (powerdomain *PowerDomain) FloorPDUs() ([]*PowerDistribution, error)

FloorPDUs gets the floor power distribution units in this power domain.

func (*PowerDomain) ManagedBy added in v0.16.0

func (powerdomain *PowerDomain) ManagedBy() ([]*Manager, error)

ManagedBy gets the managers that manage this power domain.

func (*PowerDomain) PowerShelves added in v0.16.0

func (powerdomain *PowerDomain) PowerShelves() ([]*PowerDistribution, error)

PowerShelves gets the power shelves in this power domain.

func (*PowerDomain) RackPDUs added in v0.16.0

func (powerdomain *PowerDomain) RackPDUs() ([]*PowerDistribution, error)

RackPDUs gets the rack-level power distribution units in this power domain.

func (*PowerDomain) Switchgear added in v0.16.0

func (powerdomain *PowerDomain) Switchgear() ([]*PowerDistribution, error)

Switchgear gets the switchgear in this power domain.

func (*PowerDomain) TransferSwitches added in v0.16.0

func (powerdomain *PowerDomain) TransferSwitches() ([]*PowerDistribution, error)

TransferSwitches gets the transfer switches in this power domain.

func (*PowerDomain) UnmarshalJSON added in v0.16.0

func (powerdomain *PowerDomain) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerDomain object from the raw JSON.

type PowerEquipment added in v0.15.0

type PowerEquipment 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

	// The status and health of the resource and its subordinate or dependent resources.
	Status common.Status

	ManagedByCount int
	// OemLinks are all OEM data under link section
	OemLinks json.RawMessage

	// Actions section
	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

PowerEquipment shall be used to represent the set of power equipment for a Redfish implementation.

func GetPowerEquipment added in v0.15.0

func GetPowerEquipment(c common.Client, uri string) (*PowerEquipment, error)

GetPowerEquipment will get a PowerEquipment instance from the Redfish service.

func (*PowerEquipment) ElectricalBuses added in v0.15.0

func (powerEquipment *PowerEquipment) ElectricalBuses() ([]*PowerDistribution, error)

ElectricalBuses gets the collection that contains a set of electrical bus units.

func (*PowerEquipment) FloorPDUs added in v0.15.0

func (powerEquipment *PowerEquipment) FloorPDUs() ([]*PowerDistribution, error)

FloorPDUs gets the collection that contains a set of floor power distribution units.

func (*PowerEquipment) ManagedBy added in v0.15.0

func (powerEquipment *PowerEquipment) ManagedBy() ([]*Manager, error)

ManagedBy gets the collection of managers of this PowerEquipment

func (*PowerEquipment) PowerShelves added in v0.15.0

func (powerEquipment *PowerEquipment) PowerShelves() ([]*PowerDistribution, error)

PowerShelves gets the collection that contains a set of power shelves.

func (*PowerEquipment) RackPDUs added in v0.15.0

func (powerEquipment *PowerEquipment) RackPDUs() ([]*PowerDistribution, error)

RackPDUs gets the collection that contains a set of rack-level power distribution units.

func (*PowerEquipment) Switchgear added in v0.15.0

func (powerEquipment *PowerEquipment) Switchgear() ([]*PowerDistribution, error)

Switchgear gets the collection that contains a set of switchgear.

func (*PowerEquipment) TransferSwitches added in v0.15.0

func (powerEquipment *PowerEquipment) TransferSwitches() ([]*PowerDistribution, error)

TransferSwitches gets the collection that contains a set of transfer switches.

func (*PowerEquipment) UnmarshalJSON added in v0.15.0

func (powerEquipment *PowerEquipment) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerEquipment object from the raw JSON.

type PowerEquipmentType added in v0.16.0

type PowerEquipmentType string

The type of equipment this resource represents.

const (
	// RackPDUPowerEquipmentType A power distribution unit providing outlets for a rack or similar quantity of devices.
	RackPDUPowerEquipmentType PowerEquipmentType = "RackPDU"
	// FloorPDUPowerEquipmentType A power distribution unit providing feeder circuits for further power distribution.
	FloorPDUPowerEquipmentType PowerEquipmentType = "FloorPDU"
	// ManualTransferSwitchPowerEquipmentType A manual power transfer switch.
	ManualTransferSwitchPowerEquipmentType PowerEquipmentType = "ManualTransferSwitch"
	// AutomaticTransferSwitchPowerEquipmentType An automatic power transfer switch.
	AutomaticTransferSwitchPowerEquipmentType PowerEquipmentType = "AutomaticTransferSwitch"
	// SwitchgearPowerEquipmentType Electrical switchgear.
	SwitchgearPowerEquipmentType PowerEquipmentType = "Switchgear"
	// PowerShelfPowerEquipmentType A power shelf.
	PowerShelfPowerEquipmentType PowerEquipmentType = "PowerShelf"
	// BusPowerEquipmentType An electrical bus.
	BusPowerEquipmentType PowerEquipmentType = "Bus"
	// BatteryShelfPowerEquipmentType A battery shelf or battery-backed unit (BBU).
	BatteryShelfPowerEquipmentType PowerEquipmentType = "BatteryShelf"
)

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 PowerMode added in v0.16.0

type PowerMode string
const (
	// MaximumPerformancePowerMode shall indicate the system performs at the highest speeds possible. This mode should
	// be used when performance is the top priority.
	MaximumPerformancePowerMode PowerMode = "MaximumPerformance"
	// BalancedPerformancePowerMode shall indicate the system performs at the highest speeds possible when the
	// utilization is high and performs at reduced speeds when the utilization is low to save power. This mode is a
	// compromise between 'MaximumPerformance' and 'PowerSaving'.
	BalancedPerformancePowerMode PowerMode = "BalancedPerformance"
	// PowerSavingPowerMode shall indicate the system performs at reduced speeds to save power. This mode should be
	// used when power saving is the top priority.
	PowerSavingPowerMode PowerMode = "PowerSaving"
	// StaticPowerMode shall indicate the system performs at a static base speed.
	StaticPowerMode PowerMode = "Static"
	// OSControlledPowerMode shall indicate the system performs at an operating system-controlled power mode.
	OSControlledPowerMode PowerMode = "OSControlled"
	// OEMPowerMode shall indicate the system performs at an OEM-defined power mode.
	OEMPowerMode PowerMode = "OEM"
	// EfficiencyFavorPowerPowerMode shall indicate the system performs at reduced speeds at all utilizations to save
	// power at the cost of performance. This mode differs from 'PowerSaving' in that more performance is retained and
	// less power is saved. This mode differs from 'EfficiencyFavorPerformance' in that less performance is retained
	// but more power is saved. This mode differs from 'BalancedPerformance' in that power saving occurs at all
	// utilizations.
	EfficiencyFavorPowerPowerMode PowerMode = "EfficiencyFavorPower"
	// EfficiencyFavorPerformancePowerMode shall indicate the system performs at reduced speeds at all utilizations to
	// save power while attempting to maintain performance. This mode differs from 'EfficiencyFavorPower' in that more
	// performance is retained but less power is saved. This mode differs from 'MaximumPerformance' in that power is
	// saved at the cost of some performance. This mode differs from 'BalancedPerformance' in that power saving occurs
	// at all utilizations.
	EfficiencyFavorPerformancePowerMode PowerMode = "EfficiencyFavorPerformance"
)

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"
	// PausedPowerState the system is paused.
	PausedPowerState PowerState = "Paused"
	// 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 PowerSubsystem added in v0.16.0

type PowerSubsystem 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"`
	// Allocation shall contain the set of properties describing the allocation of power for this subsystem.
	Allocation PowerAllocation

	// CapacityWatts shall represent the total power capacity that can be allocated to this subsystem.
	CapacityWatts float64
	// Description provides a description of this resource.
	Description string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`

	// PowerSupplyRedundancy shall contain redundancy information for the set of power supplies in this subsystem. The
	// values of the RedundancyGroup array shall reference resources of type PowerSupply.
	PowerSupplyRedundancy []RedundantGroup
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

PowerSubsystem shall represent a power subsystem for a Redfish implementation.

func GetPowerSubsystem added in v0.16.0

func GetPowerSubsystem(c common.Client, uri string) (*PowerSubsystem, error)

GetPowerSubsystem will get a PowerSubsystem instance from the service.

func ListReferencedPowerSubsystems added in v0.16.0

func ListReferencedPowerSubsystems(c common.Client, link string) ([]*PowerSubsystem, error)

ListReferencedPowerSubsystems gets the collection of PowerSubsystem from a provided reference.

func (*PowerSubsystem) Batteries added in v0.16.0

func (powersubsystem *PowerSubsystem) Batteries() ([]*Battery, error)

Batteries gets the batteries in this power subsystem.

func (*PowerSubsystem) PowerSupplies added in v0.16.0

func (powersubsystem *PowerSubsystem) PowerSupplies() ([]*PowerSupply, error)

PowerSupplies gets the power supplies in this power subsystem.

func (*PowerSubsystem) UnmarshalJSON added in v0.16.0

func (powersubsystem *PowerSubsystem) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerSubsystem object from the raw JSON.

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

	// 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 the power supplies associated with this system or device.

func GetPowerSupply added in v0.15.0

func GetPowerSupply(c common.Client, uri string) (*PowerSupply, error)

GetPowerSupply will get a PowerSupply instance from the Redfish service.

func ListReferencedPowerSupplies added in v0.15.0

func ListReferencedPowerSupplies(c common.Client, link string) ([]*PowerSupply, error)

func (*PowerSupply) Assembly added in v0.16.0

func (powersupply *PowerSupply) Assembly() (*Assembly, error)

Assembly gets the containing assembly.

func (*PowerSupply) Redundancy

func (powersupply *PowerSupply) Redundancy() ([]*Redundancy, error)

Redundancy gets the endpoints at the other end of the link.

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 PowerSupplyInputRange added in v0.15.0

type PowerSupplyInputRange struct {
	// The maximum capacity of this power supply when operating in this input range.
	CapacityWatts float32
	// The input voltage range.
	NominalVoltageType NominalVoltage
}

The input ranges that the power supply can use.

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 PowerSupplyUnit added in v0.15.0

type PowerSupplyUnit 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

	// The efficiency ratings of this power supply.
	EfficiencyRatings []EfficiencyRating
	// The URIs of the management interfaces
	// for the upstream electrical source connections for this power supply.
	ElectricalSourceManagerURIs []string
	// The names of the upstream electrical sources,
	// such as circuits or outlets, connected to this power supply.
	ElectricalSourceNames []string
	// The firmware version for this power supply.
	FirmwareVersion string
	// An indication of whether this device can be inserted
	// or removed while the equipment is in operation.
	HotPluggable bool
	// The nominal voltage type of the line input to this power supply.
	InputNominalVoltageType NominalVoltage
	// The input ranges that the power supply can use.
	InputRanges []PowerSupplyInputRange
	// The status of the line input.
	LineInputStatus LineInputStatus
	// The location of the power supply.
	Location common.Location
	// An indicator allowing an operator to physically locate this resource.
	LocationIndicatorActive bool
	// The manufacturer of this power supply.
	Manufacturer string

	// The model number for this power supply.
	Model string
	// The nominal output voltage type of this power supply.
	OutputNominalVoltageType NominalVoltage
	// The output power rails provided by this power supply.
	OutputRails []OutputRail
	// The part number for this power supply.
	PartNumber string
	// The number of ungrounded current-carrying conductors (phases)
	// and the total number of conductors (wires)
	// provided for the power supply input connector.
	PhaseWiringType PhaseWiringType
	// The type of plug according to NEMA, IEC, or regional standards.
	PlugType PlugType
	// The maximum capacity of this power supply.
	PowerCapacityWatts float32
	// The power supply type (AC or DC).
	PowerSupplyType PowerSupplyUnitType
	// The production or manufacturing date of this power supply.
	ProductionDate string
	// An indication of whether this component can be independently replaced
	// as allowed by the vendor's replacement policy.
	Replaceable bool
	// The serial number for this power supply.
	SerialNumber string
	// The spare part number for this power supply.
	SparePartNumber string
	// The status and health of the resource and its subordinate or dependent resources.
	Status common.Status
	// The hardware version of this power supply.
	Version string

	// PoweringChassisCount is the number of chassis that are directly powered by this power supply.
	PoweringChassisCount int

	// PowerOutletsCount is the number of outlets that provide power to this power supply.
	PowerOutletsCount int
	// OemLinks are all OEM data under link section
	OemLinks json.RawMessage

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

PowerSupplyUnit shall represent a power supply unit for a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains Absent.

func GetPowerSupplyUnit added in v0.15.0

func GetPowerSupplyUnit(c common.Client, uri string) (*PowerSupplyUnit, error)

GetPowerSupplyUnit will get a PowerSupplyUnit instance from the Redfish service.

func ListReferencedPowerSupplyUnits added in v0.15.0

func ListReferencedPowerSupplyUnits(c common.Client, link string) ([]*PowerSupplyUnit, error)

ListReferencedPowerSupplyUnits gets the collection of PowerSupplies from a provided reference.

func (*PowerSupplyUnit) Assembly added in v0.16.0

func (powerSupplyUnit *PowerSupplyUnit) Assembly() (*Assembly, error)

Assembly gets the containing assembly for this power supply.

func (*PowerSupplyUnit) Metrics added in v0.15.0

func (powerSupplyUnit *PowerSupplyUnit) Metrics() (*PowerSupplyUnitMetrics, error)

Metrics gets the metrics associated with this power supply.

func (*PowerSupplyUnit) Outlet added in v0.16.0

func (powerSupplyUnit *PowerSupplyUnit) Outlet() (*Outlet, error)

Outlet get the outlet connected to this power supply. Deprecated (v1.4)

func (*PowerSupplyUnit) PowerOutlets added in v0.16.0

func (powerSupplyUnit *PowerSupplyUnit) PowerOutlets() ([]*Outlet, error)

PowerOutlets gets the outlets that supply power to this power supply.

func (*PowerSupplyUnit) PoweringChassis added in v0.15.0

func (powerSupplyUnit *PowerSupplyUnit) PoweringChassis() ([]*Chassis, error)

PoweringChassis gets the collection of the chassis directly powered by this power supply.

func (*PowerSupplyUnit) Reset added in v0.15.0

func (powerSupplyUnit *PowerSupplyUnit) Reset(resetType ResetType) error

This action shall reset a power supply. A GracefulRestart ResetType shall reset the power supply but shall not affect the power output. A ForceRestart ResetType can affect the power supply output.

func (*PowerSupplyUnit) UnmarshalJSON added in v0.15.0

func (powerSupplyUnit *PowerSupplyUnit) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerSupplyUnit object from the raw JSON.

func (*PowerSupplyUnit) Update added in v0.15.0

func (powerSupplyUnit *PowerSupplyUnit) Update() error

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

type PowerSupplyUnitMetrics added in v0.15.0

type PowerSupplyUnitMetrics 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

	// The total energy, in kilowatt-hours
	// that represents the Total ElectricalContext sensor
	// when multiple energy sensors exist.
	EnergykWh SensorEnergykWhExcerpt
	// The fan speed (percent) for this power supply.
	// Deprecated: (v1.1) This property has been deprecated
	// in favor of FanSpeedsPercent to support multiple fans
	// within a power supply.
	FanSpeedPercent FanSpeedPercent
	// Fan speeds (percent).
	FanSpeedsPercent []FanSpeedPercent
	// The frequency (Hz) for this power supply.
	FrequencyHz SensorExcerpt
	// The input current (A) for this power supply.
	InputCurrentAmps SensorVoltageExcerpt
	// The input power (W) for this power supply.
	InputPowerWatts SensorPowerExcerpt
	// The input voltage (V) for this power supply.
	InputVoltage SensorVoltageExcerpt
	// The total power output (W) for this power supply.
	OutputPowerWatts SensorPowerExcerpt
	// The output currents (A) for this power supply.
	RailCurrentAmps []SensorVoltageExcerpt
	// The output power readings (W) for this power supply.
	RailPowerWatts []SensorPowerExcerpt
	// The output voltages (V) for this power supply.
	RailVoltage []SensorVoltageExcerpt
	// The status and health of the resource and its subordinate or dependent resources.
	Status common.Status
	// The temperature (C) for this power supply.
	TemperatureCelsius SensorExcerpt
	Oem                json.RawMessage

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

PowerSupplyUnitMetrics shall be used to represent the metrics of a power supply unit for a Redfish implementation.

func GetPowerSupplyUnitMetrics added in v0.15.0

func GetPowerSupplyUnitMetrics(c common.Client, uri string) (*PowerSupplyUnitMetrics, error)

GetPowerSupplyUnitMetrics will get a PowerSupplyMetrics instance from the Redfish service.

func (*PowerSupplyUnitMetrics) ResetMetrics added in v0.15.0

func (metrics *PowerSupplyUnitMetrics) ResetMetrics() error

This action resets the summary metrics related to this equipment.

func (*PowerSupplyUnitMetrics) UnmarshalJSON added in v0.15.0

func (metrics *PowerSupplyUnitMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a PowerSupplyMetrics object from the raw JSON.

type PowerSupplyUnitType added in v0.15.0

type PowerSupplyUnitType string
const (
	// Alternating Current (AC) power supply.
	ACPowerSupplyUnitType PowerSupplyUnitType = "AC"
	// The power supply supports both DC or AC.
	ACorDCPowerSupplyUnitType PowerSupplyUnitType = "ACorDC"
	// Direct Current (DC) power supply.
	DCPowerSupplyUnitType PowerSupplyUnitType = "DC"
	// (v1.5+)	Direct Current (DC) voltage regulator.
	DCRegulatorPowerSupplyUnitType PowerSupplyUnitType = "DCRegulator"
)

type PreferredApplyTime added in v0.16.0

type PreferredApplyTime struct {
	// ApplyTime shall indicate when to apply the values in this settings resource.
	ApplyTime ApplyTime
	// MaintenanceWindowDurationInSeconds shall indicate the end of the maintenance window as the number of seconds
	// after the time specified by the MaintenanceWindowStartTime property. This property shall be required if the
	// ApplyTime property is 'AtMaintenanceWindowStart' or 'InMaintenanceWindowOnReset'.
	MaintenanceWindowDurationInSeconds string
	// MaintenanceWindowStartTime shall indicate the date and time when the service can start to apply the future
	// configuration as part of a maintenance window. Services shall provide a default value if not configured by a
	// user. This property shall be required if the ApplyTime property is 'AtMaintenanceWindowStart' or
	// 'InMaintenanceWindowOnReset'.
	MaintenanceWindowStartTime string
}

type PrivilegeRegistry added in v0.16.0

type PrivilegeRegistry struct {
	common.Entity
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// Description provides a description of this resource.
	Description string
	// Mappings shall describe the mappings between entities and the relevant privileges that access those entities.
	Mappings []Mapping
	// OEMPrivilegesUsed shall contain an array of OEM privileges used in this mapping.
	OEMPrivilegesUsed json.RawMessage
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PrivilegesUsed shall contain an array of Redfish standard privileges used in this mapping.
	PrivilegesUsed []PrivilegeType
}

PrivilegeRegistry This Resource contains operation-to-privilege mappings.

func GetPrivilegeRegistry added in v0.16.0

func GetPrivilegeRegistry(c common.Client, uri string) (*PrivilegeRegistry, error)

GetPrivilegeRegistry will get a PrivilegeRegistry instance from the service.

func ListReferencedPrivilegeRegistrys added in v0.16.0

func ListReferencedPrivilegeRegistrys(c common.Client, link string) ([]*PrivilegeRegistry, error)

ListReferencedPrivilegeRegistrys gets the collection of PrivilegeRegistry from a provided reference.

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, log out of their own sessions,
	// and perform operations on resources they created. Services will need to be aware of resource ownership to map
	// this privilege to an operation from a particular user.
	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"
	// ConfigureCompositionInfrastructurePrivilegeType shall be used to indicate the user can view and configure
	// composition service resources without matching the Client property in the ResourceBlock or
	// CompositionReservation resources.
	ConfigureCompositionInfrastructurePrivilegeType PrivilegeType = "ConfigureCompositionInfrastructure"
	// AdministrateSystemsPrivilegeType Administrator for systems found in the systems collection. Able to manage boot
	// configuration, keys, and certificates for systems.
	AdministrateSystemsPrivilegeType PrivilegeType = "AdministrateSystems"
	// OperateSystemsPrivilegeType Operator for systems found in the systems collection. Able to perform resets and
	// configure interfaces.
	OperateSystemsPrivilegeType PrivilegeType = "OperateSystems"
	// AdministrateStoragePrivilegeType Administrator for storage subsystems and storage systems found in the storage
	// collection and storage system collection respectively.
	AdministrateStoragePrivilegeType PrivilegeType = "AdministrateStorage"
	// OperateStorageBackupPrivilegeType Operator for storage backup functionality for storage subsystems and storage
	// systems found in the storage collection and storage system collection respectively.
	OperateStorageBackupPrivilegeType PrivilegeType = "OperateStorageBackup"
)

type ProcessStatistics added in v0.16.0

type ProcessStatistics struct {
	// CommandLine shall contain the command line with parameters of this process.
	CommandLine string
	// KernelTimeSeconds shall contain the number of seconds this process executed in kernel space.
	KernelTimeSeconds float64
	// ResidentSetSizeBytes shall contain the resident set size of this process in bytes, which is the amount of memory
	// allocated to the process and is in RAM.
	ResidentSetSizeBytes int
	// RestartAfterFailureCount shall contain the number of times this process has restarted unexpectedly, such as due
	// to unintentional failures, restarts, or shutdowns, with the same command line including arguments.
	RestartAfterFailureCount int
	// RestartCount shall contain the number of times this process has restarted with the same command line including
	// arguments.
	RestartCount int
	// UptimeSeconds shall contain the wall-clock time this process has been running in seconds.
	UptimeSeconds float64
	// UserTimeSeconds shall contain the number of seconds this process executed in user space.
	UserTimeSeconds float64
}

ProcessStatistics shall contain the statistics of a process running on a manager.

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"`

	// The additional firmware versions of the processor.
	AdditionalFirmwareVersions AdditionalFirmwareVersions

	// (v1.10+) The base (nominal) clock speed of the processor in MHz.
	BaseSpeedMHz int
	// (v1.9+) The state of the base frequency settings of
	// the operation configuration applied to this processor.
	BaseSpeedPriorityState BaseSpeedPriorityState

	// Description provides a description of this resource.
	Description string
	// (v1.12+) An indication of whether this processor is enabled.
	Enabled bool

	// FPGA shall be an object containing
	// properties specific for Processors of type FPGA.
	FPGA FPGA
	// (v1.16+) The processor family, as specified by the combination of
	// the EffectiveFamily and EffectiveModel properties.
	Family string
	// (v1.7+) This property shall contain a string describing the firmware version of
	// the processor as provided by the manufacturer.
	FirmwareVersion string
	// (v1.9+) The list of core identifiers corresponding to the cores that have been configured with
	// the higher clock speed from the operating configuration applied to this processor.
	HighSpeedCoreIDs []int
	// InstructionSet shall contain the string which
	// identifies the instruction set of the processor contained in this
	// socket.
	InstructionSet InstructionSet
	// Location shall contain location information of the
	// associated processor.
	Location common.Location
	// (v1.10+) An indicator allowing an operator to physically locate this resource.
	LocationIndicatorActive bool
	// 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
	// MemorySummary is a summary of all memory associated with this processor.
	MemorySummary MemorySummary

	// (v1.8+) The minimum clock speed of the processor in MHz.
	MinSpeedMHz int
	// Model shall indicate the model information as
	// provided by the manufacturer of this processor.
	Model string

	// (v1.8+) This property shall contain the operating speed of the processor in MHz.
	// The operating speed of the processor may change more frequently
	// than the manager is able to monitor.
	OperatingSpeedMHz int
	// OperatingSpeedRangeMHz is the operating speed control, measured in megahertz units,
	// for this resource. The value of the DataSourceUri property, if present, shall
	// reference a resource of type Control with the ControlType property containing the
	// value of `FrequencyMHz`.
	OperatingSpeedRangeMHz ControlRangeExcerpt
	// PartNumber shall contain a part number assigned by the organization that is responsible for producing or
	// manufacturing the processor.
	PartNumber string

	// PowerState shall contain the power state of the processor. If the PowerState property in the associated Chassis
	// resource contains the value 'Off', this property shall contain 'Off'.
	PowerState PowerState
	// 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"`
	// (v1.16+) This property shall contain the zero-based index of the processor,
	// indexed within the next unit of containment.
	ProcessorIndex int
	// ProcessorMemory shall be the memory directly attached or integrated within this Processor.
	ProcessorMemory []ProcessorMemory
	// ProcessorType shall contain the string which
	// identifies the type of processor contained in this Socket.
	ProcessorType ProcessorType
	// (v1.16+) An indication of whether this component can be independently replaced
	// as allowed by the vendor's replacement policy.
	Replaceable bool
	// (v1.7+) The serial number of the processor.
	SerialNumber string
	// Socket shall contain the string which identifies the
	// physical location or socket of the processor.
	Socket string
	// (v1.11+) The spare part number of the processor.
	SparePartNumber string
	// (v1.10+) The clock limit of the processor in MHz.
	SpeedLimitMHz int
	// (v1.10+)	Indicates whether the clock speed of the processor is fixed at the value specified in the SpeedLimitMHz property.
	SpeedLocked bool
	// Status shall contain any status or health properties
	// of the resource.
	Status common.Status

	// SystemInterface shall contain an object that describes the connectivity between the host system and the
	// processor.
	SystemInterface ProcessorInterface
	// TDPWatts shall be the nominal Thermal
	// Design Power (TDP) in watts.
	TDPWatts int
	// (v1.16+) The causes of the processor being throttled.
	ThrottleCauses []ThrottleCause
	// (v1.16+) An indication of whether the processor is throttled.
	Throttled bool
	// 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
	// (v1.9+) The state of the turbo for this processor.
	TurboState TurboState
	// 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
	// Version shall contain the hardware version of the processor as determined by the vendor or supplier.
	Version string

	// ConnectedProcessors@odata.count is
	ConnectedProcessorsCount int

	// Endpoints@odata.count is
	EndpointsCount int

	// FabricAdapters@odata.count
	FabricAdaptersCount int

	// Memory@odata.count
	MemoryCount int

	// NetworkDeviceFunctions@odata.count
	NetworkDeviceFunctionsCount 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) AcclerationFunctions added in v0.16.0

func (processor *Processor) AcclerationFunctions() ([]*AccelerationFunction, error)

AccelerationFunctions gets acceleration functions associated with this processor.

func (*Processor) AppliedOperatingConfig added in v0.16.0

func (processor *Processor) AppliedOperatingConfig() (*OperatingConfig, error)

AppliedOperatingConfig gets the operating configuration that is applied to this processor.

func (*Processor) Assembly added in v0.16.0

func (processor *Processor) Assembly() (*Assembly, error)

Assembly gets the containing assembly for this processor.

func (*Processor) Certificates added in v0.16.0

func (processor *Processor) Certificates() ([]*Certificate, error)

Certificates gets the certificates for device identity and attestation.

func (*Processor) Chassis added in v0.16.0

func (processor *Processor) Chassis() (*Chassis, error)

Chassis gets the physical container associated with this processor.

func (*Processor) ConnectedProcessors added in v0.16.0

func (processor *Processor) ConnectedProcessors() ([]*Processor, error)

ConnectedProcessors gets the processors that are directly connected to this processor.

func (*Processor) Endpoints added in v0.16.0

func (processor *Processor) Endpoints() ([]*Endpoint, error)

Endpoints gets the endpoints associated with this processor.

func (*Processor) EnvironmentMetrics added in v0.16.0

func (processor *Processor) EnvironmentMetrics() (*EnvironmentMetrics, error)

EnvironmentMetrics gets the environment metrics for this processor.

func (*Processor) FabricAdapters added in v0.16.0

func (processor *Processor) FabricAdapters() ([]*FabricAdapter, error)

FabricAdapters gets the fabric adapters that present this processor to a fabric.

func (*Processor) GraphicsController added in v0.16.0

func (processor *Processor) GraphicsController() (*GraphicsController, error)

GraphicsController gets a graphics controller associated with this processor.

func (*Processor) Memory added in v0.16.0

func (processor *Processor) Memory() ([]*Memory, error)

Memory gets the memory objects that are associated with this processor.

func (*Processor) Metrics

func (processor *Processor) Metrics() (*ProcessorMetrics, error)

Metrics gets the metrics associated with this processor.

func (*Processor) NetworkDeviceFunctions added in v0.16.0

func (processor *Processor) NetworkDeviceFunctions() ([]*NetworkDeviceFunction, error)

NetworkDeviceFunctions gets the memory objects that are associated with this processor.

func (*Processor) OperatingConfigs added in v0.16.0

func (processor *Processor) OperatingConfigs() ([]*OperatingConfig, error)

OperatingConfigs gets acceleration functions associated with this processor.

func (*Processor) PCIeDevice added in v0.16.0

func (processor *Processor) PCIeDevice() (*PCIeDevice, error)

PCIeDevice gets the PCIe device associated with this processor.

func (*Processor) PCIeFunctions added in v0.16.0

func (processor *Processor) PCIeFunctions() ([]*PCIeFunction, error)

PCIeFunctions gets the PCIeFunctions associated with this processor.

func (*Processor) Ports added in v0.16.0

func (processor *Processor) Ports() ([]*Port, error)

Ports gets the interconnect and fabric ports of this processor. It shall not contain ports for GraphicsController resources, USBController resources, or other local adapter-related types of resources.

func (*Processor) Reset added in v0.16.0

func (processor *Processor) Reset(resetType ResetType) error

Reset resets the processor.

func (*Processor) ResetToDefaults added in v0.16.0

func (processor *Processor) ResetToDefaults() error

ResetToDefaults resets the values of writable properties to factory defaults.

func (*Processor) SubProcessors

func (processor *Processor) SubProcessors() ([]*Processor, error)

SubProcessors gets the sub-processors associated with this processor, such as cores or threads, that are part of a processor.

func (*Processor) UnmarshalJSON

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

UnmarshalJSON unmarshals a Processor object from the raw JSON.

func (*Processor) Update added in v0.16.0

func (processor *Processor) Update() error

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

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"
	// RISCVProcessorArchitecture RISC-V.
	RISCVProcessorArchitecture ProcessorArchitecture = "RISC-V"
	// OEMProcessorArchitecture OEM-defined.
	OEMProcessorArchitecture ProcessorArchitecture = "OEM"
)

type ProcessorEthernetInterface added in v0.16.0

type ProcessorEthernetInterface struct {
	// MaxLanes shall contain the maximum number of lanes supported by this interface.
	MaxLanes int
	// MaxSpeedMbps shall contain the maximum speed supported by this interface.
	MaxSpeedMbps int
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

ProcessorEthernetInterface shall contain the definition for an Ethernet interface for a Redfish implementation.

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
	// (v1.10+) The Protected Processor Identification Number (PPIN) for this processor.
	ProtectedIdentificationNumber 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 ProcessorInterface added in v0.16.0

type ProcessorInterface struct {
	// Ethernet shall contain an object the describes the Ethernet-related information for this interface.
	Ethernet ProcessorEthernetInterface
	// InterfaceType shall contain an enumerated value that describes the type of interface between the system, or
	// external connection, and the processor.
	InterfaceType SystemInterfaceType
	// PCIe shall contain an object the describes the PCIe-related information for this interface.
	PCIe PCIeInterface
}

ProcessorInterface shall contain information about the system interface, or external connection, to the 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 ProcessorMemorySummary added in v0.16.0

type ProcessorMemorySummary struct {
	// ECCModeEnabled shall indicate if memory ECC mode is enabled for this processor. This value shall not affect
	// system memory ECC mode.
	ECCModeEnabled bool

	// TotalCacheSizeMiB shall contain the total size of cache memory of this processor.
	TotalCacheSizeMiB int
	// TotalMemorySizeMiB shall contain the total size of non-cache volatile or non-volatile memory attached to this
	// processor. Examples include DRAMs and NV-DIMMs that are not configured as block storage. This value indicates
	// the size of memory directly attached or with strong affinity to this processor, not the total memory accessible
	// by the processor. This property shall not be present for implementations where all processors have equal memory
	// performance or access characteristics, such as hop count, for all system memory.
	TotalMemorySizeMiB int
	// contains filtered or unexported fields
}

ProcessorMemorySummary shall contain properties that describe the summary of all memory that is associated with a processor.

func (*ProcessorMemorySummary) Metrics added in v0.16.0

func (memorysummary *ProcessorMemorySummary) Metrics(c common.Client) (*MemoryMetrics, error)

Metrics gets the memory metrics for this processor memory summary.

func (*ProcessorMemorySummary) UnmarshalJSON added in v0.16.0

func (memorysummary *ProcessorMemorySummary) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a MemorySummary object from the raw JSON.

type ProcessorMemoryType

type ProcessorMemoryType string
const (
	// CacheProcessorMemoryType Processor cache, but no level is determined.
	CacheProcessorMemoryType ProcessorMemoryType = "Cache"
	// 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"
	// HBM2EProcessorMemoryType An updated version of the second generation of High Bandwidth Memory.
	HBM2EProcessorMemoryType ProcessorMemoryType = "HBM2E"
	// 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 X synchronous graphics random-access memory.
	GDDR5XProcessorMemoryType ProcessorMemoryType = "GDDR5X"
	// GDDR6ProcessorMemoryType Double data rate type six 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 ProcessorMetrics added in v0.16.0

type ProcessorMetrics 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"`
	// BandwidthPercent shall contain the bandwidth usage of the processor as a percentage, typically '0' to '100'.
	// When this resource is subordinate to the ProcessorSummary object, this property shall be the CPU utilization
	// over all processors as a percentage.
	BandwidthPercent float64
	// Cache shall contain properties that describe this processor's cache. When this resource is subordinate to the
	// ProcessorSummary object, this property is not applicable.
	Cache []CacheMetrics
	// CacheMetricsTotal shall contain properties that describe the metrics for all of the cache memory of this
	// processor.
	CacheMetricsTotal CacheMetricsTotal
	// CoreMetrics shall contain properties that describe the cores of this processor. When this resource is
	// subordinate to the ProcessorSummary object, this property is not applicable.
	CoreMetrics []CoreMetrics
	// CoreVoltage shall contain the core voltage, in volt units, of this processor. The core voltage of the processor
	// may change more frequently than the manager is able to monitor. The value of the DataSourceUri property, if
	// present, shall reference a resource of type Sensor with the ReadingType property containing the value 'Voltage'.
	CoreVoltage SensorVoltageExcerpt
	// CorrectableCoreErrorCount shall contain the number of correctable core errors, such as TLB or cache errors. When
	// this resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// CorrectableCoreErrorCount over all processors.
	CorrectableCoreErrorCount int
	// CorrectableOtherErrorCount shall contain the number of correctable errors of all other components. When this
	// resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// CorrectableOtherErrorCount over all processors.
	CorrectableOtherErrorCount int
	// Description provides a description of this resource.
	Description string
	// FrequencyRatio shall contain the frequency relative to the nominal processor frequency ratio of this processor.
	// When this resource is subordinate to the ProcessorSummary object, this property shall be the average
	// FrequencyRatio over all processors.
	FrequencyRatio float64
	// KernelPercent shall contain total percentage of time, '0' to '100', the processor has spent in kernel mode. When
	// this resource is subordinate to the ProcessorSummary object, this property shall be the average KernelPercent
	// over all processors.
	KernelPercent float64
	// LocalMemoryBandwidthBytes shall contain the local memory bandwidth usage of this processor in bytes. When this
	// resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// LocalMemoryBandwidthBytes over all processors.
	LocalMemoryBandwidthBytes int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// OperatingSpeedMHz shall contain the operating speed of the processor in MHz. The operating speed of the
	// processor may change more frequently than the manager is able to monitor.
	OperatingSpeedMHz int
	// PCIeErrors shall contain the PCIe errors associated with this processor.
	PCIeErrors PCIeErrors
	// PowerLimitThrottleDuration shall contain the total duration of throttling caused by a power limit of the
	// processor since reset.
	PowerLimitThrottleDuration string
	// RemoteMemoryBandwidthBytes shall contain the remote memory bandwidth usage of this processor in bytes. When this
	// resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// RemoteMemoryBandwidthBytes over all processors.
	RemoteMemoryBandwidthBytes int
	// ThermalLimitThrottleDuration shall contain the total duration of throttling caused by a thermal limit of the
	// processor since reset.
	ThermalLimitThrottleDuration string
	// ThrottlingCelsius shall contain the CPU margin to throttle based on an offset between the maximum temperature in
	// which the processor can operate, and the processor's current temperature. When this resource is subordinate to
	// the ProcessorSummary object, this property is not applicable.
	ThrottlingCelsius float64
	// UncorrectableCoreErrorCount shall contain the number of uncorrectable core errors, such as TLB or cache errors.
	// When this resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// UncorrectableCoreErrorCount over all processors.
	UncorrectableCoreErrorCount int
	// UncorrectableOtherErrorCount shall contain the number of uncorrectable errors of all other components. When this
	// resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// UncorrectableOtherErrorCount over all processors.
	UncorrectableOtherErrorCount int
	// UserPercent shall contain total percentage of time, '0' to '100', the processor has spent in user mode. When
	// this resource is subordinate to the ProcessorSummary object, this property shall be the average UserPercent over
	// all processors.
	UserPercent float64
	// contains filtered or unexported fields
}

ProcessorMetrics This resource contains the processor metrics for a single processor in a Redfish implementation.

func GetProcessorMetrics added in v0.16.0

func GetProcessorMetrics(c common.Client, uri string) (*ProcessorMetrics, error)

GetProcessorMetrics will get a ProcessorMetrics instance from the service.

func ListReferencedProcessorMetricss added in v0.16.0

func ListReferencedProcessorMetricss(c common.Client, link string) ([]*ProcessorMetrics, error)

ListReferencedProcessorMetricss gets the collection of ProcessorMetrics from a provided reference.

func (*ProcessorMetrics) ClearCurrentPeriod added in v0.16.0

func (processormetrics *ProcessorMetrics) ClearCurrentPeriod() error

ClearCurrentPeriod sets the CurrentPeriod property's values to 0.

func (*ProcessorMetrics) UnmarshalJSON added in v0.16.0

func (processormetrics *ProcessorMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ProcessorMetrics object from the raw JSON.

type ProcessorMetricsCurrentPeriod added in v0.16.0

type ProcessorMetricsCurrentPeriod struct {
	// CorrectableECCErrorCount shall contain the number of correctable errors of cache memory since reset or
	// ClearCurrentPeriod action for this processor. When this resource is subordinate to the ProcessorSummary object,
	// this property shall be the sum of CorrectableECCErrorCount over all processors.
	CorrectableECCErrorCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors of cache memory since reset or
	// ClearCurrentPeriod action for this processor. When this resource is subordinate to the ProcessorSummary object,
	// this property shall be the sum of UncorrectableECCErrorCount over all processors.
	UncorrectableECCErrorCount int
}

ProcessorMetricsCurrentPeriod shall describe the cache memory metrics since last system reset or ClearCurrentPeriod action for a processor.

type ProcessorMetricsLifeTime added in v0.16.0

type ProcessorMetricsLifeTime struct {
	// CorrectableECCErrorCount shall contain the number of correctable errors for the lifetime of the cache memory.
	// When this resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// CorrectableECCErrorCount over all processors.
	CorrectableECCErrorCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors for the lifetime of the cache
	// memory. When this resource is subordinate to the ProcessorSummary object, this property shall be the sum of
	// UncorrectableECCErrorCount over all processors.
	UncorrectableECCErrorCount int
}

ProcessorMetricsLifeTime shall describe the cache memory metrics since manufacturing for a processor.

type ProcessorStatistics added in v0.16.0

type ProcessorStatistics struct {
	// KernelPercent shall contain the percentage of CPU time, '0' to '100', spent in kernel mode.
	KernelPercent float64
	// UserPercent shall contain the percentage of CPU time, '0' to '100', spent in user mode.
	UserPercent float64
}

ProcessorStatistics shall contain the processor statistics of a manager.

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 CPU.
	CPUProcessorType ProcessorType = "CPU"
	// GPUProcessorType A GPU.
	GPUProcessorType ProcessorType = "GPU"
	// FPGAProcessorType An FPGA.
	FPGAProcessorType ProcessorType = "FPGA"
	// DSPProcessorType A DSP.
	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"
	// PartitionProcessorType shall indicate a partition in a processor that is instantiated from a user configuration
	// to carve out resources in a single processor. An example of this is assigning memory to a set of cores in a GPU.
	PartitionProcessorType ProcessorType = "Partition"
	// OEMProcessorType An OEM-defined processing unit.
	OEMProcessorType ProcessorType = "OEM"
)

type ProvisioningPolicy added in v0.16.0

type ProvisioningPolicy string
const (
	FixedProvisioningPolicy ProvisioningPolicy = "Fixed"
	ThinProvisioningPolicy  ProvisioningPolicy = "Thin"
)

type Proxy added in v0.15.0

type Proxy struct {
	// Indicates if the manager uses the proxy server
	Enabled bool
	// Addresses that do not require the proxy server to access
	ExcludeAddresses []string
	// The username for the proxy.
	Username string
	// The password for the proxy.  The value is `null` in responses
	Password string
	// Indicates if the Password property is set
	PasswordSet bool
	// The URI used to access a proxy auto-configuration (PAC) file
	ProxyAutoConfigURI string
	// The URI of the proxy server, including the scheme and any non-default
	// port value
	ProxyServerURI string
}

type Pump added in v0.16.0

type Pump 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"`

	// AssetTag shall contain the user-assigned asset tag, which is an identifying string that tracks the equipment for
	// inventory purposes.
	AssetTag string
	// Description provides a description of this resource.
	Description string

	// FirmwareVersion shall contain a string describing the firmware version of this equipment as provided by the
	// manufacturer.
	FirmwareVersion string
	// Location shall contain the location information of this pump.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// Manufacturer shall contain the name of the organization responsible for producing the pump. This organization
	// may be the entity from whom the pump is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the model information as defined by the manufacturer for this pump.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the part number as defined by the manufacturer for this pump.
	PartNumber string
	// PhysicalContext shall contain a description of the affected device or region within the chassis with which this
	// pump is associated.
	PhysicalContext PhysicalContext
	// ProductionDate shall contain the date of production or manufacture for this equipment.
	ProductionDate string
	// PumpSpeedPercent shall contain the current speed, in percent units, of this pump. The value of the DataSourceUri
	// property, if present, shall reference a resource of type Sensor with the ReadingType property containing the
	// value 'Percent'.
	PumpSpeedPercent SensorPumpExcerpt
	// PumpType shall contain the type of pump represented by this resource.
	PumpType PumpType
	// SerialNumber shall contain the serial number as defined by the manufacturer for this pump.
	SerialNumber string
	// ServiceHours shall contain the number of hours of service that the pump has been in operation.
	ServiceHours float64
	// SparePartNumber shall contain the spare or replacement part number as defined by the manufacturer for this pump.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string
	// Version shall contain the hardware version of this equipment as determined by the vendor or supplier.
	Version string
	// contains filtered or unexported fields
}

Pump shall represent the management properties for monitoring and management of pumps for a Redfish implementation.

func GetPump added in v0.16.0

func GetPump(c common.Client, uri string) (*Pump, error)

GetPump will get a Pump instance from the service.

func ListReferencedPumps added in v0.16.0

func ListReferencedPumps(c common.Client, link string) ([]*Pump, error)

ListReferencedPumps gets the collection of Pump from a provided reference.

func (*Pump) Assembly added in v0.16.0

func (pump *Pump) Assembly() (*Assembly, error)

Assembly gets the containing assembly for this pump.

func (*Pump) Filters added in v0.16.0

func (pump *Pump) Filters() ([]*Filter, error)

Filters gets a collection of filters.

func (*Pump) UnmarshalJSON added in v0.16.0

func (pump *Pump) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Pump object from the raw JSON.

func (*Pump) Update added in v0.16.0

func (pump *Pump) Update() error

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

type PumpType added in v0.16.0

type PumpType string
const (
	// LiquidPumpType is a water or liquid pump.
	LiquidPumpType PumpType = "Liquid"
	// CompressorPumpType is a compressor pump.
	CompressorPumpType PumpType = "Compressor"
)

type QoS added in v0.16.0

type QoS struct {
	// AllocatedBandwidth shall contain the bandwidth allocated for this CXL logical device in multiples of 256.
	AllocatedBandwidth int
	// LimitPercent shall contain the bandwidth limit, '0' to '100', for this CXL logical device as a percentage.
	LimitPercent int
}

QoS shall contain the quality of service properties of this CXL logical device.

type QoSTelemetryCapabilities added in v0.16.0

type QoSTelemetryCapabilities struct {
	// Indicates whether the port supports the CXL Specification-defined 'Egress Port Backpressure' mechanism.
	EgressPortBackpressureSupported bool
	// Indicates whether the port supports the CXL Specification-defined 'Temporary Throughput Reduction' mechanism.
	TemporaryThroughputReductionSupported bool
}

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 RackUnits added in v0.16.0

type RackUnits string

RackUnits is the type of rack unit in use.

const (
	// OpenURackUnits shall be specified in terms of the Open Compute Open Rack Specification.
	OpenURackUnits RackUnits = "OpenU"
	// EIA310RackUnits shall conform to the EIA-310 standard.
	EIA310RackUnits RackUnits = "EIA_310"
)

type Rates added in v0.16.0

type Rates struct {
	// ConsistencyCheckRatePercent shall contain the percentage of controller resources used for checking data
	// consistency on volumes.
	ConsistencyCheckRatePercent int
	// RebuildRatePercent shall contain the percentage of controller resources used for rebuilding volumes.
	RebuildRatePercent int
	// TransformationRatePercent shall contain the percentage of controller resources used for transforming volumes.
	TransformationRatePercent int
}

Rates shall contain all the rate settings available on the controller.

type ReadCachePolicyType added in v0.15.0

type ReadCachePolicyType string

ReadCachePolicyType is the type of read cache policy.

const (
	// ReadAheadReadCachePolicyType A caching technique in which the
	// controller pre-fetches data anticipating future read requests.
	ReadAheadReadCachePolicyType ReadCachePolicyType = "ReadAhead"
	// AdaptiveReadAheadReadCachePolicyType A caching technique in which the
	// controller dynamically determines whether to pre-fetch data
	// anticipating future read requests, based on previous cache hit ratio.
	AdaptiveReadAheadReadCachePolicyType ReadCachePolicyType = "AdaptiveReadAhead"
	// OffReadCachePolicyType The read cache is disabled.
	OffReadCachePolicyType ReadCachePolicyType = "Off"
)

type ReadingBasisType added in v0.15.0

type ReadingBasisType string
const (
	// A reading that reports the difference between two measurements.
	DeltaReadingBasisType ReadingBasisType = "Delta"
	// A reading that decreases as it approaches a defined reference point.
	HeadroomReadingBasisType ReadingBasisType = "Headroom"
	// A zero-based reading.
	ZeroReadingBasisType ReadingBasisType = "Zero"
)

type ReadingType added in v0.15.0

type ReadingType string

The type of sensor.

const (
	// Absolute humidity (g/cu m).
	AbsoluteHumidityReadingType ReadingType = "AbsoluteHumidity"
	// Airflow (cu ft/min).
	AirFlowReadingType ReadingType = "AirFlow"
	// Air flow (m^3/min).
	AirFlowCMMReadingType ReadingType = "AirFlowCMM"
	// Altitude (m).
	AltitudeReadingType ReadingType = "Altitude"
	// Barometric pressure (mm).
	BarometricReadingType ReadingType = "Barometric"
	// Charge (Ah).
	ChargeAhReadingType ReadingType = "ChargeAh"
	// Current (A).
	CurrentReadingType ReadingType = "Current"
	// Energy (J).
	EnergyJoulesReadingType ReadingType = "EnergyJoules"
	// Energy (kWh).
	EnergykWhReadingType ReadingType = "EnergykWh"
	// Energy (Wh).
	EnergyWhReadingType ReadingType = "EnergyWh"
	// Frequency (Hz).
	FrequencyReadingType ReadingType = "Frequency"
	// Heat (kW).
	HeatReadingType ReadingType = "Heat"
	// Relative humidity (percent).
	HumidityReadingType ReadingType = "Humidity"
	// Deprecated: (v1.7) Liquid flow (L/s).
	LiquidFlowReadingType ReadingType = "LiquidFlow"
	// Liquid flow (L/min).
	LiquidFlowLPMReadingType ReadingType = "LiquidFlowLPM"
	// Liquid level (cm).
	LiquidLevelReadingType ReadingType = "LiquidLevel"
	// Percent (%).
	PercentReadingType ReadingType = "Percent"
	// Power (W).
	PowerReadingType ReadingType = "Power"
	// Deprecated: (v1.7) Pressure (Pa).
	PressureReadingType ReadingType = "Pressure"
	// Pressure (kPa).
	PressurekPaReadingType ReadingType = "PressurekPa"
	// Pressure (Pa).
	PressurePaReadingType ReadingType = "PressurePa"
	// Rotational (RPM).
	RotationalReadingType ReadingType = "Rotational"
	// Temperature (C).
	TemperatureReadingType ReadingType = "Temperature"
	// Voltage (VAC or VDC).
	VoltageReadingType ReadingType = "Voltage"
)

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 ReceptacleType added in v0.16.0

type ReceptacleType string
const (
	// BS1363TypeGReceptacleType is BS 1363 Type G (250V; 13A).
	BS1363TypeGReceptacleType ReceptacleType = "BS_1363_Type_G"
	// BusConnectionReceptacleType is an Electrical bus connection.
	BusConnectionReceptacleType ReceptacleType = "BusConnection"
	// CEE7TypeEReceptacleType is EE 7/7 Type E (250V; 16A).
	CEE7TypeEReceptacleType ReceptacleType = "CEE_7_Type_E"
	// CEE7TypeFReceptacleType is CEE 7/7 Type F (250V; 16A).
	CEE7TypeFReceptacleType ReceptacleType = "CEE_7_Type_F"
	// IEC60320C13ReceptacleType is IEC C13 (250V; 10A or 15A).
	IEC60320C13ReceptacleType ReceptacleType = "IEC_60320_C13"
	// IEC60320C19ReceptacleType is IEC C19 (250V; 16A or 20A).
	IEC60320C19ReceptacleType ReceptacleType = "IEC_60320_C19"
	// NEMA515RReceptacleType is NEMA 5-15R (120V; 15A).
	NEMA515RReceptacleType ReceptacleType = "NEMA_5_15R"
	// NEMA520RReceptacleType is NEMA 5-20R (120V; 20A).
	NEMA520RReceptacleType ReceptacleType = "NEMA_5_20R"
	// NEMAL520RReceptacleType is NEMA L5-20R (120V; 20A).
	NEMAL520RReceptacleType ReceptacleType = "NEMA_L5_20R"
	// NEMAL530RReceptacleType is NEMA L5-30R (120V; 30A).
	NEMAL530RReceptacleType ReceptacleType = "NEMA_L5_30R"
	// NEMAL620RReceptacleType is NEMA L6-20R (250V; 20A).
	NEMAL620RReceptacleType ReceptacleType = "NEMA_L6_20R"
	// NEMAL630RReceptacleType is NEMA L6-30R (250V; 30A).
	NEMAL630RReceptacleType ReceptacleType = "NEMA_L6_30R"
	// SEV1011TYPE12ReceptacleType is SEV 1011 Type 12 (250V; 10A).
	SEV1011TYPE12ReceptacleType ReceptacleType = "SEV_1011_TYPE_12"
	// SEV1011TYPE23ReceptacleTypeSEV 1011 Type 23 (250V; 16A).
	SEV1011TYPE23ReceptacleType ReceptacleType = "SEV_1011_TYPE_23"
)

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 RedundancyType added in v0.15.0

type RedundancyType string

The redundancy mode of the group.

const (
	// Failure of one unit automatically causes a standby or offline unit in the redundancy set to take over its functions.
	FailoverRedundancyType RedundancyType = "Failover"
	// Multiple units are available and active such that normal operation will continue if one or more units fail.
	NPlusMRedundancyType RedundancyType = "NPlusM"
	// The subsystem is not configured in a redundancy mode, either due to configuration or the functionality has been disabled by the user.
	NotRedundantRedundancyType RedundancyType = "NotRedundant"
	//  Multiple units contribute or share such that operation will continue, but at a reduced capacity, if one or more units fail.
	SharingRedundancyType RedundancyType = "Sharing"
	// One or more spare units are available to take over the function of a failed unit, but takeover is not automatic.
	SparingRedundancyType RedundancyType = "Sparing"
)

type RedundantGroup added in v0.15.0

type RedundantGroup struct {
	// The maximum number of devices supported in this redundancy group.
	MaxSupportedInGroup int64
	// The minimum number of devices needed for this group to be redundant.
	MinNeededInGroup int64

	// RedundancyGroupCount is the number of redundancy groups in this group.
	RedundancyGroupCount int `json:"RedundancyGroup@odata.count"`
	// The redundancy mode of the group.
	RedundancyType RedundancyType
	// The status and health of the resource and its subordinate or dependent resources
	Status common.Status
	// contains filtered or unexported fields
}

The redundancy information for the devices in a redundancy group.

func (*RedundantGroup) UnmarshalJSON added in v0.15.0

func (redundantGroup *RedundantGroup) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a RedundancyGroup object from the raw JSON.

type Reference added in v0.16.0

type Reference string

Reference is the reference areas for the location of the part within an enclosure.

const (
	// TopReference shall indicate the part is in the top of the unit.
	TopReference Reference = "Top"
	// BottomReference shall indicate the part is in the bottom of the unit.
	BottomReference Reference = "Bottom"
	// FrontReference shall indicate the part is in the front of the unit.
	FrontReference Reference = "Front"
	// RearReference shall indicate the part is in the rear of the unit.
	RearReference Reference = "Rear"
	// LeftReference shall indicate the part is on the left side of the unit.
	LeftReference Reference = "Left"
	// RightReference shall indicate the part is on the right side of the unit.
	RightReference Reference = "Right"
	// MiddleReference shall indicate the part is in the middle of the unit.
	MiddleReference Reference = "Middle"
)

type ReferenceableMember added in v0.16.0

type ReferenceableMember struct {
	common.Entity
	// MemberID shall contain the unique identifier for this member within an array. For services supporting Redfish
	// v1.6 or higher, this value shall contain the zero-based array index.
	MemberID string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

ReferenceableMember shall contain the location of this element within an item.

type RegionSet

type RegionSet struct {
	// MasterPassphraseEnabled shall indicate whether the master passphrase is enabled for this region.
	MasterPassphraseEnabled bool
	// 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 RegionType added in v0.16.0

type RegionType string
const (
	// StaticRegionType Static memory region. The whole address range is always covered by memory.
	StaticRegionType RegionType = "Static"
	// DynamicRegionType Dynamic memory region. The address range coverage may be changed in the runtime.
	DynamicRegionType RegionType = "Dynamic"
)

type RegisteredClient added in v0.16.0

type RegisteredClient 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"`
	// ClientType shall contain the type of registered client.
	ClientType ClientType
	// ClientURI shall contain the URI of the registered client.
	ClientURI string
	// Context shall contain data provided by the owning client used to identify the service, provide context about its
	// state, or other information. The value of this property shall not contain unencrypted sensitive data such as
	// user credentials. Services shall support values of at least 256 bytes in length.
	Context string
	// CreatedDate shall contain the date and time when the client entry was created.
	CreatedDate string
	// Description provides a description of this resource.
	Description string
	// ExpirationDate shall contain the date and time when the client entry expires. Registered clients that are
	// actively managing or monitoring should periodically update this value. The value should not be more than 7 days
	// after the date when it was last set. If the current date is beyond this date, the service may delete this client
	// entry.
	ExpirationDate string
	// ManagedResources shall contain an array of resources that the registered client monitors or configures. Other
	// clients can use this property to understand which resources are monitored or configured by the registered
	// client.
	ManagedResources []ManagedResource
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SubContext shall contain additional data provided by the owning client used to identify the service, provide
	// context about its state, or other information. The value of this property shall not contain unencrypted
	// sensitive data such as user credentials. Services shall support values of at least 256 bytes in length.
	SubContext string
	// contains filtered or unexported fields
}

RegisteredClient shall represent a registered client for a Redfish implementation. It is not expected that transient tools, such as a short-lived CLI tool, register. Clients and management tools that live for long periods of time can create RegisteredClient resources so that other clients are aware the service might be configured or monitored by the client.

func GetRegisteredClient added in v0.16.0

func GetRegisteredClient(c common.Client, uri string) (*RegisteredClient, error)

GetRegisteredClient will get a RegisteredClient instance from the service.

func ListReferencedRegisteredClients added in v0.16.0

func ListReferencedRegisteredClients(c common.Client, link string) ([]*RegisteredClient, error)

ListReferencedRegisteredClients gets the collection of RegisteredClient from a provided reference.

func (*RegisteredClient) UnmarshalJSON added in v0.16.0

func (registeredclient *RegisteredClient) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a RegisteredClient object from the raw JSON.

func (*RegisteredClient) Update added in v0.16.0

func (registeredclient *RegisteredClient) Update() error

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

type RegistryEntries added in v0.15.0

type RegistryEntries struct {
	// An array of attributes and their possible values in the attribute registry.
	Attributes []Attribute
	// An array of dependencies of attributes on this component.
	Dependencies []Dependency
	// An array for the attributes menus and their hierarchy in the attribute registry.
	Menus []Menu
}

RegistryEntries shall list attributes for this component, along with their possible values, dependencies, and other metadata.

type ReleaseType added in v0.16.0

type ReleaseType string
const (
	// ProductionReleaseType shall indicate that the software is ready for use in production environments.
	ProductionReleaseType ReleaseType = "Production"
	// PrototypeReleaseType shall indicate that the software is designed for development or internal use.
	PrototypeReleaseType ReleaseType = "Prototype"
	// OtherReleaseType shall indicate that the Redfish service cannot determine if this release is validated or
	// prototype.
	OtherReleaseType ReleaseType = "Other"
)

type ReportActionsEnum added in v0.16.0

type ReportActionsEnum string

ReportActionsEnum shall specify the actions to perform when a metric report is generated.

const (
	// LogToMetricReportsCollectionReportActionsEnum shall indicate the service records the occurrence to the metric
	// report collection found under the telemetry service. The service shall update the metric report based on the
	// setting of the ReportUpdates property.
	LogToMetricReportsCollectionReportActionsEnum ReportActionsEnum = "LogToMetricReportsCollection"
	// RedfishEventReportActionsEnum shall indicate the service sends a Redfish event of type MetricReport to
	// subscribers in the event subscription collection of the event service.
	RedfishEventReportActionsEnum ReportActionsEnum = "RedfishEvent"
)

type ReportUpdatesEnum added in v0.16.0

type ReportUpdatesEnum string

ReportUpdatesEnum shall indicate how the service handles subsequent metric reports when a metric report exists.

const (
	// OverwriteReportUpdatesEnum shall indicate the service overwrites the metric report referenced by the
	// MetricReport property.
	OverwriteReportUpdatesEnum ReportUpdatesEnum = "Overwrite"
	// AppendWrapsWhenFullReportUpdatesEnum shall indicate the service appends new information to the metric report
	// referenced by the MetricReport property. The service shall overwrite entries in the metric report with new
	// entries when the metric report has reached its maximum capacity.
	AppendWrapsWhenFullReportUpdatesEnum ReportUpdatesEnum = "AppendWrapsWhenFull"
	// AppendStopsWhenFullReportUpdatesEnum shall indicate the service appends new information to the metric report
	// referenced by the MetricReport property. The service shall stop adding entries when the metric report has
	// reached its maximum capacity. The State property within Status should be set to 'Disabled' and the
	// MetricReportDefinitionEnabled property should be set to 'false' when the append limit is reached.
	AppendStopsWhenFullReportUpdatesEnum ReportUpdatesEnum = "AppendStopsWhenFull"
	// NewReportReportUpdatesEnum shall indicate the service creates a new metric report resource, whose Id property is
	// a service-defined identifier concatenated with the timestamp. The metric report referenced by the MetricReport
	// property shall reference the metric report most recently created by this metric report definition.
	NewReportReportUpdatesEnum ReportUpdatesEnum = "NewReport"
)

type Reservoir added in v0.16.0

type Reservoir 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"`

	// CapacityLiters shall contain the capacity of the reservoir in liter units.
	CapacityLiters float64
	// Coolant shall contain details regarding the coolant contained or used by this unit.
	Coolant Coolant
	// Description provides a description of this resource.
	Description string

	// FluidLevelPercent shall contain the amount of fluid capacity, in percent units, filled in this reservoir. The
	// value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType
	// property containing the value 'Percent'. Services that support this property shall also return the
	// FluidLevelStatus property.
	FluidLevelPercent SensorExcerpt
	// FluidLevelStatus shall indicate the status of the fluid level in this reservoir.
	FluidLevelStatus common.Health
	// InternalPressurekPa shall contain the internal pressure, measured in kilopascal units, for the reservoir. The
	// value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType
	// property containing the value 'PressurekPa'.
	InternalPressurekPa SensorExcerpt
	// Location shall contain the location information of this reservoir.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource.
	LocationIndicatorActive bool
	// Manufacturer shall contain the name of the organization responsible for producing the reservoir. This
	// organization may be the entity from whom the reservoir is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the model information as defined by the manufacturer for this reservoir.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the part number as defined by the manufacturer for this reservoir.
	PartNumber string
	// PhysicalContext shall contain a description of the affected device or region within the chassis with which this
	// reservoir is associated.
	PhysicalContext PhysicalContext
	// ReservoirType shall contain the type of reservoir represented by this resource.
	ReservoirType ReservoirType
	// SerialNumber shall contain the serial number as defined by the manufacturer for this reservoir.
	SerialNumber string
	// SparePartNumber shall contain the spare or replacement part number as defined by the manufacturer for this
	// reservoir.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// UserLabel shall contain a user-assigned label used to identify this resource. If a value has not been assigned
	// by a user, the value of this property shall be an empty string.
	UserLabel string
	// contains filtered or unexported fields
}

Reservoir shall represent the management properties for monitoring and management of reservoirs for a Redfish implementation.

func GetReservoir added in v0.16.0

func GetReservoir(c common.Client, uri string) (*Reservoir, error)

GetReservoir will get a Reservoir instance from the service.

func ListReferencedReservoirs added in v0.16.0

func ListReferencedReservoirs(c common.Client, link string) ([]*Reservoir, error)

ListReferencedReservoirs gets the collection of Reservoir from a provided reference.

func (*Reservoir) Assembly added in v0.16.0

func (reservoir *Reservoir) Assembly() (*Assembly, error)

Assembly gets the containing assembly for this reservoir.

func (*Reservoir) Filters added in v0.16.0

func (reservoir *Reservoir) Filters() ([]*Filter, error)

Filters gets a collection of filters.

func (*Reservoir) UnmarshalJSON added in v0.16.0

func (reservoir *Reservoir) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Reservoir object from the raw JSON.

func (*Reservoir) Update added in v0.16.0

func (reservoir *Reservoir) Update() error

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

type ReservoirType added in v0.16.0

type ReservoirType string
const (
	// ReserveReservoirType A reservoir providing reserve fluid capacity.
	ReserveReservoirType ReservoirType = "Reserve"
	// OverflowReservoirType An overflow reservoir for excess fluid.
	OverflowReservoirType ReservoirType = "Overflow"
	// InlineReservoirType An inline or integrated reservoir.
	InlineReservoirType ReservoirType = "Inline"
	// ImmersionReservoirType An immersion cooling tank.
	ImmersionReservoirType ReservoirType = "Immersion"
)

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"
	// Pause execution on the unit but do not remove power.
	// This is typically a feature of virtual machine hypervisors
	PauseResetType ResetType = "Pause"
	// Resume execution on the paused unit.
	// This is typically a feature of virtual machine hypervisors
	ResumeResetType ResetType = "Resume"
	// Write the state of the unit to disk before powering off.
	// This allows for the state to be restored when powered back on
	SuspendResetType ResetType = "Suspend"
)

type ResolutionStep added in v0.16.0

type ResolutionStep struct {
	// ActionParameters shall contain the parameters of the action URI for a resolution step.
	// ActionParameters []Parameters
	// ActionURI shall contain the action URI for a resolution step.
	ActionURI string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Priority shall contain the priority in the set of resolution steps. The value '0' shall indicate the highest
	// priority. Increasing values shall represent decreasing priority. If two or more resolution steps have the same
	// priority, the execution order of the resolution steps shall be in array order. If a resolution step does not
	// have a priority assignment, the default is 0. The priority is used to determine the execution order of the
	// resolution steps.
	Priority int
	// ResolutionType shall contain the type of the resolution step.
	ResolutionType ResolutionType
	// RetryCount shall contain the number of the retries for a resolution step.
	RetryCount int
	// RetryIntervalSeconds shall contain the interval, in seconds, between the retries for a resolution step.
	RetryIntervalSeconds int
	// TargetComponentURI shall contain the target URI of the component for a resolution step. This property shall be
	// present if the ActionURI property is not supported.
	TargetComponentURI string
}

ResolutionStep shall describe a recommended step of the service-defined resolution. The set of recommended steps are used to resolve the cause of a log entry, an event, a condition, or an error message.

type ResolutionType added in v0.16.0

type ResolutionType string
const (
	// ContactVendorResolutionType Contact vendor for service.
	ContactVendorResolutionType ResolutionType = "ContactVendor"
	// ReplaceComponentResolutionType Replace a component.
	ReplaceComponentResolutionType ResolutionType = "ReplaceComponent"
	// FirmwareUpdateResolutionType Perform a firmware update operation.
	FirmwareUpdateResolutionType ResolutionType = "FirmwareUpdate"
	// ResetResolutionType Perform a reset operation.
	ResetResolutionType ResolutionType = "Reset"
	// PowerCycleResolutionType Perform a power cycle operation.
	PowerCycleResolutionType ResolutionType = "PowerCycle"
	// ResetToDefaultsResolutionType Reset the settings to factory defaults.
	ResetToDefaultsResolutionType ResolutionType = "ResetToDefaults"
	// CollectDiagnosticDataResolutionType Collect diagnostic data.
	CollectDiagnosticDataResolutionType ResolutionType = "CollectDiagnosticData"
	// OEMResolutionType Perform an OEM-defined resolution step.
	OEMResolutionType ResolutionType = "OEM"
)

type Resource added in v0.16.0

type Resource 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

Resource The base type for resources and members that can be linked to.

func GetResource added in v0.16.0

func GetResource(c common.Client, uri string) (*Resource, error)

GetResource will get a Resource instance from the service.

func ListReferencedResources added in v0.16.0

func ListReferencedResources(c common.Client, link string) ([]*Resource, error)

ListReferencedResources gets the collection of Resource from a provided reference.

type ResourceBlock added in v0.16.0

type ResourceBlock 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"`
	// Client shall contain the client to which this resource block is assigned.
	Client string
	// CompositionStatus shall contain composition status information about this resource block.
	CompositionStatus CompositionStatus

	// ComputerSystemsCount is the number of ComputerSystems that this resource block contains.
	ComputerSystemsCount int `json:"ComputerSystems@odata.count"`
	// Description provides a description of this resource.
	Description string

	// DrivesCount is the number of Drives that this resource block contains.
	DrivesCount int `json:"Drives@odata.count"`

	// EthernetInterfacesCount is the number of EthernetInterfaces this resource block contains.
	EthernetInterfacesCount int `json:"EthernetInterfaces@odata.count"`

	// MemoryCount is the number of Memory objects this resource block contains.
	MemoryCount int `json:"Memory@odata.count"`

	// NetworkInterfacesCount is the number of NetworkInterfaces this resource block contains.
	NetworkInterfacesCount int `json:"NetworkInterfaces@odata.count"`
	// Pool shall contain the pool to which this resource block belongs. If this resource block is not assigned to a
	// client, this property shall contain the value 'Unassigned'. If this resource block is assigned to a client, this
	// property shall not contain the value 'Unassigned'.
	Pool PoolType

	// ProcessorsCount is the number of processors this resource block contains.
	ProcessorsCount int `json:"Processors@odata.count"`
	// ResourceBlockType shall contain an array of enumerated values that describe the type of resources available.
	ResourceBlockType []ResourceBlockType

	// SimpleStorageCount is the number of SimpleStorage instances this resource block contains.
	SimpleStorageCount int `json:"SimpleStorage@odata.count"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// StorageCount is the number of Storage instances this resource block contains.
	StorageCount int `json:"Storage@odata.count"`

	// ChassisCount is the number of associated Chassis objects.
	ChassisCount int

	// ConsumingResourceBlocksCount is the number of ResourceBlock objects that depend on this resource block.
	ConsumingResourceBlocksCount int

	// SupplyingResourceBlocksCount is the number of ResourceBlocks that this resource block depends on.
	SupplyingResourceBlocksCount int

	// ZonesCount is the number of Zone objects associated with this resource block.
	ZonesCount int
	// contains filtered or unexported fields
}

ResourceBlock shall represent a resource block for a Redfish implementation.

func GetResourceBlock added in v0.16.0

func GetResourceBlock(c common.Client, uri string) (*ResourceBlock, error)

GetResourceBlock will get a ResourceBlock instance from the service.

func ListReferencedResourceBlocks added in v0.16.0

func ListReferencedResourceBlocks(c common.Client, link string) ([]*ResourceBlock, error)

ListReferencedResourceBlocks gets the collection of ResourceBlock from a provided reference.

func (*ResourceBlock) UnmarshalJSON added in v0.16.0

func (resourceblock *ResourceBlock) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ResourceBlock object from the raw JSON.

func (*ResourceBlock) Update added in v0.16.0

func (resourceblock *ResourceBlock) Update() error

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

type ResourceBlockLimits added in v0.16.0

type ResourceBlockLimits struct {
	// MaxCompute shall contain an integer that specifies the maximum number of resource blocks of type 'Compute'
	// allowed for the composition request.
	MaxCompute int
	// MaxComputerSystem shall contain an integer that specifies the maximum number of resource blocks of type
	// 'ComputerSystem' allowed for the composition request.
	MaxComputerSystem int
	// MaxExpansion shall contain an integer that specifies the maximum number of resource blocks of type 'Expansion'
	// allowed for the composition request.
	MaxExpansion int
	// MaxMemory shall contain an integer that specifies the maximum number of resource blocks of type 'Memory' allowed
	// for the composition request.
	MaxMemory int
	// MaxNetwork shall contain an integer that specifies the maximum number of resource blocks of type 'Network'
	// allowed for the composition request.
	MaxNetwork int
	// MaxProcessor shall contain an integer that specifies the maximum number of resource blocks of type 'Processor'
	// allowed for the composition request.
	MaxProcessor int
	// MaxStorage shall contain an integer that specifies the maximum number of resource blocks of type 'Storage'
	// allowed for the composition request.
	MaxStorage int
	// MinCompute shall contain an integer that specifies the minimum number of resource blocks of type 'Compute'
	// required for the composition request.
	MinCompute int
	// MinComputerSystem shall contain an integer that specifies the minimum number of resource blocks of type
	// 'ComputerSystem' required for the composition request.
	MinComputerSystem int
	// MinExpansion shall contain an integer that specifies the minimum number of resource blocks of type 'Expansion'
	// required for the composition request.
	MinExpansion int
	// MinMemory shall contain an integer that specifies the minimum number of resource blocks of type 'Memory'
	// required for the composition request.
	MinMemory int
	// MinNetwork shall contain an integer that specifies the minimum number of resource blocks of type 'Network'
	// required for the composition request.
	MinNetwork int
	// MinProcessor shall contain an integer that specifies the minimum number of resource blocks of type 'Processor'
	// required for the composition request.
	MinProcessor int
	// MinStorage shall contain an integer that specifies the minimum number of resource blocks of type 'Storage'
	// required for the composition request.
	MinStorage int
}

ResourceBlockLimits shall specify the allowable quantities of types of resource blocks for a given composition request.

type ResourceBlockType added in v0.16.0

type ResourceBlockType string
const (
	// ComputeResourceBlockType This resource block contains resources of type 'Processor' and 'Memory' in a manner
	// that creates a compute complex.
	ComputeResourceBlockType ResourceBlockType = "Compute"
	// ProcessorResourceBlockType This resource block contains resources of type 'Processor'.
	ProcessorResourceBlockType ResourceBlockType = "Processor"
	// MemoryResourceBlockType This resource block contains resources of type 'Memory'.
	MemoryResourceBlockType ResourceBlockType = "Memory"
	// NetworkResourceBlockType This resource block contains network resources, such as resources of type
	// 'EthernetInterface' and 'NetworkInterface'.
	NetworkResourceBlockType ResourceBlockType = "Network"
	// StorageResourceBlockType This resource block contains storage resources, such as resources of type 'Storage' and
	// 'SimpleStorage'.
	StorageResourceBlockType ResourceBlockType = "Storage"
	// ComputerSystemResourceBlockType This resource block contains resources of type 'ComputerSystem'.
	ComputerSystemResourceBlockType ResourceBlockType = "ComputerSystem"
	// ExpansionResourceBlockType This resource block is capable of changing over time based on its configuration.
	// Different types of devices within this resource block can be added and removed over time.
	ExpansionResourceBlockType ResourceBlockType = "Expansion"
	// IndependentResourceResourceBlockType This resource block is capable of being consumed as a standalone component.
	// This resource block can represent things such as a software platform on one or more computer systems or an
	// appliance that provides composable resources and other services and can be managed independently of the Redfish
	// service.
	IndependentResourceResourceBlockType ResourceBlockType = "IndependentResource"
)

type ResourceCollection added in v0.16.0

type ResourceCollection 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
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

ResourceCollection

type ResourceIdentifier added in v0.16.0

type ResourceIdentifier struct {
	// DurableName shall contain the world-wide unique identifier for the resource. The string shall be in the
	// Identifier.DurableNameFormat property value format.
	DurableName string
	// DurableNameFormat shall represent the format of the DurableName property.
	DurableNameFormat DurableNameFormat
}

ResourceIdentifier shall be unique within the managed ecosystem.

type ResourceLocation added in v0.16.0

type ResourceLocation struct {
	// AltitudeMeters shall contain the altitude of the resource, in meter units, defined as the elevation above sea
	// level.
	AltitudeMeters float64
	// Contacts shall contain an array of contact information for an individual or organization responsible for this
	// resource.
	Contacts []ContactInfo
	// Latitude shall contain the latitude of the resource specified in degree units using a decimal format and not
	// minutes or seconds.
	Latitude float64
	// Longitude shall contain the longitude of the resource specified in degree units using a decimal format and not
	// minutes or seconds.
	Longitude float64
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartLocation shall contain the part location for a resource within an enclosure. This representation shall
	// indicate the location of a part within a location specified by the Placement property.
	PartLocation PartLocation
	// PartLocationContext shall contain a human-readable string to enable differentiation between PartLocation values
	// for parts in the same enclosure, which may include hierarchical information of containing PartLocation values
	// for the part. The value of this property shall not include values of the PartLocation properties for the part
	// itself. The purpose of this value, in conjunction with the PartLocation of the part itself, is to allow clients
	// to determine the physical location of the part without tracing through the PartLocation of multiple resources.
	PartLocationContext string
	// PhysicalAddress shall contain a physical address for a resource. This property should be present for resources
	// that represent physical objects that can operate without requiring physical containment by another resource. For
	// example, a server chassis might be contained by a rack, but it might also be deployed individually, while a
	// drive is always contained by a chassis and therefore is described by the containing resource.
	PhysicalAddress PhysicalAddress
	// Placement shall contain a place within the addressed location.
	Placement Placement
	// PostalAddress shall contain a postal address of the resource.
	PostalAddress PostalAddress
}

ResourceLocation shall describe the location of a resource.

type RetryPolicyType added in v0.16.0

type RetryPolicyType struct {
	// ConnectionRetryPolicy shall contain the type of retry policy for this outbound connection.
	ConnectionRetryPolicy OutboundConnectionRetryPolicyType
	// RetryCount shall contain the number of retries to attempt if the retry policy specifies a maximum number of
	// retries.
	RetryCount int
	// RetryIntervalMinutes shall contain the interval for the service to retry connecting to remote client in minutes.
	RetryIntervalMinutes int
}

RetryPolicyType shall contain the retry policy for an outbound connection.

func (*RetryPolicyType) UnmarshalJSON added in v0.16.0

func (retrypolicytype *RetryPolicyType) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a RetryPolicyType object from the raw JSON.

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
	// Restricted shall indicate whether use of the role is restricted by a service as defined by the 'Restricted roles
	// and restricted privileges' clause of the Redfish Specification. If this property is not present, the value shall
	// be assumed to be 'false'.
	Restricted bool
	// 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
	// MFABypass shall contain the multi-factor authentication bypass settings.
	MFABypass MFABypass
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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 RouteDistinguisherRange added in v0.16.0

type RouteDistinguisherRange struct {
	// Lower shall contain the lower Route Distinguisher (RD) number to be used as part of a range of Route
	// Distinguisher values.
	Lower string
	// Upper shall contain the upper Route Distinguisher (RD) number to be used as part of a range of Route
	// Distinguisher values.
	Upper string
}

RouteDistinguisherRange shall contain the Route Distinguisher (RD) Instance number range for Ethernet Virtual Private Network (EVPN) based fabrics.

type RouteEntry added in v0.16.0

type RouteEntry 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
	// MinimumHopCount shall indicate the minimum hop count used to calculate the computed hop count.
	MinimumHopCount int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RawEntryHex shall contain a binary data that represents the content of route entry rows.
	RawEntryHex string
	// contains filtered or unexported fields
}

RouteEntry shall represent the content of route entry rows in the Redfish Specification.

func GetRouteEntry added in v0.16.0

func GetRouteEntry(c common.Client, uri string) (*RouteEntry, error)

GetRouteEntry will get a RouteEntry instance from the service.

func ListReferencedRouteEntrys added in v0.16.0

func ListReferencedRouteEntrys(c common.Client, link string) ([]*RouteEntry, error)

ListReferencedRouteEntrys gets the collection of RouteEntry from a provided reference.

func (*RouteEntry) RouteSet added in v0.16.0

func (routeentry *RouteEntry) RouteSet() ([]*RouteSetEntry, error)

RouteSet gets the associated route set.

func (*RouteEntry) UnmarshalJSON added in v0.16.0

func (routeentry *RouteEntry) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a RouteEntry object from the raw JSON.

func (*RouteEntry) Update added in v0.16.0

func (routeentry *RouteEntry) Update() error

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

type RouteSetEntry added in v0.16.0

type RouteSetEntry 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
	// EgressIdentifier shall contain the interface identifier corresponding to this route.
	EgressIdentifier int
	// HopCount shall contain the number of hops to the destination component from the indicated egress interface.
	HopCount int
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// VCAction shall contain the index to the VCAT entry corresponding to this route.
	VCAction int
	// Valid shall indicate whether the entry is valid.
	Valid bool
	// contains filtered or unexported fields
}

RouteSetEntry This Resource contains the content of a route set in the Redfish Specification.

func GetRouteSetEntry added in v0.16.0

func GetRouteSetEntry(c common.Client, uri string) (*RouteSetEntry, error)

GetRouteSetEntry will get a RouteSetEntry instance from the service.

func ListReferencedRouteSetEntrys added in v0.16.0

func ListReferencedRouteSetEntrys(c common.Client, link string) ([]*RouteSetEntry, error)

ListReferencedRouteSetEntrys gets the collection of RouteSetEntry from a provided reference.

func (*RouteSetEntry) UnmarshalJSON added in v0.16.0

func (routesetentry *RouteSetEntry) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a RouteSetEntry object from the raw JSON.

func (*RouteSetEntry) Update added in v0.16.0

func (routesetentry *RouteSetEntry) Update() error

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

type RouteTargetRange added in v0.16.0

type RouteTargetRange struct {
	// Lower shall contain the lower Route Target (RT) number to be used as part of a range of Route Target values.
	Lower int
	// Upper shall contain the upper Route Target (RT) number to be used as part of a range of Route Target values.
	Upper int
}

RouteTargetRange shall contain the Route Target (RT) Instance number range for Ethernet Virtual Private Network (EVPN) based fabrics.

type RoutingScope added in v0.16.0

type RoutingScope string
const (
	// ExternalRoutingScope shall indicate this interface is externally accessible as if it were physically on the same
	// network as the hosting system.
	ExternalRoutingScope RoutingScope = "External"
	// HostOnlyRoutingScope shall indicate this interface is only accessible to a dedicated interface on the hosting
	// system.
	HostOnlyRoutingScope RoutingScope = "HostOnly"
	// InternalRoutingScope shall indicate this interface is only accessible to internal networking on the host, such
	// as when virtual machines or containers are allowed to communicate with each other on the same host system as
	// well as a dedicated interface on the hosting system.
	InternalRoutingScope RoutingScope = "Internal"
	// LimitedRoutingScope shall indicate this interface is accessible through IP translation provided by the hosting
	// system, such as a NAT (network address translation).
	LimitedRoutingScope RoutingScope = "Limited"
)

type SASPortMetrics added in v0.16.0

type SASPortMetrics struct {
	// InvalidDwordCount shall contain the number of invalid dwords that have been received by the phy outside of phy
	// reset sequences.
	InvalidDwordCount int
	// LossOfDwordSynchronizationCount shall contain the number of times the phy has restarted the link reset sequence
	// because it lost dword synchronization.
	LossOfDwordSynchronizationCount int
	// PhyResetProblemCount shall contain the number of times a phy reset problem has occurred.
	PhyResetProblemCount int
	// RunningDisparityErrorCount shall contain the number of dwords containing running disparity errors that have been
	// received by the phy outside of phy reset sequences.
	RunningDisparityErrorCount int
}

SASPortMetrics shall describe physical (phy) related metrics for Serial Attached SCSI (SAS).

type SFP added in v0.16.0

type SFP struct {
	// The type of fiber connection currently used by this SFP.
	FiberConnectionType FiberConnectionType
	// The manufacturer of this SFP.
	Manufacturer string
	// The medium type connected to this SFP.
	MediumType MediumType
	// The part number for this SFP.
	PartNumber string
	// The serial number for this SFP.
	SerialNumber string
	// The status and health of the resource and
	// its subordinate or dependent resources.
	Status common.Status
	// The types of SFP devices that can be attached to this port.
	SupportedSFPTypes []SFPDeviceType
	// The type of SFP device that is attached to this port.
	Type SFPDeviceType
}

type SFPDeviceType added in v0.16.0

type SFPDeviceType string
const (
	// The SFP conforms to the CSFP MSA Specification.
	CSFPSFPDeviceType SFPDeviceType = "cSFP"
	// The SFP conforms to the SFF Specification SFF-8644.
	MiniSASHDSFPDeviceType SFPDeviceType = "MiniSASHD"
	// The SFP conforms to the OSFP Specification.
	OSFPSFPDeviceType SFPDeviceType = "OSFP"
	// The SFP conforms to the SFF Specification for QSFP.
	QSFPSFPDeviceType SFPDeviceType = "QSFP"
	// The SFP conforms to the SFF Specification for QSFP14.
	QSFP14SFPDeviceType SFPDeviceType = "QSFP14"
	// The SFP conforms to the SFF Specification for QSFP28.
	QSFP28SFPDeviceType SFPDeviceType = "QSFP28"
	// The SFP conforms to the SFF Specification for QSFP56.
	QSFP56SFPDeviceType SFPDeviceType = "QSFP56"
	// The SFP conforms to the QSFP Double Density Specification.
	QSFPDDSFPDeviceType SFPDeviceType = "QSFPDD"
	// The SFP conforms to the SFF Specification for QSFP+.
	QSFPPlusSFPDeviceType SFPDeviceType = "QSFPPlus"
	// The SFP conforms to the SFF Specification for SFP.
	SFPSFPDeviceType SFPDeviceType = "SFP"
	// The SFP conforms to the SFF Specification for SFP+ and IEEE 802.3by Specification.
	SFP28SFPDeviceType SFPDeviceType = "SFP28"
	// The SFP conforms to the SFP-DD MSA Specification.
	SFPDDSFPDeviceType SFPDeviceType = "SFPDD"
	// The SFP conforms to the SFF Specification for SFP+.
	SFPPlusSFPDeviceType SFPDeviceType = "SFPPlus"
)

type SFPType added in v0.16.0

type SFPType string
const (
	// SFPSFPType The SFP conforms to the SFF Specification for SFP.
	SFPSFPType SFPType = "SFP"
	// SFPPlusSFPType The SFP conforms to the SFF Specification for SFP+.
	SFPPlusSFPType SFPType = "SFPPlus"
	// SFP28SFPType The SFP conforms to the SFF Specification for SFP+ and IEEE 802.3by Specification.
	SFP28SFPType SFPType = "SFP28"
	// CSFPSFPType The SFP conforms to the CSFP MSA Specification.
	CSFPSFPType SFPType = "cSFP"
	// SFPDDSFPType The SFP conforms to the SFP-DD MSA Specification.
	SFPDDSFPType SFPType = "SFPDD"
	// QSFPSFPType The SFP conforms to the SFF Specification for QSFP.
	QSFPSFPType SFPType = "QSFP"
	// QSFPPlusSFPType The SFP conforms to the SFF Specification for QSFP+.
	QSFPPlusSFPType SFPType = "QSFPPlus"
	// QSFP14SFPType The SFP conforms to the SFF Specification for QSFP14.
	QSFP14SFPType SFPType = "QSFP14"
	// QSFP28SFPType The SFP conforms to the SFF Specification for QSFP28.
	QSFP28SFPType SFPType = "QSFP28"
	// QSFP56SFPType The SFP conforms to the SFF Specification for QSFP56.
	QSFP56SFPType SFPType = "QSFP56"
	// MiniSASHDSFPType The SFP conforms to the SFF Specification SFF-8644.
	MiniSASHDSFPType SFPType = "MiniSASHD"
	// QSFPDDSFPType The SFP conforms to the QSFP Double Density Specification.
	QSFPDDSFPType SFPType = "QSFPDD"
	// OSFPSFPType The SFP conforms to the OSFP Specification.
	OSFPSFPType SFPType = "OSFP"
)

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 SNMP added in v0.15.0

type SNMP struct {
	NetworkProtocol

	// The authentication protocol used for SNMP access to this manager
	AuthenticationProtocol SNMPAuthenticationProtocol
	// The access level of the SNMP community
	CommunityAccessMode SNMPCommunityAccessMode
	// The SNMP community strings
	CommunityStrings []SNMPCommunity
	// Indicates if access via SNMPv1 is enabled
	EnableSNMPv1 bool
	// Indicates if access via SNMPv2c is enabled
	EnableSNMPv2c bool
	// Indicates if access via SNMPv3 is enabled
	EnableSNMPv3 bool
	// The encryption protocol used for SNMPv3 access to this manager
	EncryptionProtocol SNMPEncryptionProtocol
	// The engine ID
	EngineID EngineID `json:"EngineId"`
	// Indicates if the community strings should be hidden
	HideCommunityStrings bool
}

type SNMPAuthenticationProtocol added in v0.15.0

type SNMPAuthenticationProtocol string
const (
	// Authentication is determined by account settings
	SNMPAuthAccount SNMPAuthenticationProtocol = "Account"
	// SNMP community string authentication
	SNMPAuthCommunityString SNMPAuthenticationProtocol = "CommunityString"
	// HMAC-MD5-96 authentication
	SNMPAuthHMAC_MD5 SNMPAuthenticationProtocol = "HMAC_MD5" //nolint
	// HMAC-SHA-96 authentication
	SNMPAuthHMAC_SHA96 SNMPAuthenticationProtocol = "HMAC_SHA96" //nolint
	// HMAC-128-SHA-224 authentication
	SNMPAuthHMAC128_SHA224 SNMPAuthenticationProtocol = "HMAC128_SHA224" //nolint
	// HMAC-192-SHA-256 authentication
	SNMPAuthHMAC192_SHA256 SNMPAuthenticationProtocol = "HMAC192_SHA256" //nolint
	// HMAC-256-SHA-384 authentication
	SNMPAuthHMAC256_SHA384 SNMPAuthenticationProtocol = "HMAC256_SHA384" //nolint
	// HMAC-384-SHA-512 authentication
	SNMPAuthHMAC384_SHA512 SNMPAuthenticationProtocol = "HMAC384_SHA512" //nolint
)

type SNMPAuthenticationProtocols added in v0.5.0

type SNMPAuthenticationProtocols string
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"
	// HMAC128SHA224SNMPAuthenticationProtocols shall indicate authentication for SNMPv3 access conforms to the
	// RFC7860-defined usmHMAC128SHA224AuthProtocol.
	HMAC128SHA224SNMPAuthenticationProtocols SNMPAuthenticationProtocols = "HMAC128_SHA224"
	// HMAC192SHA256SNMPAuthenticationProtocols shall indicate authentication for SNMPv3 access conforms to the
	// RFC7860-defined usmHMAC192SHA256AuthProtocol.
	HMAC192SHA256SNMPAuthenticationProtocols SNMPAuthenticationProtocols = "HMAC192_SHA256"
	// HMAC256SHA384SNMPAuthenticationProtocols shall indicate authentication for SNMPv3 access conforms to the
	// RFC7860-defined usmHMAC256SHA384AuthProtocol.
	HMAC256SHA384SNMPAuthenticationProtocols SNMPAuthenticationProtocols = "HMAC256_SHA384"
	// HMAC384SHA512SNMPAuthenticationProtocols shall indicate authentication for SNMPv3 access conforms to the
	// RFC7860-defined usmHMAC384SHA512AuthProtocol.
	HMAC384SHA512SNMPAuthenticationProtocols SNMPAuthenticationProtocols = "HMAC384_SHA512"
)

type SNMPCommunity added in v0.15.0

type SNMPCommunity struct {
	// The access level of the SNMP community
	AccessMode SNMPCommunityAccessMode
	// The SNMP community string
	CommunityString string
	// The name of the SNMP community
	Name string
}

type SNMPCommunityAccessMode added in v0.15.0

type SNMPCommunityAccessMode string
const (
	// READ-WRITE access mode
	SNMPCommunityAccessFull SNMPCommunityAccessMode = "Full"
	// READ-ONLY access mode
	SNMPCommunityAccessLimited SNMPCommunityAccessMode = "Limited"
)

type SNMPEncryptionProtocol added in v0.15.0

type SNMPEncryptionProtocol string
const (
	// No encryption
	NoneEncryption SNMPEncryptionProtocol = "None"
	// Encryption is determined by account settings
	AccountEncryption SNMPEncryptionProtocol = "Account"
	// CBC-DES encryption
	CBC_DES_Encryption SNMPEncryptionProtocol = "CBC_DES" //nolint
	// CFB128-AES-128 encryption
	CFB128_AES128_Encryption SNMPEncryptionProtocol = "CFB128_AES128" //nolint
)

type SNMPEncryptionProtocols added in v0.5.0

type SNMPEncryptionProtocols string
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"
	// CFB128AES192SNMPEncryptionProtocols shall indicate encryption conforms to the CFB128-AES-192 encryption
	// protocol, extended from RFC3826.
	CFB128AES192SNMPEncryptionProtocols SNMPEncryptionProtocols = "CFB128_AES192"
	// CFB128AES256SNMPEncryptionProtocols shall indicate encryption conforms to the CFB128-AES-256 encryption
	// protocol, extended from RFC3826.
	CFB128AES256SNMPEncryptionProtocols SNMPEncryptionProtocols = "CFB128_AES256"
)

type SNMPSettings added in v0.5.0

type SNMPSettings 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 can 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 string
	// 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 can
	// 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 string
	// EncryptionProtocol shall contain the SNMPv3 encryption protocol.
	EncryptionProtocol SNMPEncryptionProtocols
	// TrapCommunity shall contain the SNMP trap community string. The value shall be 'null' in responses. Services may
	// provide a common trap community if not specified by the client when creating the aggregation source.
	TrapCommunity string
}

SNMPSettings shall contain the settings for an SNMP aggregation source.

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 SPDM added in v0.15.0

type SPDM struct {
	// Slot identifier of the certificate.
	SlotID int64 `json:"SlotId"`
}

type SPDMAlgorithmSet added in v0.16.0

type SPDMAlgorithmSet struct {
	// AEAD shall contain an array of AEAD algorithms. The allowable values for this property shall be the AEAD
	// algorithm names found in the 'AlgSupported' field of the 'AEAD structure' table in DSP0274, 'ALL', and 'NONE'.
	// An array containing one element with the value of 'ALL' or an empty array shall indicate all AEAD algorithms. An
	// array containing one element with a value of 'NONE' shall indicate no AEAD algorithms.
	AEAD []string
	// BaseAsym shall contain an array of asymmetric signature algorithms. The allowable values for this property shall
	// be the asymmetric key signature algorithm names found in the 'BaseAsymAlgo' field of the 'NEGOTIATE_ALGORITHMS'
	// request message in DSP0274, 'ALL', and 'NONE'. An array containing one element with the value of 'ALL' or an
	// empty array shall indicate all asymmetric signature algorithms. An array containing one element with a value of
	// 'NONE' shall indicate no asymmetric signature algorithms.
	BaseAsym []string
	// BaseHash shall contain an array of hash algorithms. The allowable values for this property shall be the hash
	// algorithm names found in the 'BaseHashAlgo' field of the 'NEGOTIATE_ALGORITHMS' request message in DSP0274,
	// 'ALL', and 'NONE'. An array containing one element with the value of 'ALL' or an empty array shall indicate all
	// hash algorithms. An array containing one element with a value of 'NONE' shall indicate no hash algorithms.
	BaseHash []string
}

SPDMAlgorithmSet shall contain SPDM algorithm settings.

type SPDMGetSignedMeasurementsRequest added in v0.16.0

type SPDMGetSignedMeasurementsRequest struct {
	// MeasurementIndices is an array of indices that identify the measurement blocks to sign.
	MeasurementIndices []int
	// Nonce is a 32-byte hex-encoded string that is signed with the measurements. The value should be unique.
	Nonce string
	// SlotID is the slot identifier for the certificate containing the private key to generate the signature over the measurements.
	SlotID int `json:"SlotId"`
}

SPDMGetSignedMeasurementsRequest contains the parameters for the SPDMGetSignedMeasurements action.

type SPDMGetSignedMeasurementsResponse added in v0.16.0

type SPDMGetSignedMeasurementsResponse struct {

	// HashingAlgorithm shall contain the hashing algorithm negotiated between the SPDM Requester and the SPDM
	// Responder. The allowable values for this property shall be the hash algorithm names found in the 'BaseHashAlgo'
	// field of the 'NEGOTIATE_ALGORITHMS' request message in DSP0274. If the algorithm is an extended algorithm, this
	// property shall contain the value 'OEM'.
	HashingAlgorithm string
	// PublicKey shall contain a Privacy Enhanced Mail (PEM)-encoded public key, as defined in section 13 of RFC7468,
	// that can be used to validate the signature. This property shall only be present when the SPDM Requester was pre-
	// provisioned with the SPDM Responder's public key and the SlotId parameter contains the value '15'.
	PublicKey string
	// SignedMeasurements shall contain the cryptographic signed statement over the given nonce and measurement blocks
	// corresponding to the requested measurement indices. If the SPDM version is 1.2, this value shall be a
	// concatenation of SPDM 'VCA' and 'GET_MEASUREMENTS' requests and responses exchanged between the SPDM Requester
	// and the SPDM Responder. If SPDM version is 1.0 or 1.1, this value shall be a concatenation of SPDM
	// 'GET_MEASUREMENTS' requests and responses exchanged between the SPDM Requester and the SPDM Responder. The last
	// 'MEASUREMENTS' response shall contain a signature generated over the 'L2' string by the SPDM Responder.
	SignedMeasurements string
	// SigningAlgorithm shall contain the asymmetric signing algorithm negotiated between the SPDM Requester and the
	// SPDM Responder. The allowable values for this property shall be the asymmetric key signature algorithm names
	// found in the 'BaseAsymAlgo' field of the 'NEGOTIATE_ALGORITHMS' request message in DSP0274. If the algorithm is
	// an extended algorithm, this property shall contain the value 'OEM'.
	SigningAlgorithm string
	// Version shall contain the SPDM version negotiated between the SPDM Requester and the SPDM Responder to generate
	// the cryptographic signed statement. For example, '1.0', '1.1', or '1.2'.
	Version string
	// contains filtered or unexported fields
}

SPDMGetSignedMeasurementsResponse shall contain the SPDM signed measurements from an SPDM Responder.

func (*SPDMGetSignedMeasurementsResponse) Certificate added in v0.16.0

func (spdmgetsignedmeasurementsresponse *SPDMGetSignedMeasurementsResponse) Certificate() (*Certificate, error)

Certificate gets the certificate corresponding to the SPDM slot identifier that can be used to validate the signature.

func (*SPDMGetSignedMeasurementsResponse) UnmarshalJSON added in v0.16.0

func (spdmgetsignedmeasurementsresponse *SPDMGetSignedMeasurementsResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SPDMGetSignedMeasurementsResponse object from the raw JSON.

type SPDMParameterSet added in v0.16.0

type SPDMParameterSet struct {
	// Algorithms shall contain the SPDM algorithms.
	Algorithms SPDMAlgorithmSet
	// Versions shall contain an array of SPDM versions. An array containing one element with the value of 'ALL' or an
	// empty array shall indicate all versions. An array containing one element with a value of 'NONE' shall indicate
	// no versions.
	Versions []string
}

SPDMParameterSet shall contain SPDM policy settings.

type SPDMPolicy added in v0.16.0

type SPDMPolicy struct {
	// AllowExtendedAlgorithms shall indicate whether SPDM extended algorithms as defined in DSP0274 are allowed.
	AllowExtendedAlgorithms bool
	// Allowed shall contain the SPDM policy settings that are allowed, such as the allowable SPDM versions and
	// algorithms.
	Allowed SPDMParameterSet
	// Denied shall contain the SPDM policy settings that are prohibited, such as the prohibited SPDM versions and
	// algorithms.
	Denied SPDMParameterSet
	// Enabled shall indicate whether SPDM communication with devices as defined in DSP0274 is enabled.
	Enabled bool

	// SecureSessionEnabled shall indicate whether SPDM secure sessions with devices as defined in DSP0274 is enabled.
	SecureSessionEnabled bool

	// VerifyCertificate shall indicate whether the manager will verify the certificate of the SPDM endpoint. If
	// 'true', the manager shall verify the device certificate with the certificates found in the collections
	// referenced by the 'RevokedCertificates' and 'TrustedCertificates' properties. If 'false', the manager shall not
	// perform verification of the endpoint certificate.
	VerifyCertificate bool
	// contains filtered or unexported fields
}

SPDMPolicy shall contain SPDM policy settings.

func (*SPDMPolicy) RevokedCertificates added in v0.16.0

func (spdmpolicy *SPDMPolicy) RevokedCertificates(c common.Client) ([]*Certificate, error)

RevokedCertificates gets the set of revoked SPDM device certificates.

func (*SPDMPolicy) TrustedCertificates added in v0.16.0

func (spdmpolicy *SPDMPolicy) TrustedCertificates(c common.Client) ([]*Certificate, error)

TrustedCertificates gets the set of trusted SPDM device certificates.

func (*SPDMPolicy) UnmarshalJSON added in v0.16.0

func (spdmpolicy *SPDMPolicy) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SPDMPolicy object from the raw JSON.

type SPDMcommunication added in v0.16.0

type SPDMcommunication struct {
	// Sessions shall contain an array of the active sessions or communication channels between two components. The
	// active sessions or communication channels do not reflect how future sessions or communication channels are
	// established.
	Sessions []SingleSessionInfo
}

SPDMcommunication shall contain information about communication between two components.

type SPDMidentity added in v0.16.0

type SPDMidentity struct {
	// RequesterAuthentication shall contain authentication information of the identity of the SPDM Requester.
	RequesterAuthentication SPDMrequesterAuth
	// ResponderAuthentication shall contain authentication information of the identity of the SPDM Responder.
	ResponderAuthentication SPDMresponderAuth
}

SPDMidentity shall contain identity authentication information about the SPDM Requester and SPDM Responder.

type SPDMinfo added in v0.16.0

type SPDMinfo struct {
	// ComponentCommunication shall contain information about communication between the SPDM Requester and SPDM
	// Responder.
	ComponentCommunication SPDMcommunication
	// IdentityAuthentication shall contain identity authentication information about the SPDM Requester and SPDM
	// Responder.
	IdentityAuthentication SPDMidentity
	// MeasurementSet shall contain measurement information for the SPDM Responder.
	MeasurementSet SPDMmeasurementSet
	// contains filtered or unexported fields
}

SPDMinfo shall contain integrity information about an SPDM Responder as reported by an SPDM Requester.

func (*SPDMinfo) UnmarshalJSON added in v0.16.0

func (spdminfo *SPDMinfo) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SPDMinfo object from the raw JSON.

type SPDMmeasurementSet added in v0.16.0

type SPDMmeasurementSet struct {
	// MeasurementSpecification shall contain the measurement specification negotiated between the SPDM Requester and
	// SPDM Responder.
	MeasurementSpecification MeasurementSpecification
	// MeasurementSummary shall contain the Base64-encoded measurement summary using the hash algorithm indicated by
	// the MeasurementSummaryHashAlgorithm property.
	MeasurementSummary string
	// MeasurementSummaryHashAlgorithm shall contain the hash algorithm used to compute the measurement summary. The
	// allowable values for this property shall be the hash algorithm names found in the 'BaseHashAlgo' field of the
	// 'NEGOTIATE_ALGORITHMS' request message in DSP0274. If the algorithm is an extended algorithm, this property
	// shall contain the value 'OEM'.
	MeasurementSummaryHashAlgorithm string
	// MeasurementSummaryType shall contain the type of measurement summary.
	MeasurementSummaryType SPDMmeasurementSummaryType
	// Measurements shall contain measurements from an SPDM Responder.
	Measurements []SPDMsingleMeasurement
}

SPDMmeasurementSet shall contain SPDM Responder measurement information.

type SPDMmeasurementSummaryType added in v0.16.0

type SPDMmeasurementSummaryType string
const (
	// TCBSPDMmeasurementSummaryType The measurement summary covers the TCB.
	TCBSPDMmeasurementSummaryType SPDMmeasurementSummaryType = "TCB"
	// AllSPDMmeasurementSummaryType The measurement summary covers all measurements in SPDM.
	AllSPDMmeasurementSummaryType SPDMmeasurementSummaryType = "All"
)

type SPDMrequesterAuth added in v0.16.0

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

SPDMrequesterAuth shall contain authentication information of the identity of the SPDM Requester.

func (*SPDMrequesterAuth) ProvidedCertificate added in v0.16.0

func (spdmrequesterauth *SPDMrequesterAuth) ProvidedCertificate(c common.Client) (*Certificate, error)

ProvidedCertificate gets the identity of the SPDM Requester provided in mutual authentication.

func (*SPDMrequesterAuth) UnmarshalJSON added in v0.16.0

func (spdmrequesterauth *SPDMrequesterAuth) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SPDMrequesterAuth object from the raw JSON.

type SPDMresponderAuth added in v0.16.0

type SPDMresponderAuth struct {

	// VerificationStatus shall contain the status of the verification of the identity of the component referenced by
	// the TargetComponentURI property.
	VerificationStatus VerificationStatus
	// contains filtered or unexported fields
}

SPDMresponderAuth shall contain common identity-related authentication information.

func (*SPDMresponderAuth) ComponentCertificate added in v0.16.0

func (spdmresponderauth *SPDMresponderAuth) ComponentCertificate(c common.Client) (*Certificate, error)

ComponentCertificate gets the identity of the component referenced by the TargetComponentURI property.

func (*SPDMresponderAuth) UnmarshalJSON added in v0.16.0

func (spdmresponderauth *SPDMresponderAuth) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SPDMresponderAuth object from the raw JSON.

type SPDMsingleMeasurement added in v0.16.0

type SPDMsingleMeasurement struct {
	// LastUpdated shall contain the date and time when information for the measurement was last updated.
	LastUpdated string
	// Measurement shall contain the Base64-encoded measurement using the hash algorithm indicated by the
	// MeasurementHashAlgorithm property. This property shall not contain a raw bit stream as a measurement. If the
	// SPDM Responder provides a raw bit stream, the SPDM Requester may apply a hash algorithm to the raw bit stream in
	// order to report the measurement.
	Measurement string
	// MeasurementHashAlgorithm shall contain the hash algorithm used to compute the measurement. The allowable values
	// for this property shall be the hash algorithm names found in the 'BaseHashAlgo' field of the
	// 'NEGOTIATE_ALGORITHMS' request message in DSP0274. If the algorithm is an extended algorithm, this property
	// shall contain the value 'OEM'. This property shall not be present if MeasurementSpecification does not contain
	// 'DMTF'.
	MeasurementHashAlgorithm string
	// MeasurementIndex shall contain the index of the measurement.
	MeasurementIndex int
	// MeasurementType shall contain the type or characteristics of the data that this measurement represents. This
	// property shall not be present if MeasurementSpecification does not contain 'DMTF'.
	MeasurementType DMTFmeasurementTypes
	// PartofSummaryHash shall indicate if this measurement is part of the measurement summary in the
	// MeasurementSummary property. If this property is not present, it shall be assumed to be 'false'.
	PartofSummaryHash bool
	// SecurityVersionNumber shall contain an 8-byte hex-encoded string of the security version number the measurement
	// represents. This property shall only be present if MeasurementType contains the value
	// 'MutableFirmwareSecurityVersionNumber'.
	SecurityVersionNumber string
}

SPDMsingleMeasurement shall contain a single SPDM measurement for an SPDM Responder.

type SSDP added in v0.15.0

type SSDP struct {
	NetworkProtocol

	// The IPv6 scope for multicast NOTIFY messages for SSDP
	NotifyIPv6Scope NotifyIPv6Scope
	// The time interval, in seconds, between transmissions of the
	// multicast NOTIFY ALIVE message from this service for SSDP
	NotifyMulticastIntervalSeconds int64
	// The time-to-live hop count for SSDP multicast NOTIFY messages
	NotifyTTL int64
}

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 SSHAlgoKeyType added in v0.16.0

type SSHAlgoKeyType string
const (
	// DSASSHKeyType is DSA.
	DSASSHAlgoKeyType SSHAlgoKeyType = "DSA"
	// ECDSASSHKeyType is ECDSA.
	ECDSASSHAlgoKeyType SSHAlgoKeyType = "ECDSA"
	// ED25519SSHKeyType is Ed25519.
	ED25519SSHAlgoKeyType SSHAlgoKeyType = "Ed25519"
	// RSASSHKeyType is RSA.
	RSASSHAlgoKeyType SSHAlgoKeyType = "RSA"
)

type SSHSettingsType added in v0.16.0

type SSHSettingsType struct {
	// PresentedPublicHostKey shall contain a link to a resource of type Key that represents the last public host key
	// presented by the remote service corresponding to the aggregation source. This property shall not be present if a
	// public host key has not yet been presented by the remote service.
	PresentedPublicHostKey string
	// PresentedPublicHostKeyTimestamp shall contain the date and time when the key referenced by the
	// PresentedPublicHostKey property was last updated.
	PresentedPublicHostKeyTimestamp string
	// PublicIdentityKey shall contain a link to a resource of type Key that represents the public key that is used
	// with the aggregation source when UserAuthenticationMethod contains 'PublicKey'. This property shall not be
	// present if a key-pair is not available. The State property within Status shall contain 'Disabled' if a key-pair
	// is not available and UserAuthenticationMethod contains 'PublicKey'.
	PublicIdentityKey string
	// TrustedPublicHostKeys shall contain a link to a resource collection of type KeyCollection that represents the
	// trusted public host keys of the remote service corresponding to the aggregation source. If the associated
	// connection method specifies SSH tunneling, the service shall compare the public host key presented by the remote
	// service with members of this collection to determine if the remote service can be trusted. If the remote service
	// cannot be trusted, the State property within Status shall contain 'Disabled' and the service shall not connect
	// to the remote service.
	TrustedPublicHostKeys string
	// UserAuthenticationMethod shall contain the client user authentication method.
	UserAuthenticationMethod UserAuthenticationMethod
}

SSHSettingsType shall contain the settings for an aggregation source using SSH as part of the associated connection method.

type SSHType added in v0.16.0

type SSHType struct {
	// Comment shall contain the user-specified comment associated with this key, which typically contains the client's
	// username and host name.
	Comment string
	// Fingerprint shall contain the fingerprint of the key.
	Fingerprint string
	// RemoteServerHostName shall contain the host name of the remote server associated with this key.
	RemoteServerHostName string
}

SSHType shall contain SSH specific properties for a key.

type Schedule added in v0.16.0

type Schedule struct {
	common.Entity
	// EnabledDaysOfMonth shall contain the days of the month when scheduled occurrences are enabled, for enabled days
	// of week and months of year. If the array contains a single value of '0', or if the property is not present, all
	// days of the month shall be enabled.
	EnabledDaysOfMonth []int
	// EnabledDaysOfWeek shall be enabled.
	EnabledDaysOfWeek []DayOfWeek
	// EnabledIntervals shall be an ISO 8601 conformant interval specifying when occurrences are enabled.
	EnabledIntervals []string
	// EnabledMonthsOfYear shall contain the months of the year when scheduled occurrences are enabled, for enabled
	// days of week and days of month. If not present, all months of the year shall be enabled.
	EnabledMonthsOfYear []MonthOfYear
	// InitialStartTime shall contain the date and time when the initial occurrence is scheduled to occur.
	InitialStartTime string
	// Lifetime shall contain a Redfish Duration that describes the time after provisioning when the schedule expires.
	Lifetime string
	// MaxOccurrences shall contain the maximum number of scheduled occurrences.
	MaxOccurrences int
	// RecurrenceInterval shall contain the duration between consecutive occurrences.
	RecurrenceInterval string
	// contains filtered or unexported fields
}

Schedule shall schedule a series of occurrences.

func GetSchedule added in v0.16.0

func GetSchedule(c common.Client, uri string) (*Schedule, error)

GetSchedule will get a Schedule instance from the service.

func ListReferencedSchedules added in v0.16.0

func ListReferencedSchedules(c common.Client, link string) ([]*Schedule, error)

ListReferencedSchedules gets the collection of Schedule from a provided reference.

func (*Schedule) UnmarshalJSON added in v0.16.0

func (schedule *Schedule) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Schedule object from the raw JSON.

func (*Schedule) Update added in v0.16.0

func (schedule *Schedule) Update() error

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

type SecurID added in v0.16.0

type SecurID struct {
	// Certificates shall contain a link to a resource collection of type CertificateCollection that represent the
	// server certificates for the RSA SecurID server referenced by the ServerURI property. Regardless of the contents
	// of this collection, services may perform additional verification based on other factors, such as the
	// configuration of the SecurityPolicy resource.
	Certificates string
	// ClientId shall contain the client ID to use when communicating with the RSA SecurID server.
	ClientID string `json:"ClientId,omitempty"`
	// ClientSecret shall contain the client secret to use when communicating with the RSA SecurID server. The value
	// shall be 'null' in responses.
	ClientSecret string
	// ClientSecretSet shall contain 'true' if a valid value was provided for the ClientSecret property. Otherwise, the
	// property shall contain 'false'.
	ClientSecretSet string
	// Enabled shall indicate whether multi-factor authentication with RSA SecurID is enabled.
	Enabled bool
	// ServerURI shall contain the URI of the RSA SecurID server.
	ServerURI string
}

SecurID shall contain settings for RSA SecurID multi-factor authentication.

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 SecureBootDatabase added in v0.16.0

type SecureBootDatabase 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"`

	// DatabaseID shall contain the name of the UEFI Secure Boot database. This property shall contain the same value
	// as the Id property. The value shall be one of the UEFI-defined Secure Boot databases: 'PK', 'KEK' 'db', 'dbx',
	// 'dbr', 'dbt', 'PKDefault', 'KEKDefault', 'dbDefault', 'dbxDefault', 'dbrDefault', or 'dbtDefault'.
	DatabaseID string
	// Description provides a description of this resource.
	Description string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// contains filtered or unexported fields
}

SecureBootDatabase shall be used to represent a UEFI Secure Boot database for a Redfish implementation.

func GetSecureBootDatabase added in v0.16.0

func GetSecureBootDatabase(c common.Client, uri string) (*SecureBootDatabase, error)

GetSecureBootDatabase will get a SecureBootDatabase instance from the service.

func ListReferencedSecureBootDatabases added in v0.16.0

func ListReferencedSecureBootDatabases(c common.Client, link string) ([]*SecureBootDatabase, error)

ListReferencedSecureBootDatabases gets the collection of SecureBootDatabase from a provided reference.

func (*SecureBootDatabase) Certificates added in v0.16.0

func (securebootdatabase *SecureBootDatabase) Certificates() ([]*Certificate, error)

Certificates get the certificates contained in this UEFI Secure Boot database.

func (*SecureBootDatabase) ResetKeys added in v0.17.0

func (securebootdatabase *SecureBootDatabase) ResetKeys(resetType ResetKeysType) error

ResetKeys will perform a reset of this UEFI Secure Boot key database. The `ResetAllKeysToDefault` value shall reset this UEFI Secure Boot key database to the default values. The `DeleteAllKeys` value shall delete the contents of this UEFI Secure Boot key database.

func (*SecureBootDatabase) Signatures added in v0.16.0

func (securebootdatabase *SecureBootDatabase) Signatures() ([]*Signature, error)

Signatures get the certificates contained in this UEFI Secure Boot database.

func (*SecureBootDatabase) UnmarshalJSON added in v0.16.0

func (securebootdatabase *SecureBootDatabase) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SecureBootDatabase object from the raw JSON.

type SecureBootDatabaseResetKeysType added in v0.16.0

type SecureBootDatabaseResetKeysType string

SecureBootDatabaseResetKeysType is

const (
	// ResetAllKeysToDefaultSecureBootDatabaseResetKeysType Reset the contents of this UEFI Secure Boot key database to the default
	// values.
	ResetAllKeysToDefaultSecureBootDatabaseResetKeysType SecureBootDatabaseResetKeysType = "ResetAllKeysToDefault"
	// DeleteAllKeysSecureBootDatabaseResetKeysType Delete the contents of this UEFI Secure Boot key database.
	DeleteAllKeysSecureBootDatabaseResetKeysType SecureBootDatabaseResetKeysType = "DeleteAllKeys"
)

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 SecureSessionType added in v0.16.0

type SecureSessionType string
const (
	// PlainSecureSessionType A plain text session without any protection.
	PlainSecureSessionType SecureSessionType = "Plain"
	// EncryptedAuthenticatedSecureSessionType An established session where both encryption and authentication are
	// protecting the communication.
	EncryptedAuthenticatedSecureSessionType SecureSessionType = "EncryptedAuthenticated"
	// AuthenticatedOnlySecureSessionType An established session where only authentication is protecting the
	// communication.
	AuthenticatedOnlySecureSessionType SecureSessionType = "AuthenticatedOnly"
)

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 SecurityPolicy added in v0.16.0

type SecurityPolicy 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// OverrideParentManager shall indicate whether this security policy overrides the security policy of the managers
	// referenced by the ManagedBy property within the Links property of the Manager resource for this security policy.
	// If this property is absent, the value shall be assumed to be 'false'.
	OverrideParentManager bool
	// SPDM shall contain the policy requirements for SPDM communication and usage.
	SPDM SPDMPolicy
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// TLS shall contain the policy requirements for TLS communication and usage.
	TLS TLSCommunication
	// contains filtered or unexported fields
}

SecurityPolicy shall represent configurable security-related policies managed by a manager. All security parameters in other resources that are controlled by the manager shall follow the related settings in this security policy. For example, an outbound TLS connection established per an EventDestination resource will follow the values of the properties in the TLS property.

func GetSecurityPolicy added in v0.16.0

func GetSecurityPolicy(c common.Client, uri string) (*SecurityPolicy, error)

GetSecurityPolicy will get a SecurityPolicy instance from the service.

func ListReferencedSecurityPolicys added in v0.16.0

func ListReferencedSecurityPolicys(c common.Client, link string) ([]*SecurityPolicy, error)

ListReferencedSecurityPolicys gets the collection of SecurityPolicy from a provided reference.

func (*SecurityPolicy) UnmarshalJSON added in v0.16.0

func (securitypolicy *SecurityPolicy) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SecurityPolicy object from the raw JSON.

func (*SecurityPolicy) Update added in v0.16.0

func (securitypolicy *SecurityPolicy) Update() error

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

type SecurityReceiveResponse added in v0.17.0

type SecurityReceiveResponse struct {
	// Data shall contain a Base64-encoded string of the security protocol data transferred from a controller.
	Data string
}

SecurityReceiveResponse shall contain the security data transferred from a controller.

type SecurityStateInfo added in v0.16.0

type SecurityStateInfo struct {
	// MasterPassphraseAttemptCountReached shall indicate whether an incorrect master passphrase attempt count has been
	// reached.
	MasterPassphraseAttemptCountReached bool
	// UserPassphraseAttemptCountReached shall indicate whether an incorrect user passphrase attempt count has been
	// reached.
	UserPassphraseAttemptCountReached bool
}

SecurityStateInfo shall contain the security states of a memory device.

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 Sensor added in v0.15.0

type Sensor struct {
	common.Entity

	// ODataContext is the odata context.
	ODataContext string `json:"@odata.context"`
	// ODataType is the odata type.
	ODataType string `json:"@odata.type"`
	// The estimated percent error of measured versus actual values.
	Accuracy float32
	// The adjusted maximum allowable operating value for this equipment based on the environmental conditions.
	AdjustedMaxAllowableOperatingValue float32
	// The adjusted minimum allowable operating value for this equipment based on the environmental conditions.
	AdjustedMinAllowableOperatingValue float32
	// Apparent energy (kVAh).
	ApparentkVAh float32
	// The product of voltage and current for an AC circuit, in volt-ampere units.
	ApparentVA float32
	// The average sensor value.
	AverageReading float32
	// The interval over which the average sensor value is calculated.
	AveragingInterval string
	// Indicates that enough readings were collected to calculate the average sensor reading over the averaging interval time.
	AveragingIntervalAchieved bool
	// The calibration offset applied to the Reading.
	Calibration float32
	// The date and time that the sensor was last calibrated.
	CalibrationTime string
	// The crest factor for this sensor.
	CrestFactor float32
	// The combination of current-carrying conductors.
	ElectricalContext common.ElectricalContext
	// The implementation of the sensor.
	Implementation SensorImplementation
	// The total accumulation value for this sensor.
	LifetimeReading float32
	// Deprecated: (v1.1) The power load utilization for this sensor.
	LoadPercent float32
	// The location information for this sensor.
	Location common.Location
	// The lowest sensor value.
	LowestReading float32
	// The time when the lowest sensor value occurred.
	LowestReadingTime string
	// The maximum allowable operating value for this equipment.
	MaxAllowableOperatingValue float32
	// The minimum allowable operating value for this equipment.
	MinAllowableOperatingValue float32
	// The peak sensor value.
	PeakReading float32
	// The time when the peak sensor value occurred.
	PeakReadingTime string
	// The phase angle (degrees) between the current and voltage waveforms.
	PhaseAngleDegrees float32
	// The area or device to which this sensor measurement applies.
	PhysicalContext common.PhysicalContext
	// The usage or location within a device to which this sensor measurement applies.
	PhysicalSubContext common.PhysicalSubContext
	// The power factor for this sensor.
	PowerFactor float32
	// The number of significant digits in the reading.
	Precision float32
	// Reactive energy (kVARh).
	ReactivekVARh float32
	// The square root of the difference term of squared apparent VA and squared power (Reading) for a circuit, in VAR units.
	ReactiveVAR float32
	// The sensor value.
	Reading float32
	// ReadingAccuracy shall contain the accuracy of the value of the Reading for this sensor. The value shall be the
	// absolute value of the maximum deviation of the Reading from its actual value. The value shall be in units that
	// follow the ReadingUnits for this sensor.
	ReadingAccuracy float64
	// The basis for the reading of this sensor.
	ReadingBasis ReadingBasisType
	// The maximum possible value for this sensor.
	ReadingRangeMax float32
	// The minimum possible value for this sensor.
	ReadingRangeMin float32
	// The date and time that the reading was acquired from the sensor.
	ReadingTime string
	// The type of sensor.
	ReadingType ReadingType
	// The units of the reading and thresholds.
	ReadingUnits string
	// Deprecated: (v1.1) The time interval between readings of the physical sensor.
	SensingFrequency float32
	// The time interval between readings of the sensor.
	SensingInterval string
	// The group of sensors that provide readings for this sensor.
	SensorGroup RedundantGroup
	// The date and time when the time-based properties were last reset.
	SensorResetTime string
	// The rotational speed.
	SpeedRPM float32
	// 	The status and health of the resource and its subordinate or dependent resources.
	Status common.Status
	// The total harmonic distortion (THD).
	THDPercent float32
	// The set of thresholds defined for this sensor.
	Thresholds Thresholds
	// This property shall represent the type of input voltage the sensor monitors.
	VoltageType InputType

	RelatedItemCount int

	AssociatedControlsCount int
	// The manufacturer- or provider-specific data.
	Oem json.RawMessage
	// OEMLinks are all OEM data under link section
	OemLinks json.RawMessage

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

Sensor represents the sensors located in the chassis and sub-components. (v1.9+)

func GetSensor added in v0.15.0

func GetSensor(c common.Client, uri string) (*Sensor, error)

GetSensor will get a Sensor instance from the Redfish service.

func ListReferencedSensors added in v0.15.0

func ListReferencedSensors(c common.Client, link string) ([]*Sensor, error)

ListReferencedSensor gets the Sensor collection.

func (*Sensor) ResetMetrics added in v0.15.0

func (sensor *Sensor) ResetMetrics() error

func (*Sensor) ResetToDefaults added in v0.15.0

func (sensor *Sensor) ResetToDefaults() error

Available for redfish v1.6+

func (*Sensor) UnmarshalJSON added in v0.15.0

func (sensor *Sensor) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a NetworkAdapter object from the raw JSON.

type SensorArrayExcerpt added in v0.16.0

type SensorArrayExcerpt struct {
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string
	// DeviceName shall contain the name of the device associated with this sensor. If the device is represented by a
	// resource, the value shall contain the value of the Name property of the associated resource.
	DeviceName string
	// PhysicalContext shall contain a description of the affected component or region within the equipment to which
	// this sensor measurement applies.
	PhysicalContext PhysicalContext
	// PhysicalSubContext shall contain a description of the usage or sub-region within the equipment to which this
	// sensor measurement applies. This property generally differentiates multiple sensors within the same
	// PhysicalContext instance.
	PhysicalSubContext PhysicalSubContext
	// Reading shall contain the sensor value.
	Reading float64
}

SensorArrayExcerpt shall represent a sensor for a Redfish implementation.

type SensorCurrentExcerpt added in v0.16.0

type SensorCurrentExcerpt struct {
	// CrestFactor shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over
	// same N line cycles. A sine wave would have a value of 1.414.
	CrestFactor float64
	// DataSourceUri shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string `json:"DataSourceUri"`
	// Reading shall contain the sensor value.
	Reading float64
	// THDPercent shall contain the total harmonic distortion of the Reading property in percent units, typically '0'
	// to '100'.
	THDPercent float64
}

SensorCurrentExcerpt shall represent a sensor for a Redfish implementation.

type SensorEnergykWhExcerpt added in v0.15.0

type SensorEnergykWhExcerpt struct {
	// The apparent energy, in kilovolt-ampere-hour units
	// for an electrical energy measurement.
	ApparentkVAh float32
	// The link to the resource that provides the data for this sensor.
	DataSourceURI string `json:"DataSourceUri"`
	// The total accumulation value for this sensor.
	LifetimeReading float32
	// The reactive energy, in kilovolt-ampere-hours (reactive) units
	// for an electrical energy measurement.
	ReactivekVARh float32
	// The sensor value.
	Reading float32
	// The date and time when the time-based properties were last reset.
	SensorResetTime string
}

Energy consumption (kWh).

type SensorExcerpt added in v0.15.0

type SensorExcerpt struct {
	// The link to the resource that provides the data for this sensor.
	DataSourceURI string `json:"DataSourceUri"`
	// The sensor value.
	Reading float32
}

SensorExcerpt shall represent a sensor for a Redfish implementation.

type SensorFanArrayExcerpt added in v0.16.0

type SensorFanArrayExcerpt struct {
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string
	// DeviceName shall contain the name of the device associated with this sensor. If the device is represented by a
	// resource, the value shall contain the value of the Name property of the associated resource.
	DeviceName string
	// PhysicalContext shall contain a description of the affected component or region within the equipment to which
	// this sensor measurement applies.
	PhysicalContext PhysicalContext
	// PhysicalSubContext shall contain a description of the usage or sub-region within the equipment to which this
	// sensor measurement applies. This property generally differentiates multiple sensors within the same
	// PhysicalContext instance.
	PhysicalSubContext PhysicalSubContext
	// Reading shall contain the sensor value.
	Reading float64
	// SpeedRPM shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.
	SpeedRPM float64
}

SensorFanArrayExcerpt shall represent a sensor for a Redfish implementation.

type SensorFanExcerpt added in v0.16.0

type SensorFanExcerpt struct {
	// DataSourceURI shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string
	// Reading shall contain the sensor value.
	Reading float64
	// SpeedRPM shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.
	SpeedRPM float64
}

SensorFanExcerpt shall represent a sensor for a Redfish implementation.

type SensorImplementation added in v0.15.0

type SensorImplementation string

The implementation of the sensor.

const (
	// The reading is acquired from a physical sensor.
	PhysicalSensorImplementation SensorImplementation = "PhysicalSensor"
	// The reading is obtained from software or a device.
	ReportedImplementation SensorImplementation = "Reported"
	// The reading is obtained by applying a calculation
	// on one or more properties or multiple sensors.
	// The calculation is not provided.
	SynthesizedImplementation SensorImplementation = "Synthesized"
)

type SensorPowerArrayExcerpt added in v0.16.0

type SensorPowerArrayExcerpt struct {
	// ApparentVA shall contain the product of voltage (RMS) multiplied by current (RMS) for a circuit. This property
	// can appear in sensors of the Power ReadingType, and shall not appear in sensors of other ReadingType values.
	ApparentVA float64
	// DataSourceUri shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string
	// PhaseAngleDegrees shall contain the phase angle, in degree units, between the current and voltage waveforms for
	// an electrical measurement. This property can appear in sensors with a ReadingType containing 'Power', and shall
	// not appear in sensors with other ReadingType values.
	PhaseAngleDegrees float64
	// PhysicalContext shall contain a description of the affected component or region within the equipment to which
	// this sensor measurement applies.
	PhysicalContext PhysicalContext
	// PhysicalSubContext shall contain a description of the usage or sub-region within the equipment to which this
	// sensor measurement applies. This property generally differentiates multiple sensors within the same
	// PhysicalContext instance.
	PhysicalSubContext PhysicalSubContext
	// PowerFactor shall identify the quotient of real power (W) and apparent power (VA) for a circuit. PowerFactor is
	// expressed in unit-less 1/100ths. This property can appear in sensors containing a ReadingType value of 'Power',
	// and shall not appear in sensors of other ReadingType values.
	PowerFactor float64
	// ReactiveVAR shall contain the arithmetic mean of product terms of instantaneous voltage and quadrature current
	// measurements calculated over an integer number of line cycles for a circuit. This property can appear in sensors
	// of the Power ReadingType, and shall not appear in sensors of other ReadingType values.
	ReactiveVAR float64
	// Reading shall contain the sensor value.
	Reading float64
}

type SensorPowerExcerpt added in v0.15.0

type SensorPowerExcerpt struct {
	// The product of voltage and current for an AC circuit, in volt-ampere units.
	ApparentVA float32
	// The link to the resource that provides the data for this sensor.
	DataSourceURI string `json:"DataSourceUri"`
	// The phase angle (degrees) between the current and voltage waveforms.
	PhaseAngleDegrees float32
	// The quotient of real power (W) and apparent power (VA) for a circuit.
	// PowerFactor is expressed in unit-less 1/100ths.
	PowerFactor float32
	// The square root of the difference term of squared apparent VA and
	// squared power (Reading) for a circuit, in VAR units.
	ReactiveVAR float32
	// The sensor value.
	Reading float32
}

Power consumption (W).

type SensorPumpExcerpt added in v0.16.0

type SensorPumpExcerpt struct {
	// DataSourceUri shall contain a URI to the resource that provides the source of the excerpt contained within this
	// copy.
	DataSourceURI string `json:"DataSourceUri"`
	// Reading shall contain the sensor value.
	Reading float64
	// SpeedRPM shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units.
	SpeedRPM float64
}

SensorPumpExcerpt shall represent a sensor for a Redfish implementation.

type SensorType

type SensorType string
const (

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

type SensorVoltageExcerpt added in v0.15.0

type SensorVoltageExcerpt struct {
	// (v1.1+) The crest factor for this sensor.
	// The ratio of the peak measurement divided by the RMS measurement
	// and calculated over same N line cycles.
	CrestFactor float32
	// The link to the resource that provides the data for this sensor.
	DataSourceURI string `json:"DataSourceUri"`
	// The sensor value.
	Reading float32
	// (v1.1+) The total harmonic distortion (THD).
	THDPercent float32
}

Voltage consumption (V).

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 SerialConnectionFlowControl added in v0.15.0

type SerialConnectionFlowControl string

The type of flow control, if any, that is imposed on the serial connection.

const (
	// Out-of-band flow control imposed.
	HardwareSerialConnectionFlowControl SerialConnectionFlowControl = "Hardware"
	// No flow control imposed.
	NoneSerialConnectionFlowControl SerialConnectionFlowControl = "None"
	// XON/XOFF in-band flow control imposed.
	SoftwareSerialConnectionFlowControl SerialConnectionFlowControl = "Software"
)

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 SerialConsoleProtocol added in v0.16.0

type SerialConsoleProtocol struct {
	// ConsoleEntryCommand shall contain a command string that can be provided by a client to select or enter the
	// system's serial console, when the console is shared among several systems or a manager CLI.
	ConsoleEntryCommand string
	// HotKeySequenceDisplay shall contain a string that can be provided to a user to describe the hotkey sequence used
	// to exit the serial console session, or, if shared with a manager CLI, to return to the CLI.
	HotKeySequenceDisplay string
	// Port shall contain the port assigned to the protocol.
	Port int
	// ServiceEnabled shall indicate whether the protocol for the service is enabled.
	ServiceEnabled bool
	// SharedWithManagerCLI shall indicate whether the serial console service is shared with access to the manager's
	// command-line interface (CLI).
	SharedWithManagerCLI bool
}

SerialConsoleProtocol shall describe a serial console service for a computer system.

type SerialInterface added in v0.15.0

type SerialInterface 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

	BitRate          BitRate
	ConnectorType    ConnectorType
	DataBits         DataBits
	FlowControl      SerialConnectionFlowControl
	InterfaceEnabled bool
	Parity           Parity
	PinOut           PinOutConfiguration
	SignalType       SignalType
	StopBits         StopBits
	Oem              json.RawMessage

	// OemActions contains all the vendor specific actions.
	// It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// contains filtered or unexported fields
}

SerialInterface is used to represent Serial Interface resources as part of the Redfish specification.

func GetSerialInterface added in v0.15.0

func GetSerialInterface(c common.Client, uri string) (*SerialInterface, error)

GetSerialInterface will get a SerialInterface instance from the service.

func ListReferencedSerialInterfaces added in v0.15.0

func ListReferencedSerialInterfaces(c common.Client, link string) ([]*SerialInterface, error)

ListReferencedSerialInterfaces gets the collection of SerialInterface from a provided reference.

func (*SerialInterface) UnmarshalJSON added in v0.15.0

func (serialInterface *SerialInterface) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SerialInterface object from the raw JSON.

func (*SerialInterface) Update added in v0.15.0

func (serialInterface *SerialInterface) Update() error

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

type ServiceConditions added in v0.16.0

type ServiceConditions 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"`
	// Conditions shall represent a roll-up of the active conditions requiring attention in resources of this Redfish
	// service. The service may roll up any number of conditions originating from resources in the service, using the
	// 'ConditionInRelatedResource' message from Base Message Registry.
	Conditions []Condition
	// Description provides a description of this resource.
	Description string
	// HealthRollup shall contain the highest severity of any messages included in the Conditions property.
	HealthRollup common.Health
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

ServiceConditions shall be used to represent the overall conditions present in a service for a Redfish implementation.

func GetServiceConditions added in v0.16.0

func GetServiceConditions(c common.Client, uri string) (*ServiceConditions, error)

GetServiceConditions will get a ServiceConditions instance from the service.

func ListReferencedServiceConditionss added in v0.16.0

func ListReferencedServiceConditionss(c common.Client, link string) ([]*ServiceConditions, error)

ListReferencedServiceConditionss gets the collection of ServiceConditions from a provided reference.

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"`
	// ClientOriginIPAddress shall contain the IP address of the client that created the session.
	ClientOriginIPAddress string
	// Context shall contain a client-supplied context that remains with the session through the session's lifetime.
	Context string
	// CreatedTime shall contain the date and time when the session was created.
	CreatedTime string
	// 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
	// Roles shall contain the Redfish roles that contain the privileges of this session.
	Roles []string
	// SessionType shall represent the type of session that is currently active.
	SessionType SessionTypes
	// Token shall contain the multi-factor authentication token for this session. The value shall be 'null' in
	// responses.
	Token string
	// UserName shall be the UserName that matches a registered account
	// identified by a ManagerAccount resource registered with the Account
	// Service.
	UserName string
	// contains filtered or unexported fields
}

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

func (*Session) OutboundConnection added in v0.16.0

func (session *Session) OutboundConnection() (*OutboundConnection, error)

OutboundConnection gets the outbound connection associated with this session.

func (*Session) UnmarshalJSON added in v0.16.0

func (session *Session) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Session object from the raw JSON.

type SessionService added in v0.16.0

type SessionService 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ServiceEnabled shall indicate whether this service is enabled. If 'true', this service is enabled. If 'false',
	// it is disabled, and new sessions shall not be created, old sessions shall not be deleted, and established
	// sessions can continue operating.
	ServiceEnabled bool
	// SessionTimeout shall contain the threshold of time in seconds between requests on a specific session at which
	// point the session service shall close the session due to inactivity. The session service shall support any value
	// between the Validation.Minimum and Validation.Maximum.
	SessionTimeout int

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

SessionService This resource contains the session service properties for a Redfish implementation.

func GetSessionService added in v0.16.0

func GetSessionService(c common.Client, uri string) (*SessionService, error)

GetSessionService will get a SessionService instance from the service.

func ListReferencedSessionServices added in v0.16.0

func ListReferencedSessionServices(c common.Client, link string) ([]*SessionService, error)

ListReferencedSessionServices gets the collection of SessionService from a provided reference.

func (*SessionService) Sessions added in v0.16.0

func (sessionservice *SessionService) Sessions() ([]*Session, error)

Sessions gets a collection of sessions.

func (*SessionService) UnmarshalJSON added in v0.16.0

func (sessionservice *SessionService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SessionService object from the raw JSON.

func (*SessionService) Update added in v0.16.0

func (sessionservice *SessionService) Update() error

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

type SessionTypes

type SessionTypes string

SessionTypes is the type of session.

const (
	// HostConsoleSessionTypes shall indicate the session is the host's console, which could be connected through
	// Telnet, SSH, or another protocol. If this session is terminated or deleted, the service shall close the
	// connection for the respective host console session.
	HostConsoleSessionTypes SessionTypes = "HostConsole"
	// ManagerConsoleSessionTypes shall indicate the session is the manager's console, which could be connected through
	// Telnet, SSH, SM CLP, or another protocol. If this session is terminated or deleted, the service shall close the
	// connection for the respective manager console session.
	ManagerConsoleSessionTypes SessionTypes = "ManagerConsole"
	// IPMISessionTypes shall indicate the session is an Intelligent Platform Management Interface session. If this
	// session is terminated or deleted, the service shall close the connection for the respective IPMI session.
	IPMISessionTypes SessionTypes = "IPMI"
	// KVMIPSessionTypes shall indicate the session is a Keyboard-Video-Mouse over IP session. If this session is
	// terminated or deleted, the service shall close the connection for the respective KVM-IP session.
	KVMIPSessionTypes SessionTypes = "KVMIP"
	// OEMSessionTypes shall indicate the session is an OEM-specific session and is further described by the
	// OemSessionType property.
	OEMSessionTypes SessionTypes = "OEM"
	// RedfishSessionTypes shall indicate the session is a Redfish session defined by the 'Redfish session login
	// authentication' clause of the Redfish Specification. If this session is terminated or deleted, the service shall
	// invalidate the respective session token.
	RedfishSessionTypes SessionTypes = "Redfish"
	// VirtualMediaSessionTypes shall indicate the session is a virtual media session. If this session is terminated or
	// deleted, the service shall close the connection for the respective virtual media session and make the media
	// inaccessible to the host.
	VirtualMediaSessionTypes SessionTypes = "VirtualMedia"
	// WebUISessionTypes shall indicate the session is a non-Redfish web user interface session. If this session is
	// terminated or deleted, the service shall invalidate the respective session token.
	WebUISessionTypes SessionTypes = "WebUI"
	// OutboundConnectionSessionTypes shall indicate the session is an outbound connection defined by the 'Outbound
	// connections' clause of the Redfish Specification. The 'OutboundConnection' property inside the 'Links' property
	// shall contain the link to the outbound connection configuration. If this session is terminated or deleted, the
	// service shall disable the associated 'OutboundConnection' resource.
	OutboundConnectionSessionTypes SessionTypes = "OutboundConnection"
)

type SetPointType added in v0.16.0

type SetPointType string
const (
	// SingleSetPointType shall indicate the control utilizes a single set point for its operation. The SetPoint
	// property shall be present for this control type. The SettingMin and SettingMax properties shall not be present
	// for this control type.
	SingleSetPointType SetPointType = "Single"
	// RangeSetPointType shall indicate the control utilizes a set point range for its operation. The SettingMin and
	// SettingMax properties shall be present for this control type. The SetPoint property shall not be present for
	// this control type.
	RangeSetPointType SetPointType = "Range"
)

type Settings added in v0.16.0

type Settings struct {
	// ETag shall contain the entity tag (ETag) of the resource to which the settings were applied, after the
	// application. The client can check this value against the ETag of this resource to determine whether the resource
	// had other changes.
	ETag string
	// MaintenanceWindowResource shall contain a link to a resource that contains the @Redfish.MaintenanceWindow
	// property that governs this resource. This property should be supported if the SupportedApplyTimes property
	// contains 'AtMaintenanceWindowStart' or 'InMaintenanceWindowOnReset'.
	MaintenanceWindowResource string
	// Messages shall contain an array of messages associated with the settings.
	Messages []Message
	// SettingsObject shall contain the URI of the resource that the client can PUT or PATCH to modify the resource.
	SettingsObject string
	// SupportedApplyTimes shall contain the supported apply time values a client is allowed to request when
	// configuring the settings apply time. Services that do not support clients configuring the apply time can support
	// this property with a single array member in order to inform the client when the settings will be applied.
	SupportedApplyTimes []ApplyTime
	// Time shall indicate the time when the settings were applied to the resource.
	Time string
}

Settings shall describe any settings of a resource.

type SettingsAttributes added in v0.14.0

type SettingsAttributes map[string]interface{}

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

func (SettingsAttributes) Bool added in v0.14.0

func (ba SettingsAttributes) Bool(name string) bool

Bool gets the value as a boolean or returns false.

func (SettingsAttributes) Float64 added in v0.14.0

func (ba SettingsAttributes) Float64(name string) float64

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

func (SettingsAttributes) Int added in v0.14.0

func (ba SettingsAttributes) Int(name string) int

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

func (SettingsAttributes) String added in v0.14.0

func (ba SettingsAttributes) String(name string) string

String gets the string representation of the attribute value.

type SignalType added in v0.15.0

type SignalType string

The type of signal used for the communication connection.

const (
	// The serial interface follows RS232.
	Rs232SignalType SignalType = "Rs232"
	// The serial interface follows RS485.
	Rs485SignalType SignalType = "Rs485"
)

type Signature added in v0.16.0

type Signature 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// SignatureString shall contain the string of the signature, and the format shall follow the requirements
	// specified by the value of the SignatureType property. If the signature contains any private keys, they shall be
	// removed from the string in responses. If the private key for the signature is not known by the service and is
	// needed to use the signature, the client shall provide the private key as part of the string in the POST request.
	SignatureString string
	// SignatureType shall contain the format type for the signature. The format is qualified by the value of the
	// SignatureTypeRegistry property.
	SignatureType string
	// SignatureTypeRegistry shall contain the type for the signature.
	SignatureTypeRegistry SignatureTypeRegistry
	// UefiSignatureOwner shall contain the GUID of the UEFI signature owner for this signature as defined by the UEFI
	// Specification. This property shall only be present if the SignatureTypeRegistry property is 'UEFI'.
	UefiSignatureOwner string
}

Signature This resource contains a signature for a Redfish implementation.

func GetSignature added in v0.16.0

func GetSignature(c common.Client, uri string) (*Signature, error)

GetSignature will get a Signature instance from the service.

func ListReferencedSignatures added in v0.16.0

func ListReferencedSignatures(c common.Client, link string) ([]*Signature, error)

ListReferencedSignatures gets the collection of Signature from a provided reference.

type SignatureTypeRegistry added in v0.16.0

type SignatureTypeRegistry string
const (
	// UEFISignatureTypeRegistry denotes a signature defined in the UEFI Specification.
	UEFISignatureTypeRegistry SignatureTypeRegistry = "UEFI"
)

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"`
	// 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) Storage added in v0.16.0

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

Storage 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 SimpleUpdateParameters added in v0.16.0

type SimpleUpdateParameters struct {
	// ForceUpdate is an indication of whether the service should bypass update policies when
	// applying the provided image. The default is `false`."
	ForceUpdate bool `json:",omitempty"`
	// ImageURI is the URI of the software image to install.
	ImageURI string
	// Password to access the URI specified by the ImageURI parameter.
	Passord string `json:",omitempty"`
	// Targets shall contain zero or more URIs that indicate where to apply the update image.
	// These targets should correspond to software inventory instances or their related items.
	// If this parameter is not present or contains no targets, the service shall apply the
	// software image to all applicable targets, as determined by the service.
	// If the target specifies a device resource, the software image file shall be applied to
	// the specified device. If the target specifies a resource collection, the software image
	// shall be applied to each applicable member of the specified collection.
	// If the target resource specifies an Aggregate resource, the software image file shall be
	// applied to each applicable element of the specified aggregate. If the target resource
	// specifies a ComputerSystem resource, the software image file shall be applied to the
	// applicable components within the specified computer system.
	Targets []string `json:",omitempty"`
	// TransferProtocol shall contain the network protocol that the update service shall use to
	// retrieve the software image located at the ImageURI. Services should ignore this
	// parameter if the URI provided in ImageURI contains a scheme. If this parameter is not
	// provided (or supported), and a transfer protocol is not specified by a scheme contained
	// within this URI, the service shall use HTTP to retrieve the image.
	TransferProtocol TransferProtocolType `json:",omitempty"`
	// Username shall represent the user name to access the URI specified by the ImageURI parameter.
	Username string `json:",omitempty"`
}

SimpleUpdateParameters contains the parameters for the SimpleUpdate action.

type SingleSessionInfo added in v0.16.0

type SingleSessionInfo struct {
	// SessionID shall contain the unique identifier for the active session or communication channel between two
	// components.
	SessionID int `json:"SessionId"`
	// SessionType shall contain the type of session or communication channel between two components.
	SessionType SecureSessionType
}

SingleSessionInfo shall contain information about a single communication channel or session between two components.

type SlotType added in v0.16.0

type SlotType string
const (
	// FullLengthSlotType Full-Length PCIe slot.
	FullLengthSlotType SlotType = "FullLength"
	// HalfLengthSlotType Half-Length PCIe slot.
	HalfLengthSlotType SlotType = "HalfLength"
	// LowProfileSlotType Low-Profile or Slim PCIe slot.
	LowProfileSlotType SlotType = "LowProfile"
	// MiniSlotType Mini PCIe slot.
	MiniSlotType SlotType = "Mini"
	// M2SlotType PCIe M.2 slot.
	M2SlotType SlotType = "M2"
	// OEMSlotType An OEM-specific slot.
	OEMSlotType SlotType = "OEM"
	// OCP3SmallSlotType Open Compute Project 3.0 small form factor slot.
	OCP3SmallSlotType SlotType = "OCP3Small"
	// OCP3LargeSlotType Open Compute Project 3.0 large form factor slot.
	OCP3LargeSlotType SlotType = "OCP3Large"
	// U2SlotType U.2 / SFF-8639 slot or bay.
	U2SlotType SlotType = "U2"
)

type SlotTypes added in v0.15.0

type SlotTypes string
const (
	// Full-Length PCIe slot.
	FullLength SlotTypes = "FullLength"
	// Half-Length PCIe slot.
	HalfLength SlotTypes = "HalfLength"
	// Low-Profile or Slim PCIe slot.
	LowProfile SlotTypes = "LowProfile"
	// PCIe M.2 slot.
	M2 SlotTypes = "M2"
	// Mini PCIe slot.
	Mini SlotTypes = "Mini"
	// (v1.2+) Open Compute Project 3.0 large form factor slot.
	OCP3Large SlotTypes = "OCP3Large"
	// (v1.2+) Open Compute Project 3.0 small form factor slot.
	OCP3Small SlotTypes = "OCP3Small"
	// An OEM-specific slot.
	OEM SlotTypes = "OEM"
	// (v1.3+) U.2 / SFF-8639 slot or bay.
	U2 SlotTypes = "U2"
)

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"`
	// AdditionalVersions shall contain the additional versions of this software.
	AdditionalVersions AdditionalVersions
	// AssociatedPhysicalContext shall contain a description of the physical context for the software inventory data.
	AssociatedPhysicalContext PhysicalContext
	// Description provides a description of this resource.
	Description string
	// LowestSupportedVersion is used for the Version property.
	LowestSupportedVersion string
	// Manufacturer is represents the name of the
	// manufacturer or producer of this software.
	Manufacturer string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage

	// RelatedItemCount is the number of related items.
	RelatedItemCount int `json:"RelatedItem@odata.count"`
	// ReleaseDate is 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 represents an implementation-specific
	// label that identifies this software.  This string correlates with a
	// component repository or database.
	SoftwareID string
	// Status is any status or health properties of the Resource.
	Status common.Status
	// UefiDevicePaths is 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 the version of this software.
	Version string
	// VersionScheme shall describe the scheme used to format the value of the Version property.
	VersionScheme VersionScheme
	// 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
	// contains filtered or unexported fields
}

SoftwareInventory is 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.

func (*SoftwareInventory) UnmarshalJSON added in v0.16.0

func (softwareinventory *SoftwareInventory) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SoftwareInventory object from the raw JSON.

func (*SoftwareInventory) Update added in v0.16.0

func (softwareinventory *SoftwareInventory) Update() error

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

type Stanza added in v0.16.0

type Stanza struct {
	// OEMStanzaType shall contain the OEM-defined type of stanza. This property shall be present if StanzaType is
	// 'OEM'.
	OEMStanzaType string
	// Request shall contain the request details for the stanza, and the contents vary depending on the value of the
	// StanzaType property.
	Request json.RawMessage
	// Response shall contain the response details for the stanza, and the contents vary depending on the value of the
	// StanzaType property.
	Response json.RawMessage
	// StanzaID shall contain the identifier of the stanza.
	StanzaID string `json:"StanzaId"`
	// StanzaType shall contain the type of stanza.
	StanzaType StanzaType
}

Stanza shall contain properties that describe a request to be fulfilled within a manifest.

type StanzaType added in v0.16.0

type StanzaType string
const (
	// ComposeSystemStanzaType shall indicate a stanza that describes the specific, constrained, or mixed resources
	// required to compose a computer system. The resource blocks assigned to the computer system shall be moved to the
	// active pool. The Request property of the stanza shall contain a resource of type ComputerSystem that represents
	// the composition request. The Response property of the stanza shall contain a resource of type ComputerSystem
	// that represents the composed system or a Redfish Specification-defined error response.
	ComposeSystemStanzaType StanzaType = "ComposeSystem"
	// DecomposeSystemStanzaType shall indicate a stanza that references a computer system to decompose and return the
	// resource blocks to the free pool that are no longer contributing to composed resources. The Request property of
	// the stanza shall be a Redfish Specification-defined reference object containing a reference to the resource of
	// type ComputerSystem to decompose. The Response property of the stanza shall contain a resource of type
	// ComputerSystem that represents the decomposed system or a Redfish Specification-defined error response.
	DecomposeSystemStanzaType StanzaType = "DecomposeSystem"
	// ComposeResourceStanzaType shall indicate a stanza that describes a composed resource block. The resource blocks
	// assigned to the composed resource block shall be moved to the active pool. The Request property of the stanza
	// shall contain a resource of type ResourceBlock that represents the composition request. The Response property of
	// the stanza shall contain a resource of type ResourceBlock that represents the composed resource block or a
	// Redfish Specification-defined error response.
	ComposeResourceStanzaType StanzaType = "ComposeResource"
	// DecomposeResourceStanzaType shall indicate a stanza that references a composed resource block to decompose and
	// return the resource blocks to the free pool that are no longer contributing to composed resources. The Request
	// property of the stanza shall be a reference object as defined by the 'Reference properties' clause of the
	// Redfish Specification containing a reference to the resource of type ResourceBlock to decompose. The Response
	// property of the stanza shall contain a resource of type ResourceBlock that represents the decomposed resource
	// block or a Redfish Specification-defined error response.
	DecomposeResourceStanzaType StanzaType = "DecomposeResource"
	// OEMStanzaType shall indicate a stanza that describes an OEM-specific request. The OEMStanzaType property shall
	// contain the specific OEM stanza type.
	OEMStanzaType StanzaType = "OEM"
	// RegisterResourceBlockStanzaType shall indicate a stanza that references a resource to create a resource block
	// that references the resource and add it to the free pool. The Request property of the stanza shall contain a
	// resource of type ResourceBlock that represents the registration request. The Response property of the stanza
	// shall contain a resource of type ResourceBlock that represents the composed system or a Redfish Specification-
	// defined error response.
	RegisterResourceBlockStanzaType StanzaType = "RegisterResourceBlock"
)

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 StopBits added in v0.15.0

type StopBits string

The period of time before the next start bit is transmitted.

type StopBootOnFault added in v0.16.0

type StopBootOnFault string
const (
	// NeverStopBootOnFault shall indicate the system will continue to attempt to boot if a fault occurs.
	NeverStopBootOnFault StopBootOnFault = "Never"
	// AnyFaultStopBootOnFault shall indicate the system will stop the boot if a fault occurs. This includes, but is
	// not limited to, faults that affect performance, fault tolerance, or capacity.
	AnyFaultStopBootOnFault StopBootOnFault = "AnyFault"
)

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"`
	// AutoVolumeCreate shall indicate if volumes are created automatically for each unassigned drive attached to this
	// storage subsystem.
	AutoVolumeCreate AutoVolumeCreate

	// Description provides a description of this resource.
	Description string

	// DrivesCount is the number of drives.
	DrivesCount int `json:"Drives@odata.count"`
	// EncryptionMode shall contain the encryption mode of this storage subsystem.
	EncryptionMode EncryptionMode

	// HotspareActivationPolicy shall contain the policy under which all drives operating as hot spares in this storage
	// domain will activate.
	HotspareActivationPolicy HotspareActivationPolicy
	// Identifiers shall contain a list of all known durable names for the storage subsystem.
	Identifiers []common.Identifier
	// LocalEncryptionKeyIdentifier shall contain the local encryption key identifier used by the storage subsystem
	// when EncryptionMode contains 'UseLocalKey'.
	LocalEncryptionKeyIdentifier string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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.
	// This property has been deprecated in favor of Controllers to allow for storage controllers to be represented as their own resources.
	StorageControllers []StorageController
	// StorageControllersCount is the number of storage controllers.
	StorageControllersCount int `json:"StorageControllers@odata.count"`

	// EnclosuresCount is the number of enclosures.
	EnclosuresCount int

	// HostingStorageSystemsCount is the number of hosting storage systems.
	HostingStorageSystemsCount int

	// NVMeoFDiscoverySubsystemsCount is the number of NVMeoFDiscoverySubsystems.
	NVMeoFDiscoverySubsystemsCount int

	// StorageServicesCount is the number of storage services.
	StorageServicesCount int

	// Oem are all OEM data under top level storage section
	Oem json.RawMessage
	// 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) Connections added in v0.16.0

func (storage *Storage) Connections() ([]*Connection, error)

Connection gets the connections that this storage subsystem contains.

func (*Storage) Controllers added in v0.16.0

func (storage *Storage) Controllers() ([]*StorageController, error)

Controllers gets the set of storage controllers allocated to this storage subsystem.

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) EndpointGroups added in v0.16.0

func (storage *Storage) EndpointGroups() ([]*EndpointGroup, error)

EndpointGroups gets the set of endpoints that are used for a common purpose such as an ACL or logical identification, that belong to this storage subsystem.

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) HostingStorageSystems added in v0.16.0

func (storage *Storage) HostingStorageSystems() ([]*ComputerSystem, error)

HostingStorageSystems gets the storage systems that host this storage subsystem.

func (*Storage) NVMeoFDiscoverySubsystems added in v0.16.0

func (storage *Storage) NVMeoFDiscoverySubsystems() ([]*Storage, error)

NVMeoFDiscoverySubsystems gets the discovery subsystems that discovered this subsystem in an NVMe-oF environment.

func (*Storage) ResetToDefaults added in v0.16.0

func (storage *Storage) ResetToDefaults(resetType StorageResetToDefaultsType) error

ResetToDefaults resets the storage device to factory defaults. This can cause the loss of data.

func (*Storage) SetEncryptionKey

func (storage *Storage) SetEncryptionKey(key, currentEncryptionKey, encryptionKeyIdentifier string) error

SetEncryptionKey shall set the encryption key for the storage subsystem.

`key` is the local encryption key to set on the storage subsystem.

`currentEncryptionKey` (optional since v1.14.0) is the current local encryption key on the storage subsystem. Services may reject the action request if this parameter is not provided.

`encryptionKeyIdentifier` (optional) is the local encryption key identifier used by the storage subsystem.

func (*Storage) SimpleStorage added in v0.16.0

func (storage *Storage) SimpleStorage() (*SimpleStorage, error)

SimpleStorage gets the simple storage instance that corresponds to this storage.

func (*Storage) UnmarshalJSON

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

UnmarshalJSON unmarshals a Storage object from the raw JSON.

func (*Storage) Update added in v0.16.0

func (storage *Storage) Update() error

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

func (*Storage) Volumes

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

Volumes gets the volumes associated with this storage subsystem.

type StorageAccessCapability added in v0.16.0

type StorageAccessCapability string
const (
	// AppendStorageAccessCapability is AppendOnly.
	AppendStorageAccessCapability StorageAccessCapability = "Append"
	// ExecuteStorageAccessCapability is Execute access is allowed by the file share.
	ExecuteStorageAccessCapability StorageAccessCapability = "Execute"
	// ReadStorageAccessCapability is Read.
	ReadStorageAccessCapability StorageAccessCapability = "Read"
	// StreamingStorageAccessCapability is Streaming.
	StreamingStorageAccessCapability StorageAccessCapability = "Streaming"
	// WriteStorageAccessCapability is Write Many.
	WriteStorageAccessCapability StorageAccessCapability = "Write"
	// WriteOnceStorageAccessCapability is write once.
	WriteOnceStorageAccessCapability StorageAccessCapability = "WriteOnce"
)

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

	// ControllerRates shall contain all the rate settings available on the controller.
	ControllerRates Rates

	// 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

	// Model shall be the name by which the manufacturer generally refers to the
	// storage controller.
	Model string
	// NVMeControllerProperties shall contain NVMe-related properties for this storage controller.
	NVMeControllerProperties NVMeControllerProperties
	// 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 float32
	// 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

	// AttachedVolumesCount is the number of attached volumes.
	AttachedVolumesCount int

	// BatteriesCount is the number of connected batteries.
	BatteriesCount int

	// EndpointsCount is the number of enclosures.
	EndpointsCount int

	// NVMeDiscoveredSubsystemsCount is the number of discovered NVMe subsystems.
	NVMeDiscoveredSubsystemsCount int

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

	// PCIeFunctionsCount is the number of PCIeFunctions for this storage controller.
	PCIeFunctionsCount int

	// StorageServicesCount is the number of storage services.
	// This property has been deprecated in favor of StorageServices within the Links property at the root level.
	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) Batteries added in v0.17.0

func (storagecontroller *StorageController) Batteries() ([]*Battery, error)

Batteries gets the batteries that provide power to this storage controller during a power-loss event, such as with battery-backed RAID controllers. This property shall not be present if the batteries power the containing chassis as a whole rather than the individual storage controller.

func (*StorageController) Certificates added in v0.16.0

func (storagecontroller *StorageController) Certificates() ([]*Certificate, error)

Certificates gets the storage controller's certificates.

func (*StorageController) Endpoints

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

Endpoints gets the storage controller's endpoints.

func (*StorageController) EnvironmentMetrics added in v0.17.0

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

EnvironmentMetrics gets the environment metrics for this storage controller.

func (*StorageController) Metrics added in v0.17.0

func (storagecontroller *StorageController) Metrics() (*StorageControllerMetrics, error)

Metrics gets the metrics associated with this storage controller.

func (*StorageController) NVMeDiscoveredSubsystems added in v0.17.0

func (storagecontroller *StorageController) NVMeDiscoveredSubsystems() ([]*Storage, error)

NVMeDiscoveredSubsystems gets the storage that represent the NVMe subsystems discovered by this discovery controller. This property shall only be present if ControllerType in NVMeControllerProperties contains 'Discovery'.

func (*StorageController) NetworkDeviceFunctions added in v0.17.0

func (storagecontroller *StorageController) NetworkDeviceFunctions() ([]*NetworkDeviceFunction, error)

NetworkDeviceFunctions the network device functions that provide connectivity to this controller.

func (*StorageController) PCIeFunctions added in v0.16.0

func (storagecontroller *StorageController) PCIeFunctions() ([]*PCIeFunction, error)

PCIeFunctions gets the the PCIe functions that the storage controller produces.

func (*StorageController) Ports added in v0.16.0

func (storagecontroller *StorageController) Ports() ([]*Port, error)

Ports gets the ports that exist on the storage controller.

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 StorageControllerMetrics added in v0.16.0

type StorageControllerMetrics 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"`
	// CorrectableECCErrorCount shall contain the number of correctable errors for the lifetime of memory of the
	// storage controller.
	CorrectableECCErrorCount int
	// CorrectableParityErrorCount shall contain the number of correctable errors for the lifetime of memory of the
	// storage controller.
	CorrectableParityErrorCount int
	// Description provides a description of this resource.
	Description string
	// NVMeSMART shall contain the NVMe SMART metrics for this storage controller as defined by the NVMe SMART/Health
	// Information log page. This property shall only be present for NVMe storage controllers.
	NVMeSMART NVMeSMARTMetrics
	// StateChangeCount shall contain the number of times the State property within the Status property of the parent
	// StorageController resource changed.
	StateChangeCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors for the lifetime of memory of the
	// storage controller.
	UncorrectableECCErrorCount int
	// UncorrectableParityErrorCount shall contain the number of uncorrectable errors for the lifetime of memory of the
	// storage controller.
	UncorrectableParityErrorCount int
}

StorageControllerMetrics shall contain the usage and health statistics for a storage controller in a Redfish implementation.

func GetStorageControllerMetrics added in v0.16.0

func GetStorageControllerMetrics(c common.Client, uri string) (*StorageControllerMetrics, error)

GetStorageControllerMetrics will get a StorageControllerMetrics instance from the service.

func ListReferencedStorageControllerMetricss added in v0.16.0

func ListReferencedStorageControllerMetricss(c common.Client, link string) ([]*StorageControllerMetrics, error)

ListReferencedStorageControllerMetricss gets the collection of StorageControllerMetrics from a provided reference.

type StorageResetToDefaultsType added in v0.16.0

type StorageResetToDefaultsType string
const (
	// ResetAllStorageResetToDefaultsType Reset all settings to factory defaults and remove all volumes.
	ResetAllStorageResetToDefaultsType StorageResetToDefaultsType = "ResetAll"
	// PreserveVolumesStorageResetToDefaultsType Reset all settings to factory defaults but preserve the configured volumes on
	// the controllers.
	PreserveVolumesStorageResetToDefaultsType StorageResetToDefaultsType = "PreserveVolumes"
)

type SubscriptionType

type SubscriptionType string

SubscriptionType is the type of subscription used.

const (
	// RedfishEventSubscriptionType The subscription follows the Redfish Specification for event notifications. To send
	// an event notification, a service sends 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. Protocol 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. Protocol shall specify the appropriate version of SNMP.
	SNMPInformSubscriptionType SubscriptionType = "SNMPInform"
	// SyslogSubscriptionType shall indicate the subscription forwards syslog messages to the event destination.
	// Protocol shall specify the appropriate syslog protocol.
	SyslogSubscriptionType SubscriptionType = "Syslog"
	// OEMSubscriptionType shall indicate an OEM subscription type. The OEMSubscriptionType property shall contain the
	// specific OEM subscription type.
	OEMSubscriptionType SubscriptionType = "OEM"
)

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 SupportedSystem added in v0.15.0

type SupportedSystem struct {
	// The version of the component firmware image to which this attribute registry applies.
	FirmwareVersion string
	// The product name of the computer system to which this attribute registry applies.
	ProductName string
	// The ID of the systems to which this attribute registry applies.
	SystemID string `json:"SystemId"`
}

type SupportedUpdateImageFormatType added in v0.16.0

type SupportedUpdateImageFormatType string
const (
	// PLDMv10SupportedUpdateImageFormatType shall indicate an image that conforms to the v1.0 image format as defined
	// in DMTF DSP0267.
	PLDMv10SupportedUpdateImageFormatType SupportedUpdateImageFormatType = "PLDMv1_0"
	// PLDMv11SupportedUpdateImageFormatType shall indicate an image that conforms to the v1.1 image format as defined
	// in DMTF DSP0267.
	PLDMv11SupportedUpdateImageFormatType SupportedUpdateImageFormatType = "PLDMv1_1"
	// PLDMv12SupportedUpdateImageFormatType shall indicate an image that conforms to the v1.2 image format as defined
	// in DMTF DSP0267.
	PLDMv12SupportedUpdateImageFormatType SupportedUpdateImageFormatType = "PLDMv1_2"
	// PLDMv13SupportedUpdateImageFormatType shall indicate an image that conforms to the v1.3 image format as defined
	// in DMTF DSP0267.
	PLDMv13SupportedUpdateImageFormatType SupportedUpdateImageFormatType = "PLDMv1_3"
	// UEFICapsuleSupportedUpdateImageFormatType shall indicate an image that conforms to the UEFI capsule format as
	// defined in the UEFI Specification.
	UEFICapsuleSupportedUpdateImageFormatType SupportedUpdateImageFormatType = "UEFICapsule"
	// VendorDefinedSupportedUpdateImageFormatType shall indicate a vendor-defined format.
	VendorDefinedSupportedUpdateImageFormatType SupportedUpdateImageFormatType = "VendorDefined"
)

type Switch added in v0.16.0

type Switch 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"`
	// AssetTag shall contain the user-assigned asset tag, which is an identifying string that tracks the drive for
	// inventory purposes.
	AssetTag string
	// CXL shall contain CXL-specific properties for this switch.
	CXL SwitchCXL

	// CurrentBandwidthGbps shall contain the internal unidirectional bandwidth of this switch currently negotiated and
	// running.
	CurrentBandwidthGbps float64
	// Description provides a description of this resource.
	Description string
	// DomainID shall contain the domain ID for this switch. This property has a scope of uniqueness within the fabric
	// of which the switch is a member.
	DomainID int
	// Enabled shall indicate if this switch is enabled.
	Enabled bool
	// EnvironmentMetrics shall contain a link to a resource of type EnvironmentMetrics that specifies the environment
	// metrics for this switch.
	EnvironmentMetrics EnvironmentMetrics
	// FirmwareVersion shall contain the firmware version as defined by the manufacturer for the associated switch.
	FirmwareVersion string
	// IsManaged shall indicate whether this switch is in a managed or unmanaged state.
	IsManaged bool
	// Location shall contain the location information of the associated switch.
	Location common.Location
	// LocationIndicatorActive shall contain the state of the indicator used to physically identify or locate this
	// resource. A write to this property shall update the value of IndicatorLED in this resource, if supported, to
	// reflect the implementation of the locating function.
	LocationIndicatorActive bool

	// Manufacturer shall contain the name of the organization responsible for producing the switch. This organization
	// may be the entity from which the switch is purchased, but this is not necessarily true.
	Manufacturer string
	// MaxBandwidthGbps shall contain the maximum internal unidirectional bandwidth this switch is capable of being
	// configured. If capable of autonegotiation, the switch shall attempt to negotiate to the specified maximum
	// bandwidth.
	MaxBandwidthGbps float64

	// Model shall contain the manufacturer-provided model information of this switch.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the manufacturer-provided part number for the switch.
	PartNumber string

	// PowerState shall contain the power state of the switch.
	PowerState PowerState
	// Redundancy shall contain an array that shows how this switch is grouped with other switches for form redundancy
	// sets.
	Redundancy []Redundancy
	// Redundancy@odata.count
	RedundancyCount int `json:"Redundancy@odata.count"`
	// SKU shall contain the SKU number for this switch.
	SKU string
	// SerialNumber shall contain a manufacturer-allocated number that identifies the switch.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// SupportedProtocols shall contain an array of protocols this switch supports. If the value of SwitchType is
	// 'MultiProtocol', this property shall be required.
	SupportedProtocols []common.Protocol
	// SwitchType shall contain the protocol being sent over this switch. For a switch that supports multiple
	// protocols, the value should be 'MultiProtocol' and the SupportedProtocols property should be used to describe
	// the supported protocols.
	SwitchType common.Protocol
	// TotalSwitchWidth shall contain the number of physical transport lanes, phys, or other physical transport links
	// that this switch contains. For PCIe, this value shall be the lane count.
	TotalSwitchWidth int
	// UUID shall contain a universally unique identifier number for the switch.
	UUID string

	EndpointsCount int

	ManagedByCount int
	// contains filtered or unexported fields
}

Switch This resource contains a switch for a Redfish implementation.

func GetSwitch added in v0.16.0

func GetSwitch(c common.Client, uri string) (*Switch, error)

GetSwitch will get a Switch instance from the service.

func ListReferencedSwitches added in v0.16.0

func ListReferencedSwitches(c common.Client, link string) ([]*Switch, error)

ListReferencedSwitches gets the collection of Switch from a provided reference.

func (*Switch) Certificates added in v0.16.0

func (sw *Switch) Certificates() ([]*Certificate, error)

Certificates returns certificates related to this device.

func (*Switch) Chassis added in v0.16.0

func (sw *Switch) Chassis() (*Chassis, error)

Chassis gets the containing chassis of this device.

func (*Switch) Endpoints added in v0.16.0

func (sw *Switch) Endpoints() ([]*Endpoint, error)

Endpoints gets any endpoints associated with this fabric.

func (*Switch) LogServices added in v0.16.0

func (sw *Switch) LogServices() ([]*LogService, error)

LogServices gets the log services related to this device.

func (*Switch) ManagedBy added in v0.16.0

func (sw *Switch) ManagedBy() ([]*Manager, error)

ManagedBy gets the managers of this fabric.

func (*Switch) Metrics added in v0.16.0

func (sw *Switch) Metrics() (*SwitchMetrics, error)

Metrics gets the switch metrics related to this device.

func (*Switch) PCIeDevice added in v0.16.0

func (sw *Switch) PCIeDevice() (*PCIeDevice, error)

PCIeDevice gets the PCIe device providing this switch.

func (*Switch) Ports added in v0.16.0

func (sw *Switch) Ports() ([]*Port, error)

Ports gets the ports related to this device.

func (*Switch) Reset added in v0.16.0

func (sw *Switch) Reset(resetType ResetType) error

Reset resets this switch.

func (*Switch) UnmarshalJSON added in v0.16.0

func (sw *Switch) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Switch object from the raw JSON.

func (*Switch) Update added in v0.16.0

func (sw *Switch) Update() error

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

type SwitchCXL added in v0.16.0

type SwitchCXL struct {
	// MaxVCSsSupported shall contain the maximum number of Virtual CXL Switches (VCSs) supported in this switch.
	MaxVCSsSupported string
	// TotalNumbervPPBs shall contain the total number of virtual PCI-to-PCI bridges (vPPBs) supported in this switch.
	TotalNumbervPPBs string
	// VCS shall contain Virtual CXL Switch (VCS) properties for this switch.
	VCS string
}

SwitchCXL shall contain CXL-specific properties for a switch.

type SwitchMetricCurrentPeriod added in v0.16.0

type SwitchMetricCurrentPeriod struct {
	// CorrectableECCErrorCount shall contain the number of correctable errors of memory since reset.
	CorrectableECCErrorCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors of memory since reset.
	UncorrectableECCErrorCount int
}

SwitchMetricCurrentPeriod shall describe the memory metrics since the last reset or ClearCurrentPeriod action for a switch.

type SwitchMetricLifeTime added in v0.16.0

type SwitchMetricLifeTime struct {
	// CorrectableECCErrorCount shall contain the number of correctable errors for the lifetime of memory.
	CorrectableECCErrorCount int
	// UncorrectableECCErrorCount shall contain the number of uncorrectable errors for the lifetime of memory.
	UncorrectableECCErrorCount int
}

SwitchMetricLifeTime shall describe the memory metrics since manufacturing for a switch.

type SwitchMetrics added in v0.16.0

type SwitchMetrics 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
	// InternalMemoryMetrics shall contain properties that describe the memory metrics for a switch.
	InternalMemoryMetrics InternalMemoryMetrics
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PCIeErrors shall contain the PCIe errors associated with this switch.
	PCIeErrors PCIeErrors
	// contains filtered or unexported fields
}

SwitchMetrics shall represent the metrics for a switch device in a Redfish implementation.

func GetSwitchMetrics added in v0.16.0

func GetSwitchMetrics(c common.Client, uri string) (*SwitchMetrics, error)

GetSwitchMetrics will get a SwitchMetrics instance from the service.

func ListReferencedSwitchMetricss added in v0.16.0

func ListReferencedSwitchMetricss(c common.Client, link string) ([]*SwitchMetrics, error)

ListReferencedSwitchMetricss gets the collection of SwitchMetrics from a provided reference.

func (*SwitchMetrics) ClearCurrentPeriod added in v0.16.0

func (switchmetrics *SwitchMetrics) ClearCurrentPeriod() error

ClearCurrentPeriod sets the CurrentPeriod property's values to 0.

func (*SwitchMetrics) UnmarshalJSON added in v0.16.0

func (switchmetrics *SwitchMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a SwitchMetrics object from the raw JSON.

type SyslogFacility added in v0.16.0

type SyslogFacility string

SyslogFacility shall specify the syslog facility codes as program types. Facility values are described in the RFC5424.

const (
	// KernSyslogFacility Kernel messages.
	KernSyslogFacility SyslogFacility = "Kern"
	// UserSyslogFacility User-level messages.
	UserSyslogFacility SyslogFacility = "User"
	// MailSyslogFacility Mail system.
	MailSyslogFacility SyslogFacility = "Mail"
	// DaemonSyslogFacility System daemons.
	DaemonSyslogFacility SyslogFacility = "Daemon"
	// AuthSyslogFacility Security/authentication messages.
	AuthSyslogFacility SyslogFacility = "Auth"
	// SyslogSyslogFacility Messages generated internally by syslogd.
	SyslogSyslogFacility SyslogFacility = "Syslog"
	// LPRSyslogFacility Line printer subsystem.
	LPRSyslogFacility SyslogFacility = "LPR"
	// NewsSyslogFacility Network news subsystem.
	NewsSyslogFacility SyslogFacility = "News"
	// UUCPSyslogFacility UUCP subsystem.
	UUCPSyslogFacility SyslogFacility = "UUCP"
	// CronSyslogFacility Clock daemon.
	CronSyslogFacility SyslogFacility = "Cron"
	// AuthprivSyslogFacility Security/authentication messages.
	AuthprivSyslogFacility SyslogFacility = "Authpriv"
	// FTPSyslogFacility FTP daemon.
	FTPSyslogFacility SyslogFacility = "FTP"
	// NTPSyslogFacility NTP subsystem.
	NTPSyslogFacility SyslogFacility = "NTP"
	// SecuritySyslogFacility Log audit.
	SecuritySyslogFacility SyslogFacility = "Security"
	// ConsoleSyslogFacility Log alert.
	ConsoleSyslogFacility SyslogFacility = "Console"
	// SolarisCronSyslogFacility Scheduling daemon.
	SolarisCronSyslogFacility SyslogFacility = "SolarisCron"
	// Local0SyslogFacility Locally used facility 0.
	Local0SyslogFacility SyslogFacility = "Local0"
	// Local1SyslogFacility Locally used facility 1.
	Local1SyslogFacility SyslogFacility = "Local1"
	// Local2SyslogFacility Locally used facility 2.
	Local2SyslogFacility SyslogFacility = "Local2"
	// Local3SyslogFacility Locally used facility 3.
	Local3SyslogFacility SyslogFacility = "Local3"
	// Local4SyslogFacility Locally used facility 4.
	Local4SyslogFacility SyslogFacility = "Local4"
	// Local5SyslogFacility Locally used facility 5.
	Local5SyslogFacility SyslogFacility = "Local5"
	// Local6SyslogFacility Locally used facility 6.
	Local6SyslogFacility SyslogFacility = "Local6"
	// Local7SyslogFacility Locally used facility 7.
	Local7SyslogFacility SyslogFacility = "Local7"
)

type SyslogFilter added in v0.16.0

type SyslogFilter struct {
	// LogFacilities shall contain the types of programs that can log messages. If this property contains an empty
	// array or is absent, all facilities shall be indicated.
	LogFacilities []SyslogFacility
	// LowestSeverity shall contain the lowest syslog severity level that will be forwarded. The service shall forward
	// all messages equal to or greater than the value in this property. The value 'All' shall indicate all severities.
	LowestSeverity SyslogSeverity
}

SyslogFilter shall contain the filter for a syslog message. The filter shall describe the desired syslog message to forward to a remote syslog server.

type SyslogSeverity added in v0.16.0

type SyslogSeverity string

SyslogSeverity shall specify the syslog severity levels as an application-specific rating used to describe the urgency of the message. 'Emergency' should be reserved for messages indicating the system is unusable and 'Debug' should only be used when debugging a program. Severity values are described in RFC5424.

const (
	// EmergencySyslogSeverity A panic condition.
	EmergencySyslogSeverity SyslogSeverity = "Emergency"
	// AlertSyslogSeverity A condition that should be corrected immediately, such as a corrupted system database.
	AlertSyslogSeverity SyslogSeverity = "Alert"
	// CriticalSyslogSeverity Hard device errors.
	CriticalSyslogSeverity SyslogSeverity = "Critical"
	// ErrorSyslogSeverity An Error.
	ErrorSyslogSeverity SyslogSeverity = "Error"
	// WarningSyslogSeverity A Warning.
	WarningSyslogSeverity SyslogSeverity = "Warning"
	// NoticeSyslogSeverity Conditions that are not error conditions, but that might require special handling.
	NoticeSyslogSeverity SyslogSeverity = "Notice"
	// InformationalSyslogSeverity Informational only.
	InformationalSyslogSeverity SyslogSeverity = "Informational"
	// DebugSyslogSeverity Messages that contain information normally of use only when debugging a program.
	DebugSyslogSeverity SyslogSeverity = "Debug"
	// AllSyslogSeverity A message of any severity.
	AllSyslogSeverity SyslogSeverity = "All"
)

type SystemCapability added in v0.16.0

type SystemCapability string
const (
	// Bridge.
	BridgeSystemCapability SystemCapability = "Bridge"
	// DOCSIS cable device.
	DOCSISCableDeviceSystemCapability SystemCapability = "DOCSISCableDevice"
	// The system capabilities are transmitted, but no capabilities are set.
	NoneSystemCapability SystemCapability = "None"
	// Other.
	OtherSystemCapability SystemCapability = "Other"
	// Repeater.
	RepeaterSystemCapability SystemCapability = "Repeater"
	// Router.
	RouterSystemCapability SystemCapability = "Router"
	// Station.
	StationSystemCapability SystemCapability = "Station"
	// Telephone
	TelephoneSystemCapability SystemCapability = "Telephone"
	// WLAN access point.
	WLANAccessPointSystemCapability SystemCapability = "WLANAccessPoint"
)

type SystemInterfaceType added in v0.16.0

type SystemInterfaceType string
const (
	// QPISystemInterfaceType The Intel QuickPath Interconnect.
	QPISystemInterfaceType SystemInterfaceType = "QPI"
	// UPISystemInterfaceType The Intel UltraPath Interconnect.
	UPISystemInterfaceType SystemInterfaceType = "UPI"
	// PCIeSystemInterfaceType A PCI Express interface.
	PCIeSystemInterfaceType SystemInterfaceType = "PCIe"
	// EthernetSystemInterfaceType An Ethernet interface.
	EthernetSystemInterfaceType SystemInterfaceType = "Ethernet"
	// AMBASystemInterfaceType The Arm Advanced Microcontroller Bus Architecture interface.
	AMBASystemInterfaceType SystemInterfaceType = "AMBA"
	// CCIXSystemInterfaceType The Cache Coherent Interconnect for Accelerators interface.
	CCIXSystemInterfaceType SystemInterfaceType = "CCIX"
	// CXLSystemInterfaceType The Compute Express Link interface.
	CXLSystemInterfaceType SystemInterfaceType = "CXL"
	// OEMSystemInterfaceType An OEM-defined interface.
	OEMSystemInterfaceType SystemInterfaceType = "OEM"
)

type SystemMACRange added in v0.16.0

type SystemMACRange struct {
	// Lower shall contain the lower system Media Access Control (MAC) address to be used as part of a range of system
	// MAC addresses.
	Lower string
	// Upper shall contain the upper system Media Access Control (MAC) address to be used as part of a range of system
	// MAC addresses.
	Upper string
}

SystemMACRange shall contain the Media Access Control (MAC) address range for Ethernet Virtual Private Network (EVPN) based fabrics.

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 TACACSplusPasswordExchangeProtocol added in v0.16.0

type TACACSplusPasswordExchangeProtocol string
const (
	// ASCIITACACSplusPasswordExchangeProtocol shall indicate the ASCII Login flow as described under section 5.4.2 of
	// RFC8907.
	ASCIITACACSplusPasswordExchangeProtocol TACACSplusPasswordExchangeProtocol = "ASCII"
	// PAPTACACSplusPasswordExchangeProtocol shall indicate the PAP Login flow as described under section 5.4.2 of
	// RFC8907.
	PAPTACACSplusPasswordExchangeProtocol TACACSplusPasswordExchangeProtocol = "PAP"
	// CHAPTACACSplusPasswordExchangeProtocol shall indicate the CHAP Login flow as described under section 5.4.2 of
	// RFC8907.
	CHAPTACACSplusPasswordExchangeProtocol TACACSplusPasswordExchangeProtocol = "CHAP"
	// MSCHAPv1TACACSplusPasswordExchangeProtocol shall indicate the MS-CHAP v1 Login flow as described under section
	// 5.4.2 of RFC8907.
	MSCHAPv1TACACSplusPasswordExchangeProtocol TACACSplusPasswordExchangeProtocol = "MSCHAPv1"
	// MSCHAPv2TACACSplusPasswordExchangeProtocol shall indicate the MS-CHAP v2 Login flow as described under section
	// 5.4.2 of RFC8907.
	MSCHAPv2TACACSplusPasswordExchangeProtocol TACACSplusPasswordExchangeProtocol = "MSCHAPv2"
)

type TACACSplusService added in v0.16.0

type TACACSplusService struct {
	// AuthorizationService shall contain the TACACS+ service authorization argument as defined by section 8.2 of
	// RFC8907. If this property is not present, the service defines the value to provide to the TACACS+ server.
	AuthorizationService string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PasswordExchangeProtocols shall indicate all the allowed TACACS+ password exchange protocol described under
	// section 5.4.2 of RFC8907.
	PasswordExchangeProtocols []TACACSplusPasswordExchangeProtocol
	// PrivilegeLevelArgument shall specify the name of the argument in a TACACS+ Authorization REPLY packet body, as
	// defined in RFC8907, that contains the user's privilege level.
	PrivilegeLevelArgument string
}

TACACSplusService shall contain settings for parsing a TACACS+ service.

type TLSAlgorithmSet added in v0.16.0

type TLSAlgorithmSet struct {
	// CipherSuites shall contain an array of TLS cipher suites. The allowable values for this property shall be the
	// TLS cipher suites listed in 'CipherSuites' defined in, but not limited to, RFC4346, RFC5246, or RFC8446, 'ALL',
	// and 'NONE'. An array containing one element with the value of 'ALL' or an empty array shall indicate all TLS
	// cipher suites. An array containing one element with a value of 'NONE' shall indicate no TLS cipher suites.
	CipherSuites []string
	// SignatureAlgorithms shall contain an array of TLS signature algorithms. The allowable values for this property
	// shall be the TLS signature algorithms listed in 'SignatureScheme' or the concatenation of 'SignatureAlgorithm',
	// '_', and 'HashAlgorithm' defined in, but not limited to, RFC4346, RFC5246, or RFC8446, 'ALL', and 'NONE'. An
	// array containing one element with the value of 'ALL' or an empty array shall indicate all TLS signature
	// algorithms. An array containing one element with a value of 'NONE' shall indicate no TLS signature algorithms.
	SignatureAlgorithms []string
}

TLSAlgorithmSet shall contain TLS algorithm settings.

type TLSCommunication added in v0.16.0

type TLSCommunication struct {
	// Client shall contain the policy requirements and usage for TLS connections where the manager acts as a TLS
	// client.
	Client TLSPolicy
	// Server shall contain the policy requirements and usage for TLS connections where the manager acts as a TLS
	// server.
	Server TLSPolicy
}

TLSCommunication shall contain the policy requirements for TLS communication and usage for a TLS client and server.

type TLSParameterSet added in v0.16.0

type TLSParameterSet struct {
	// Algorithms shall contain the TLS algorithms.
	Algorithms TLSAlgorithmSet
	// Versions shall contain an array of TLS versions. An array containing one element with the value of 'ALL' or an
	// empty array shall indicate all versions. An array containing one element with a value of 'NONE' shall indicate
	// no versions.
	Versions []string
}

TLSParameterSet shall contain TLS policy settings.

type TLSPolicy added in v0.16.0

type TLSPolicy struct {
	// Allowed shall contain the TLS policy settings that are allowed, such as the allowable TLS versions and
	// algorithms. If a value is missing for the same property in the 'Allowed' and 'Denied' object, the missing value
	// shall behave as if the value is present in the same property under the 'Denied' object. If a value conflicts for
	// the same property between the 'Allowed' and 'Denied' object, the value of the same property in the 'Denied'
	// object shall take precedence. A Redfish service can resolve or prevent conflicts at time of request as well.
	Allowed TLSParameterSet
	// Denied shall contain the TLS policy settings that are prohibited, such as the prohibited TLS versions and
	// algorithms. If a value is missing for the same property in the 'Allowed' and 'Denied' object, the missing value
	// shall behave as if the value is present in the same property under the 'Denied' object. If a value conflicts for
	// the same property between the 'Allowed' and 'Denied' object, the value of the same property in the 'Denied'
	// object shall take precedence. A Redfish service can resolve or prevent conflicts at time of request as well.
	Denied TLSParameterSet

	// VerifyCertificate shall indicate whether the manager will verify the certificate of the remote endpoint in a TLS
	// connection. If 'true', the manager shall verify the remote endpoint certificate with the certificates found in
	// the collections referenced by the 'RevokedCertificates' and 'TrustedCertificates' properties. If 'false' or not
	// present, the manager shall not perform verification of the endpoint certificate.
	VerifyCertificate bool
	// contains filtered or unexported fields
}

TLSPolicy shall contain TLS policy settings.

func (*TLSPolicy) RevokedCertificates added in v0.16.0

func (tlspolicy *TLSPolicy) RevokedCertificates(c common.Client) ([]*Certificate, error)

RevokedCertificates gets the set of revoked TLS certificates.

func (*TLSPolicy) TrustedCertificates added in v0.16.0

func (tlspolicy *TLSPolicy) TrustedCertificates(c common.Client) ([]*Certificate, error)

TrustedCertificates gets the set of trusted TLS certificates.

func (*TLSPolicy) UnmarshalJSON added in v0.16.0

func (tlspolicy *TLSPolicy) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a TLSPolicy object from the raw JSON.

type TPM added in v0.16.0

type TPM struct {
	// CapabilitiesVendorID shall contain an ASCII string of the 4-byte TCG-defined 'TPM Capabilities Vendor ID' for
	// this trusted component.
	CapabilitiesVendorID string
	// HardwareInterfaceVendorID shall contain the TCG-defined 'TPM Hardware Interface Vendor ID' for this trusted
	// component with the most significant byte shown first.
	HardwareInterfaceVendorID string
}

TPM shall contain TPM-specific information for a trusted component.

type TPMGetEventLogResponse added in v0.16.0

type TPMGetEventLogResponse struct {
	// EventLog shall contain a Base64-encoded string of the entire event log defined in the 'Event Logging' section of
	// the 'TCG PC Client Platform Firmware Profile Specification'.
	EventLog string
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
}

TPMGetEventLogResponse shall contain the TPM event log.

type TPMGetSignedMeasurementsRequest added in v0.16.0

type TPMGetSignedMeasurementsRequest struct {
	// CertificateODataID is the ODataID for the certificate that represents the TPM attestation key.
	CertificateODataID string `json:"Certificate"`
	// Nonce is a set of bytes as a hex-encoded string that is signed with the measurements. The value should be unique.
	Nonce string `json:",omitempty"`
	// PCRSelection is the Base64-encoded representation of the 'TPML_PCR_SELECTION' object, as defined by the
	// Trusted Platform Module Library Specification, that identifies the PCRs to sign. The service shall send this
	// value to the TPM in the 'PCRselect' parameter of the 'TPM2_Quote' command defined in the Trusted Platform Module
	// Library Specification.
	PCRSelection string
	// Scheme is the Base64-encoded representation of the 'TPMT_SIG_SCHEME' object, as defined in the Trusted Platform
	// Module Library Specification, that identifies the signing scheme to use for the TPM attestation key. The service
	// shall send this value to the TPM in the 'inScheme' parameter of the 'TPM2_Quote' command defined in the Trusted
	// Platform Module Library Specification.
	Scheme string
}

TPMGetSignedMeasurementsRequest contains the properties to pass in to the TPMGetSignedMeasurements action.

type TPMGetSignedMeasurementsResponse added in v0.16.0

type TPMGetSignedMeasurementsResponse struct {
	// SignedMeasurements shall contain a Base64-encoded cryptographic signed statement generated by the signer. This
	// value shall be the concatenation of the 'quoted' and 'signature' response values of the 'TPM2_Quote' command
	// defined in the Trusted Platform Module Library Specification.
	SignedMeasurements string
}

TPMGetSignedMeasurementsResponse shall contain the TPM signed PCR measurements from a TPM.

type TPMauth added in v0.16.0

type TPMauth struct {

	// VerificationStatus shall contain the status of the verification of the identity of the component referenced by
	// the TargetComponentURI property.
	VerificationStatus VerificationStatus
	// contains filtered or unexported fields
}

TPMauth shall contain common identity-related authentication information.

func (*TPMauth) ComponentCertificate added in v0.16.0

func (tpmauth *TPMauth) ComponentCertificate(c common.Client) (*Certificate, error)

ComponentCertificate gets the identity of the component referenced by the TargetComponentURI property.

func (*TPMauth) UnmarshalJSON added in v0.16.0

func (tpmauth *TPMauth) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a TPMauth object from the raw JSON.

type TPMcommunication added in v0.16.0

type TPMcommunication struct {
	// Sessions shall contain an array of the active sessions or communication channels between two components. The
	// active sessions or communication channels do not reflect how future sessions or communication channels are
	// established.
	Sessions []SingleSessionInfo
}

TPMcommunication shall contain information about communication between two components.

type TPMinfo added in v0.16.0

type TPMinfo struct {
	// ComponentCommunication shall contain information about communication with the TPM.
	ComponentCommunication TPMcommunication
	// IdentityAuthentication shall contain identity authentication information about the TPM.
	IdentityAuthentication TPMauth
	// MeasurementSet shall contain measurement information from the TPM.
	MeasurementSet TPMmeasurementSet
	// NonceSizeBytesMaximum shall contain the maximum number of bytes that can be specified in the Nonce parameter of
	// the TPMGetSignedMeasurements action.
	NonceSizeBytesMaximum int
}

TPMinfo shall contain integrity information about a Trusted Platform Module (TPM).

type TPMmeasurementSet added in v0.16.0

type TPMmeasurementSet struct {
	// Measurements shall contain measurements from a TPM.
	Measurements []TPMsingleMeasurement
}

TPMmeasurementSet shall contain Trusted Computing Group TPM measurement information.

type TPMsingleMeasurement added in v0.16.0

type TPMsingleMeasurement struct {
	// LastUpdated shall contain the date and time when information for the measurement was last updated.
	LastUpdated string
	// Measurement shall contain the Base64-encoded PCR digest using the hashing algorithm indicated by
	// MeasurementHashAlgorithm property.
	Measurement string
	// MeasurementHashAlgorithm shall contain the hash algorithm used to compute the measurement. The allowable values
	// for this property shall be the strings in the 'Algorithm Name' field of the 'TPM_ALG_ID Constants' table within
	// the 'Trusted Computing Group Algorithm Registry'.
	MeasurementHashAlgorithm string
	// PCR shall contain the Platform Configuration Register (PCR) bank of the measurement.
	PCR int
}

TPMsingleMeasurement shall contain a single Trusted Computing Group TPM measurement.

type TargetPrivilegeMap added in v0.16.0

type TargetPrivilegeMap struct {
	// OperationMap shall contain the mapping between the HTTP operation and the privilege required to complete the
	// operation.
	OperationMap string
	// Targets shall contain the array of URIs, Resource types, or properties. For example, '/redfish/v1/Systems/1',
	// 'Manager', or 'Password'. When the Targets property is not present, no override is specified.
	Targets []string
}

TargetPrivilegeMap shall describe a mapping between one or more targets and the HTTP operations associated with them.

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
	Links       struct {
		// CreatedResources are an array of resource IDs created by this task.
		CreatedResources []string
		// CreatedResourcesCount is the number of created resources.
		CreatedResourcesCount int `json:"CreatedResources@odata.count"`
	}
	// Messages shall be an array of messages associated with the task.
	Messages []common.Message
	// 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
	// Oem property contains OEM specific task information
	Oem json.RawMessage `json:"Oem,omitempty"`
	// 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) SubTasks added in v0.16.0

func (task *Task) SubTasks() ([]*Task, error)

SubTasks gets the sub-tasks for this task. This property shall not be present if this resource represents a sub-task for a task.

func (*Task) UnmarshalJSON

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

UnmarshalJSON unmarshals a Task object from the raw JSON.

type TaskOverWritePolicy added in v0.16.0

type TaskOverWritePolicy string
const (
	// ManualTaskOverWritePolicy Completed tasks are not automatically overwritten.
	ManualTaskOverWritePolicy TaskOverWritePolicy = "Manual"
	// OldestTaskOverWritePolicy Oldest completed tasks are overwritten.
	OldestTaskOverWritePolicy TaskOverWritePolicy = "Oldest"
)

type TaskService added in v0.14.0

type TaskService 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
	// CompletedTaskOverWritePolicy how to handle the completed tasks.
	CompletedTaskOverWritePolicy TaskOverWritePolicy
	// DateTime system time.
	DateTime time.Time
	// LifeCycleEventOnTaskStateChange whether an event is reported when the task status is changed.
	LifeCycleEventOnTaskStateChange bool
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ServiceEnabled indicates whether this service isenabled.
	ServiceEnabled bool
	// Status describes the status and health of a resource and its children.
	Status common.Status
	// TaskAutoDeleteTimeoutMinutes shall contain the number of minutes after which a completed task, where TaskState
	// contains the value 'Completed', 'Killed', 'Cancelled', or 'Exception', is deleted by the service.
	TaskAutoDeleteTimeoutMinutes int
	// contains filtered or unexported fields
}

TaskService is used to represent the task service offered by the redfish API

func GetTaskService added in v0.14.0

func GetTaskService(c common.Client, uri string) (*TaskService, error)

GetTaskService will get a TaskService instance from the service.

func (*TaskService) Tasks added in v0.14.0

func (taskService *TaskService) Tasks() ([]*Task, error)

Tasks gets the collection of tasks of this task service

func (*TaskService) UnmarshalJSON added in v0.14.0

func (taskService *TaskService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a TaskService object from the raw JSON.

func (*TaskService) Update added in v0.16.0

func (taskService *TaskService) Update() error

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

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 TeamMode added in v0.16.0

type TeamMode string
const (
	// NoneTeamMode No teaming.
	NoneTeamMode TeamMode = "None"
	// RoundRobinTeamMode Packets are transmitted in sequential order from the teamed interfaces.
	RoundRobinTeamMode TeamMode = "RoundRobin"
	// ActiveBackupTeamMode One interface in the team is active and the others are kept in standby until a failure
	// occurs.
	ActiveBackupTeamMode TeamMode = "ActiveBackup"
	// XORTeamMode Transmitting is determined based upon a hash policy.
	XORTeamMode TeamMode = "XOR"
	// BroadcastTeamMode Packets are transmitted on all interfaces in the team.
	BroadcastTeamMode TeamMode = "Broadcast"
	// IEEE8023adTeamMode The interfaces in the team create an IEEE802.3ad link aggregation group.
	IEEE8023adTeamMode TeamMode = "IEEE802_3ad"
	// AdaptiveTransmitLoadBalancingTeamMode Packets are transmitted based upon the current load of each interface in
	// the team.
	AdaptiveTransmitLoadBalancingTeamMode TeamMode = "AdaptiveTransmitLoadBalancing"
	// AdaptiveLoadBalancingTeamMode Packets are transmitted and received based upon the current load of each interface
	// in the team.
	AdaptiveLoadBalancingTeamMode TeamMode = "AdaptiveLoadBalancing"
)

type TelemetryMetricValue added in v0.16.0

type TelemetryMetricValue struct {
	// MetricDefinition shall contain a link to a resource of type MetricDefinition that describes what this metric
	// value captures.
	MetricDefinition MetricDefinition
	// MetricID shall contain the same value as the ID property of the source metric within the associated metric
	// definition.
	MetricID string
	// MetricProperty shall be the URI to the property following the JSON fragment notation, as defined by RFC6901, to
	// identify an individual property in a Redfish resource.
	MetricProperty string
	// TelemetryMetricValue shall contain the metric value, as a string.
	MetricValue string
	// Timestamp shall time when the metric value was obtained. Note that this value may be different from the time
	// when this instance is created.
	Timestamp string
}

TelemetryMetricValue shall contain properties that capture a metric value and other associated information.

type TelemetryService added in v0.16.0

type TelemetryService 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

	// MaxReports shall contain the maximum number of metric reports that this service supports.
	MaxReports int

	// MinCollectionInterval shall contain the minimum time interval between gathering metric data that this service
	// allows.
	MinCollectionInterval string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// ServiceEnabled shall indicate whether this service is enabled.
	ServiceEnabled bool
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// SupportedCollectionFunctions shall contain the function to apply over the collection duration.
	SupportedCollectionFunctions []CollectionFunction
	// contains filtered or unexported fields
}

TelemetryService This resource contains a telemetry service for a Redfish implementation.

func GetTelemetryService added in v0.16.0

func GetTelemetryService(c common.Client, uri string) (*TelemetryService, error)

GetTelemetryService will get a TelemetryService instance from the service.

func ListReferencedTelemetryServices added in v0.16.0

func ListReferencedTelemetryServices(c common.Client, link string) ([]*TelemetryService, error)

ListReferencedTelemetryServices gets the collection of TelemetryService from a provided reference.

func (*TelemetryService) ClearMetricReports added in v0.16.0

func (telemetryservice *TelemetryService) ClearMetricReports() error

ClearMetricReports will clear the metric reports for this telemetry service.

func (*TelemetryService) LogService added in v0.16.0

func (telemetryservice *TelemetryService) LogService() (*LogService, error)

LogService gets the log service that the telemetry service uses.

func (*TelemetryService) MetricDefinitions added in v0.16.0

func (telemetryservice *TelemetryService) MetricDefinitions() ([]*MetricDefinition, error)

MetricDefinitions gets the metric definitions.

func (*TelemetryService) MetricReportDefinitions added in v0.16.0

func (telemetryservice *TelemetryService) MetricReportDefinitions() ([]*MetricReportDefinition, error)

MetricReportDefinitions gets the metric report definitions.

func (*TelemetryService) MetricReports added in v0.16.0

func (telemetryservice *TelemetryService) MetricReports() ([]*MetricReport, error)

MetricReports gets the metric reports.

func (*TelemetryService) ResetMetricReportDefinitionsToDefaults added in v0.16.0

func (telemetryservice *TelemetryService) ResetMetricReportDefinitionsToDefaults() error

ResetMetricReportDefinitionsToDefaults will reset the metric report definitions to factory defaults.

func (*TelemetryService) ResetTriggersToDefaults added in v0.16.0

func (telemetryservice *TelemetryService) ResetTriggersToDefaults() error

ResetTriggersToDefaults will reset the triggers to factory defaults.

func (*TelemetryService) SubmitTestMetricReport added in v0.16.0

func (telemetryservice *TelemetryService) SubmitTestMetricReport(reportValues []TelemetryMetricValue, reportName string) error

SubmitTestMetricReport will immediately generate the metric report as an alert event. `reportValues` is the content for the generated metric report. `metricReportName` is the name for the metric report.

func (*TelemetryService) Triggers added in v0.16.0

func (telemetryservice *TelemetryService) Triggers() ([]*Triggers, error)

Triggers gets the triggers.

func (*TelemetryService) UnmarshalJSON added in v0.16.0

func (telemetryservice *TelemetryService) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a TelemetryService object from the raw JSON.

func (*TelemetryService) Update added in v0.16.0

func (telemetryservice *TelemetryService) Update() error

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

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 PhysicalContext
	// 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
	// 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 PhysicalContext
	// ReadingCelsius shall be the current value of the temperature sensor's reading.
	ReadingCelsius float32
	// RelatedItem shall contain an array of links to resources or objects that represent areas or devices to which
	// this temperature applies.
	RelatedItem []string
	// RelatedItemCount is the number of related items.
	RelatedItemCount int `json:"RelatedItem@odata.count"`
	// 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
	// contains filtered or unexported fields
}

func (*Temperature) UnmarshalJSON added in v0.16.0

func (temperature *Temperature) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Temperature object from the raw JSON.

func (*Temperature) Update added in v0.16.0

func (temperature *Temperature) Update() error

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

type TemperatureSummary added in v0.16.0

type TemperatureSummary struct {
	// Ambient shall contain the temperature, in degree Celsius units, for the ambient temperature of this subsystem.
	// The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'Temperature'.
	Ambient SensorExcerpt
	// Exhaust shall contain the temperature, in degree Celsius units, for the exhaust temperature of this subsystem.
	// The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'Temperature'.
	Exhaust SensorExcerpt
	// Intake shall contain the temperature, in degree Celsius units, for the intake temperature of this subsystem. The
	// value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType
	// property containing the value 'Temperature'.
	Intake SensorExcerpt
	// Internal shall contain the temperature, in degree Celsius units, for the internal temperature of this subsystem.
	// The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'Temperature'.
	Internal SensorExcerpt
}

TemperatureSummary shall contain properties that describe temperature sensor for a subsystem.

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 []ThermalFan
	// FansCount is the number of ThermalFans.
	FansCount int `json:"Fans@odata.count"`

	// 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"`
	// Oem shall contain the OEM extensions. All values for properties that
	// this object contains shall conform to the Redfish Specification
	// described requirements.
	Oem json.RawMessage
	// 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.

func (*Thermal) Update added in v0.16.0

func (thermal *Thermal) Update() error

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

type ThermalDirection added in v0.16.0

type ThermalDirection string
const (
	// FrontToBackThermalDirection shall indicate a chassis with the air intake generally from the front of the chassis
	// and the air exhaust out the back of the chassis.
	FrontToBackThermalDirection ThermalDirection = "FrontToBack"
	// BackToFrontThermalDirection shall indicate a chassis with the air intake generally from the back of the chassis
	// and the air exhaust out the front of the chassis.
	BackToFrontThermalDirection ThermalDirection = "BackToFront"
	// TopExhaustThermalDirection shall indicate a chassis with the air exhaust out the top of the chassis.
	TopExhaustThermalDirection ThermalDirection = "TopExhaust"
	// SealedThermalDirection shall indicate a sealed chassis with no air pathway through the chassis.
	SealedThermalDirection ThermalDirection = "Sealed"
)

type ThermalEquipment added in v0.16.0

type ThermalEquipment 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"`

	// CoolingLoopRedundancy shall contain redundancy information for the set of cooling loops attached to this
	// equipment. The values of the RedundancyGroup array shall reference resources of type CoolingLoop.
	CoolingLoopRedundancy []RedundantGroup

	// Description provides a description of this resource.
	Description string

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// contains filtered or unexported fields
}

ThermalEquipment shall represent the set of cooling equipment for a Redfish implementation.

func GetThermalEquipment added in v0.16.0

func GetThermalEquipment(c common.Client, uri string) (*ThermalEquipment, error)

GetThermalEquipment will get a ThermalEquipment instance from the service.

func ListReferencedThermalEquipments added in v0.16.0

func ListReferencedThermalEquipments(c common.Client, link string) ([]*ThermalEquipment, error)

ListReferencedThermalEquipments gets the collection of ThermalEquipment from a provided reference.

func (*ThermalEquipment) CDUs added in v0.16.0

func (thermalequipment *ThermalEquipment) CDUs() ([]*CoolingUnit, error)

CDUs gets a collection of coolant distribution units.

func (*ThermalEquipment) CoolingLoops added in v0.16.0

func (thermalequipment *ThermalEquipment) CoolingLoops() ([]*CoolingLoop, error)

CoolingLoops gets a collection of cooling loops.

func (*ThermalEquipment) HeatExchangers added in v0.16.0

func (thermalequipment *ThermalEquipment) HeatExchangers() ([]*CoolingUnit, error)

HeatExchangers gets a collection of heat exchangers.

func (*ThermalEquipment) ImmersionUnits added in v0.16.0

func (thermalequipment *ThermalEquipment) ImmersionUnits() ([]*CoolingUnit, error)

ImmersionUnits gets a collection of immersion cooling units.

func (*ThermalEquipment) UnmarshalJSON added in v0.16.0

func (thermalequipment *ThermalEquipment) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ThermalEquipment object from the raw JSON.

type ThermalFan added in v0.16.0

type ThermalFan 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. Hot-pluggable devices can 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 not be hot-pluggable.
	HotPluggable bool
	// IndicatorLED shall contain the state of the indicator light associated with this fan.
	IndicatorLED common.IndicatorLED
	// Location shall contain the location information of the associated fan.
	Location common.Location
	// LowerThresholdCritical shall contain the value at which the Reading property is below the normal range but is
	// not yet fatal. The value of the property shall use the same units as the Reading property.
	LowerThresholdCritical int
	// LowerThresholdFatal shall contain the value at which the Reading property is below the normal range and is
	// fatal. The value of the property shall use the same units as the Reading property.
	LowerThresholdFatal int
	// LowerThresholdNonCritical shall contain the value at which the Reading property is below normal range. The value
	// of the property shall use the same units as the Reading property.
	LowerThresholdNonCritical int
	// Manufacturer shall contain the name of the organization responsible for producing the fan. This organization may
	// 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 the Reading property. The value of the property
	// shall use the same units as the Reading property.
	MaxReadingRange int
	// MemberId shall contain the unique identifier for this member within an array. For services supporting Redfish
	// v1.6 or higher, this value shall contain the zero-based array index.
	MemberID string
	// MinReadingRange shall indicate the lowest possible value for the Reading property. The value of the property
	// shall use the same units as the Reading property.
	MinReadingRange int
	// Model shall contain the model information as defined by the manufacturer for the associated fan.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the part number as defined by the manufacturer for the associated fan.
	PartNumber string
	// PhysicalContext shall contain a description of the affected device or region within the chassis with which this
	// fan is associated.
	PhysicalContext PhysicalContext
	// Reading shall contain the fan sensor reading.
	Reading int
	// ReadingUnits shall contain the units in which the fan reading and thresholds are measured.
	ReadingUnits ReadingUnits

	// RedundancyCount is the number of Redundancy items.
	RedundancyCount int `json:"Redundancy@odata.count"`
	// RelatedItem shall contain an array of links to resources or objects that this fan services.
	RelatedItem []string
	// RelatedItem@odataCount is the number of related items.
	RelatedItemCount int `json:"RelatedItem@odata.count"`
	// SensorNumber shall contain 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 contain the value at which the Reading property is above the normal range but is
	// not yet fatal. The value of the property shall use the same units as the Reading property.
	UpperThresholdCritical int
	// UpperThresholdFatal shall contain the value at which the Reading property is above the normal range and is
	// fatal. The value of the property shall use the same units as the Reading property.
	UpperThresholdFatal int
	// UpperThresholdNonCritical shall contain the value at which the Reading property is above the normal range. The
	// value of the property shall use the same units as the Reading property.
	UpperThresholdNonCritical int
	// contains filtered or unexported fields
}

func (*ThermalFan) UnmarshalJSON added in v0.16.0

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

UnmarshalJSON unmarshals a ThermalFan object from the raw JSON.

func (*ThermalFan) Update added in v0.16.0

func (fan *ThermalFan) Update() error

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

type ThermalMetrics added in v0.16.0

type ThermalMetrics 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"`
	// AirFlowCubicMetersPerMinute shall contain the rate of air flow, in cubic meters per minute units, between the
	// air intake and the air exhaust of this chassis. The value of the DataSourceUri property, if present, shall
	// reference a resource of type Sensor with the ReadingType property containing the value 'AirFlowCMM'.
	AirFlowCubicMetersPerMinute SensorExcerpt
	// DeltaPressurekPa shall contain the pressure, in kilopascal units, for the difference in pressure between the air
	// intake and the air exhaust of this chassis. The value of the DataSourceUri property, if present, shall reference
	// a resource of type Sensor with the ReadingType property containing the value 'PressurekPa'.
	DeltaPressurekPa SensorExcerpt
	// Description provides a description of this resource.
	Description string
	// EnergykWh shall contain the total energy, in kilowatt-hour units, for the thermal subsystem. The value shall
	// include the total energy consumption of devices involved in thermal management of the chassis, such as fans,
	// pumps, and heaters. The value of the DataSourceUri property, if present, shall reference a resource of type
	// Sensor with the ReadingType property containing the value 'EnergykWh'.
	EnergykWh SensorEnergykWhExcerpt
	// HeaterSummary shall contain the summary of heater metrics for this subsystem.
	HeaterSummary HeaterSummary
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PowerWatts shall contain the power, in watt units, for the thermal subsystem. The value shall include the total
	// power consumption of devices involved in thermal management of the chassis, such as fans, pumps, and heaters.
	// The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the
	// ReadingType property containing the value 'Power'.
	PowerWatts SensorPowerExcerpt
	// TemperatureReadingsCelsius shall contain the temperatures, in degree Celsius units, for this subsystem. The
	// value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType
	// property containing the value 'Temperature'.
	TemperatureReadingsCelsius []SensorArrayExcerpt
	// TemperatureReadingsCelsius@odata.count
	TemperatureReadingsCelsiusCount int `json:"TemperatureReadingsCelsius@odata.count"`
	// TemperatureSummaryCelsius shall contain the temperature sensor readings for this subsystem.
	TemperatureSummaryCelsius TemperatureSummary
	// contains filtered or unexported fields
}

ThermalMetrics shall represent the thermal metrics of a chassis for a Redfish implementation.

func GetThermalMetrics added in v0.16.0

func GetThermalMetrics(c common.Client, uri string) (*ThermalMetrics, error)

GetThermalMetrics will get a ThermalMetrics instance from the service.

func ListReferencedThermalMetrics added in v0.16.1

func ListReferencedThermalMetrics(c common.Client, link string) ([]*ThermalMetrics, error)

ListReferencedThermalMetricss gets the collection of ThermalMetrics from a provided reference.

func (*ThermalMetrics) ResetMetrics added in v0.16.0

func (thermalmetrics *ThermalMetrics) ResetMetrics() error

ResetMetrics resets the summary metrics related to this equipment.

func (*ThermalMetrics) UnmarshalJSON added in v0.16.0

func (thermalmetrics *ThermalMetrics) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ThermalMetrics object from the raw JSON.

type ThermalSubsystem added in v0.16.0

type ThermalSubsystem 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"`
	// CoolantConnectorRedundancy shall contain redundancy information for the set of coolant connectors attached to
	// this equipment. The values of the RedundancyGroup array shall reference resources of type CoolantConnector.
	CoolantConnectorRedundancy []RedundantGroup

	// Description provides a description of this resource.
	Description string
	// FanRedundancy shall contain redundancy information for the groups of fans in this subsystem.
	FanRedundancy []RedundantGroup

	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`

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

ThermalSubsystem shall represent a thermal subsystem for a Redfish implementation.

func GetThermalSubsystem added in v0.16.0

func GetThermalSubsystem(c common.Client, uri string) (*ThermalSubsystem, error)

GetThermalSubsystem will get a ThermalSubsystem instance from the service.

func ListReferencedThermalSubsystems added in v0.16.0

func ListReferencedThermalSubsystems(c common.Client, link string) ([]*ThermalSubsystem, error)

ListReferencedThermalSubsystems gets the collection of ThermalSubsystem from a provided reference.

func (*ThermalSubsystem) CoolantConnectors added in v0.16.0

func (thermalsubsystem *ThermalSubsystem) CoolantConnectors() ([]*CoolantConnector, error)

CoolantConnectors gets the coolant connectors for this equipment.

func (*ThermalSubsystem) Fans added in v0.16.0

func (thermalsubsystem *ThermalSubsystem) Fans() ([]*Fan, error)

Fans gets the fans for this equipment.

func (*ThermalSubsystem) Heaters added in v0.16.0

func (thermalsubsystem *ThermalSubsystem) Heaters() ([]*Heater, error)

Heaters gets the heaters within this subsystem.

func (*ThermalSubsystem) LeakDetection added in v0.16.0

func (thermalsubsystem *ThermalSubsystem) LeakDetection() ([]*LeakDetection, error)

LeakDetection gets the leak detection system within this chassis.

func (*ThermalSubsystem) Pumps added in v0.16.0

func (thermalsubsystem *ThermalSubsystem) Pumps() ([]*Pump, error)

Pumps gets the pumps for this equipment.

func (*ThermalSubsystem) ThermalMetrics added in v0.16.0

func (thermalsubsystem *ThermalSubsystem) ThermalMetrics() (*ThermalMetrics, error)

ThermalMetrics gets the summary of thermal metrics for this subsystem.

func (*ThermalSubsystem) UnmarshalJSON added in v0.16.0

func (thermalsubsystem *ThermalSubsystem) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a ThermalSubsystem object from the raw JSON.

type Threshold added in v0.15.0

type Threshold struct {
	// The direction of crossing that activates this threshold.
	Activation ThresholdActivation
	// The duration the sensor value must violate the threshold before the threshold is activated.
	DwellTime string
	// The duration the sensor value must not violate the threshold before the threshold is deactivated.
	HysteresisDuration string
	// The reading offset from the threshold value required to clear the threshold.
	HysteresisReading float32
	// The threshold value.
	Reading float32
}

type ThresholdActivation added in v0.15.0

type ThresholdActivation string
const (
	// Value decreases below the threshold.
	DecreasingThresholdActivation ThresholdActivation = "Decreasing"
	// The threshold is disabled.
	DisabledThresholdActivation ThresholdActivation = "Disabled"
	// Value crosses the threshold in either direction.
	EitherThresholdActivation ThresholdActivation = "Either"
	// Value increases above the threshold.
	IncreasingThresholdActivation ThresholdActivation = "Increasing"
)

type Thresholds added in v0.15.0

type Thresholds struct {
	// The value at which the reading is below normal range.
	LowerCaution Threshold
	// 	A user-defined value at which the reading is considered below normal range.
	LowerCautionUser Threshold
	// The value at which the reading is below normal range but not yet fatal.
	LowerCritical Threshold
	// A user-defined value at which the reading is considered below normal range but not yet fatal.
	LowerCriticalUser Threshold
	// The value at which the reading is below normal range and fatal.
	LowerFatal Threshold
	// The value at which the reading is above normal range.
	UpperCaution Threshold
	// A user-defined value at which the reading is considered above normal range.
	UpperCautionUser Threshold
	// The value at which the reading is above normal range but not yet fatal.
	UpperCritical Threshold
	// A user-defined value at which the reading is considered above normal range but not yet fatal.
	UpperCriticalUser Threshold
	// The value at which the reading is above normal range and fatal.
	UpperFatal Threshold
}

type ThrottleCause added in v0.16.0

type ThrottleCause string

The causes of the processor being throttled.

const (
	// PowerLimitThrottleCause The cause of the processor being throttled is a power limit.
	PowerLimitThrottleCause ThrottleCause = "PowerLimit"
	// ThermalLimitThrottleCause The cause of the processor being throttled is a thermal limit.
	ThermalLimitThrottleCause ThrottleCause = "ThermalLimit"
	// ClockLimitThrottleCause The cause of the processor being throttled is a clock limit.
	ClockLimitThrottleCause ThrottleCause = "ClockLimit"
	// ManagementDetectedFaultThrottleCause The cause of the processor being throttled is a fault detected by
	// management hardware or firmware.
	ManagementDetectedFaultThrottleCause ThrottleCause = "ManagementDetectedFault"
	// UnknownThrottleCause The cause of the processor being throttled is not known.
	UnknownThrottleCause ThrottleCause = "Unknown"
	// OEMThrottleCause The cause of the processor being throttled is OEM-specific.
	OEMThrottleCause ThrottleCause = "OEM"
)

type TransceiverPortMetrics added in v0.16.0

type TransceiverPortMetrics struct {
	// RXInputPowerMilliWatts shall contain the RX input power value of a small form-factor pluggable (SFP)
	// transceiver.
	RXInputPowerMilliWatts float64
	// SupplyVoltage shall contain the supply voltage of a small form-factor pluggable (SFP) transceiver.
	SupplyVoltage float64
	// TXBiasCurrentMilliAmps shall contain the TX bias current value of a small form-factor pluggable (SFP)
	// transceiver.
	TXBiasCurrentMilliAmps float64
	// TXOutputPowerMilliWatts shall contain the TX output power value of a small form-factor pluggable (SFP)
	// transceiver.
	TXOutputPowerMilliWatts float64
}

Transceiver shall describe the transceiver-related metrics.

type TransferConfiguration added in v0.15.0

type TransferConfiguration struct {
	// The mains circuit that is switched on and qualified
	// to supply power to the output circuit.
	ActiveMainsID string `json:"ActiveMainsId"`
	// Indicates if the qualified alternate mains circuit is automatically switched on
	// when the preferred mains circuit becomes unqualified and is automatically switched off.
	AutoTransferEnabled bool
	// Indicates if a make-before-break switching sequence of the mains circuits is permitted
	// when they are both qualified and in synchronization.
	ClosedTransitionAllowed bool
	// The time in seconds to wait for a closed transition to occur.
	ClosedTransitionTimeoutSeconds int64
	// The preferred source for the mains circuit to this equipment.
	PreferredMainsID string `json:"PreferredMainsId"`
	// The time in seconds to delay the automatic transfer
	// from the alternate mains circuit back to the preferred mains circuit.
	RetransferDelaySeconds int64
	// Indicates if the automatic transfer is permitted from the alternate mains circuit
	// back to the preferred mains circuit after the preferred mains circuit is qualified again
	// and the Retransfer Delay time has expired.
	RetransferEnabled bool
	// The time in seconds to delay the automatic transfer from the preferred mains circuit
	// to the alternate mains circuit when the preferred mains circuit is disqualified.
	TransferDelaySeconds int64
	// Indicates if any transfer is inhibited.
	TransferInhibit bool
}

The configuration settings for an automatic transfer switch.

type TransferCriteria added in v0.15.0

type TransferCriteria struct {
	// The frequency in hertz over the nominal value
	// that satisfies a criterion for transfer.
	OverNominalFrequencyHz float32
	// The positive percentage of voltage RMS over the nominal value
	// that satisfies a criterion for transfer.
	OverVoltageRMSPercentage int
	// The sensitivity to voltage waveform quality
	// to satisfy the criterion for initiating a transfer.
	TransferSensitivity TransferSensitivity
	// The frequency in hertz under the nominal value
	// that satisfies a criterion for transfer.
	UnderNominalFrequencyHz float32
	// The negative percentage of voltage RMS under the nominal value
	// that satisfies a criterion for transfer.
	UnderVoltageRMSPercentage int
}

The criteria used to initiate a transfer for an automatic transfer switch.

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 TransferSensitivity added in v0.15.0

type TransferSensitivity string

The sensitivity to voltage waveform quality to satisfy the criterion for initiating a transfer.

const (
	// High sensitivity for initiating a transfer.
	HighTransferSensitivity TransferSensitivity = "High"
	// Low sensitivity for initiating a transfer.
	LowTransferSensitivity TransferSensitivity = "Low"
	// Medium sensitivity for initiating a transfer.
	MediumTransferSensitivity TransferSensitivity = "Medium"
)

type TriggerActionEnum added in v0.16.0

type TriggerActionEnum string

TriggerActionEnum shall specify the actions to perform when a trigger condition is met.

const (
	// LogToLogServiceTriggerActionEnum shall log the occurrence of the condition to the log that the LogService
	// property in the telemetry service resource describes.
	LogToLogServiceTriggerActionEnum TriggerActionEnum = "LogToLogService"
	// RedfishEventTriggerActionEnum shall send an event to subscribers.
	RedfishEventTriggerActionEnum TriggerActionEnum = "RedfishEvent"
	// RedfishMetricReportTriggerActionEnum shall force the metric reports managed by the MetricReportDefinitions
	// specified by the MetricReportDefinitions property to be updated, regardless of the MetricReportDefinitionType
	// property value. The actions specified in the ReportActions property of each MetricReportDefinition shall be
	// performed.
	RedfishMetricReportTriggerActionEnum TriggerActionEnum = "RedfishMetricReport"
)

type Triggers added in v0.16.0

type Triggers 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
	// DiscreteTriggerCondition shall contain the conditions when a discrete metric triggers.
	DiscreteTriggerCondition DiscreteTriggerConditionEnum
	// DiscreteTriggers shall contain a list of values to which to compare a metric reading. This property shall be
	// present when the DiscreteTriggerCondition property is 'Specified'.
	DiscreteTriggers []DiscreteTrigger
	// EventTriggers shall contain an array of MessageIds that specify when a trigger condition is met based on an
	// event. When the service generates an event and if it contains a MessageId within this array, a trigger condition
	// shall be met. The MetricType property should not be present if this resource is configured for event-based
	// triggers.
	EventTriggers []string
	// HysteresisDuration shall indicate the duration the sensor value no longer violates the threshold before the
	// threshold is deactivated. A duration of zero seconds, or if the property is not present in the resource, shall
	// indicate the threshold is deactivated immediately once the sensor value no longer violates the threshold. The
	// threshold shall not deactivate until the conditions of both HysteresisReading and HysteresisDuration are met.
	HysteresisDuration string
	// HysteresisReading shall indicate the offset from the reading for this sensor and the threshold value that
	// deactivates the threshold. For example, a value of '-2' indicates the sensor reading shall fall 2 units below an
	// upper threshold value to deactivate the threshold. The value of the property shall use the same units as the
	// Reading property. A value of '0', or if the property is not present in the resource, shall indicate the
	// threshold is deactivated when the sensor value no longer violates the threshold. The threshold shall not
	// deactivate until the conditions of both HysteresisReading and HysteresisDuration are met.
	HysteresisReading float64
	// MetricIDs shall contain the labels for the metric definitions that contain the property identifiers for this
	// trigger. This property shall match the value of the Id property of the corresponding metric definitions.
	MetricIDs []string
	// MetricProperties shall contain an array of URIs with wildcards and property identifiers for this trigger. Use a
	// set of curly braces to delimit each wildcard in the URI. Replace each wildcard with its corresponding entry in
	// the Wildcard array property. A URI that contains wildcards shall link to a resource property to which the metric
	// definition applies after all wildcards are replaced with their corresponding entries in the Wildcard array
	// property. The property identifiers portion of the URI shall follow the RFC6901-defined JSON fragment notation
	// rules.
	MetricProperties []string
	// MetricType shall contain the metric type of the trigger.
	MetricType MetricTypeEnum
	// NumericThresholds shall contain the list of thresholds to which to compare a numeric metric value.
	NumericThresholds Thresholds
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// TriggerActions shall contain the actions that the trigger initiates.
	TriggerActions []TriggerActionEnum
	// Wildcards shall contain the wildcards and their substitution values for the entries in the MetricProperties
	// array property. Each wildcard shall have a corresponding entry in this array property.
	Wildcards []Wildcard

	// MetricReportDefinitionsCount is the number of MetricReportDefinitions.
	MetricReportDefinitionsCount int
	// contains filtered or unexported fields
}

Triggers shall contain a trigger that applies to metrics.

func GetTriggers added in v0.16.0

func GetTriggers(c common.Client, uri string) (*Triggers, error)

GetTriggers will get a Triggers instance from the service.

func ListReferencedTriggerss added in v0.16.0

func ListReferencedTriggerss(c common.Client, link string) ([]*Triggers, error)

ListReferencedTriggerss gets the collection of Triggers from a provided reference.

func (*Triggers) MetricReportDefinitions added in v0.16.0

func (triggers *Triggers) MetricReportDefinitions() ([]*MetricReportDefinition, error)

MetricReportDefinitions gets the metric report definitions that generate new metric reports when a trigger condition is met and when the TriggerActions property contains 'RedfishMetricReport'.

func (*Triggers) UnmarshalJSON added in v0.16.0

func (triggers *Triggers) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Triggers object from the raw JSON.

func (*Triggers) Update added in v0.16.0

func (triggers *Triggers) Update() error

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

type TrustedComponent added in v0.16.0

type TrustedComponent 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
	// FirmwareVersion shall contain a version number associated with the active software image on the trusted
	// component.
	FirmwareVersion string
	// Manufacturer shall contain the name of the organization responsible for producing the trusted component. This
	// organization may be the entity from whom the trusted component is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the name by which the manufacturer generally refers to the trusted component.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain a part number assigned by the organization that is responsible for producing or
	// manufacturing the trusted component.
	PartNumber string
	// SKU shall contain the stock-keeping unit number for this trusted component.
	SKU string
	// SerialNumber shall contain a manufacturer-allocated number that identifies the trusted component.
	SerialNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// TPM shall contain TPM-specific information for this trusted component. This property shall only be present for
	// TCG-defined TPM trusted components.
	TPM string
	// TrustedComponentType shall contain the type of trusted component.
	TrustedComponentType TrustedComponentType
	// UUID shall contain a universally unique identifier number for the trusted component.
	UUID string

	// ComponentIntegrityCount is the number of trusted component integrity links.
	ComponentIntegrityCount int

	// ComponentsProtectedCount is the number of protected components.
	ComponentsProtectedCount int

	// SoftwareImagesCount is the number of images associated with this trusted component.
	SoftwareImagesCount int
	// contains filtered or unexported fields
}

TrustedComponent shall represent a trusted component in a Redfish implementation.

func GetTrustedComponent added in v0.16.0

func GetTrustedComponent(c common.Client, uri string) (*TrustedComponent, error)

GetTrustedComponent will get a TrustedComponent instance from the service.

func ListReferencedTrustedComponents added in v0.16.0

func ListReferencedTrustedComponents(c common.Client, link string) ([]*TrustedComponent, error)

ListReferencedTrustedComponents gets the collection of TrustedComponent from a provided reference.

func (*TrustedComponent) ActiveSoftwareImage added in v0.16.1

func (trustedcomponent *TrustedComponent) ActiveSoftwareImage() (*SoftwareInventory, error)

ActiveSoftwareImage gets the active firmware image for this trusted component.

func (*TrustedComponent) Certificates added in v0.16.0

func (trustedcomponent *TrustedComponent) Certificates() ([]*Certificate, error)

Certificates gets the certificates associated with this trusted component.

func (*TrustedComponent) ComponentIntegrity added in v0.16.1

func (trustedcomponent *TrustedComponent) ComponentIntegrity() ([]*ComponentIntegrity, error)

ComponentIntegrity gets the resources for which the trusted component is responsible.

func (*TrustedComponent) SoftwareImages added in v0.16.1

func (trustedcomponent *TrustedComponent) SoftwareImages() ([]*SoftwareInventory, error)

SoftwareImages gets the firmware images that apply to this trusted component.

func (*TrustedComponent) TPMGetEventLog added in v0.16.0

func (trustedcomponent *TrustedComponent) TPMGetEventLog() (*TPMGetEventLogResponse, error)

TPMGetEventLog gets the event log for TPM 2.0 devices.

func (*TrustedComponent) UnmarshalJSON added in v0.16.0

func (trustedcomponent *TrustedComponent) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a TrustedComponent object from the raw JSON.

type TrustedComponentType added in v0.16.0

type TrustedComponentType string
const (
	// DiscreteTrustedComponentType shall indicate that the entity has a well-defined physical boundary within the
	// chassis.
	DiscreteTrustedComponentType TrustedComponentType = "Discrete"
	// IntegratedTrustedComponentType shall indicate that the entity is integrated into another device.
	IntegratedTrustedComponentType TrustedComponentType = "Integrated"
)

type TrustedModuleRequiredToBoot added in v0.16.0

type TrustedModuleRequiredToBoot string
const (
	// DisabledTrustedModuleRequiredToBoot shall indicate a Trusted Module is not required to boot.
	DisabledTrustedModuleRequiredToBoot TrustedModuleRequiredToBoot = "Disabled"
	// RequiredTrustedModuleRequiredToBoot shall indicate a functioning Trusted Module is required to boot.
	RequiredTrustedModuleRequiredToBoot TrustedModuleRequiredToBoot = "Required"
)

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 TunnelingProtocolType added in v0.16.0

type TunnelingProtocolType string
const (
	// SSHTunnelingProtocolType shall indicate that the tunneling protocol is SSH.
	SSHTunnelingProtocolType TunnelingProtocolType = "SSH"
	// OEMTunnelingProtocolType shall indicate that the tunneling protocol is OEM-specific.
	OEMTunnelingProtocolType TunnelingProtocolType = "OEM"
)

type TurboProfileDatapoint added in v0.16.0

type TurboProfileDatapoint struct {
	// ActiveCoreCount shall contain the number of cores to be configured with the maximum turbo clock speed. The value
	// shall be less than or equal to the TotalAvailableCoreCount property.
	ActiveCoreCount int
	// MaxSpeedMHz shall contain the maximum turbo clock speed that correspond to the number of active cores in MHz.
	MaxSpeedMHz int
}

TurboProfileDatapoint shall specify the turbo profile for a set of active cores.

type TurboState added in v0.15.0

type TurboState string

The state of the turbo for this processor.

const (
	// Turbo is disabled.
	DisabledTurboState TurboState = "Disabled"
	// Turbo is enabled.
	EnabledTurboState TurboState = "Enabled"
)

type UIConsoleInfo

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

UIConsoleInfo contains information about GUI services.

type USBController added in v0.16.0

type USBController 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
	// Manufacturer shall contain the name of the organization responsible for producing the USB controller. This
	// organization may be the entity from which the USB controller is purchased, but this is not necessarily true.
	Manufacturer string
	// Model shall contain the manufacturer-provided model information of this USB controller.
	Model string
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// PartNumber shall contain the manufacturer-provided part number for the USB controller.
	PartNumber string

	// SKU shall contain the SKU number for this USB controller.
	SKU string
	// SerialNumber shall contain a manufacturer-allocated number that identifies the USB controller.
	SerialNumber string
	// SparePartNumber shall contain the spare part number of the USB controller.
	SparePartNumber string
	// Status shall contain any status or health properties of the resource.
	Status common.Status

	// ProcessorsCount is the number of processors that can use this USB controller.
	ProcessorsCount int
	// contains filtered or unexported fields
}

USBController shall represent a USB controller in a Redfish implementation.

func GetUSBController added in v0.16.0

func GetUSBController(c common.Client, uri string) (*USBController, error)

GetUSBController will get a USBController instance from the service.

func ListReferencedUSBControllers added in v0.16.0

func ListReferencedUSBControllers(c common.Client, link string) ([]*USBController, error)

ListReferencedUSBControllers gets the collection of USBController from a provided reference.

func (*USBController) PCIeDevice added in v0.16.0

func (usbcontroller *USBController) PCIeDevice() (*PCIeDevice, error)

PCIeDevice gets the PCIeDevice for this USB controller.

func (*USBController) Ports added in v0.16.0

func (usbcontroller *USBController) Ports() ([]*Port, error)

Ports gets the ports of the USB controller.

func (*USBController) Processors added in v0.16.0

func (usbcontroller *USBController) Processors() ([]*Processor, error)

Processors gets the processors that can utilize this USB controller.

func (*USBController) UnmarshalJSON added in v0.16.0

func (usbcontroller *USBController) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a USBController object from the raw JSON.

type UpdateParameters added in v0.16.0

type UpdateParameters struct {
	// ForceUpdate shall indicate whether the service should bypass update policies when applying the provided image,
	// such as allowing a component to be downgraded. Services may contain update policies that are never bypassed,
	// such as minimum version enforcement. If the client does not provide this parameter, the service shall default
	// this value to 'false'.
	ForceUpdate bool
	// Oem shall contain the OEM extensions. All values for properties contained in this object shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Targets shall contain zero or more URIs that indicate where to apply the update image when using the URI
	// specified by the MultipartHttpPushUri property to push a software image. These targets should correspond to
	// software inventory instances or their related items. If this property is not present or contains no targets, the
	// service shall apply the software image to all applicable targets, as determined by the service. If the target
	// specifies a device resource, the software image file shall be applied to the specified device. If the target
	// specifies a resource collection, the software image shall be applied to each applicable member of the specified
	// collection. If the target resource specifies an Aggregate resource, the software image file shall be applied to
	// each applicable element of the specified aggregate. If the target resource specifies a ComputerSystem resource,
	// the software image file shall be applied to the applicable components within the specified computer system.
	Targets []string
}

UpdateParameters shall contain the update parameters when passing the update image when using the URI specified by the MultipartHTTPPushURI property to push a software image.

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 provides a description of this resource.
	Description string

	// HTTPPushURI endpoint is used to push (POST) firmware updates
	HTTPPushURI string `json:"HttpPushUri"`
	// HTTPPushURIOptions shall contain options and requirements of the service for HttpPushUri-provided software
	// updates.
	HTTPPushURIOptions HTTPPushURIOptions
	// HTTPPushURIOptionsBusy shall indicate whether a client uses the HttpPushUriOptions properties for software
	// updates. When a client uses any HttpPushUriOptions properties for software updates, it should set this property
	// to 'true'. When a client no longer uses HttpPushUriOptions properties for software updates, it should set this
	// property to 'false'. This property can provide multiple clients a way to negotiate ownership of
	// HttpPushUriOptions properties. Clients can use this property to determine whether another client uses
	// HttpPushUriOptions properties for software updates. This property has no functional requirements for the
	// service.
	HTTPPushURIOptionsBusy bool
	// HTTPPushURITargets shall contain zero or more URIs that indicate where to apply the update image when using the
	// URI specified by the HttpPushUri property to push a software image. These targets should correspond to software
	// inventory instances or their related items. If this property is not present or contains no targets, the service
	// shall apply the software image to all applicable targets, as determined by the service. If the target specifies
	// a device resource, the software image file shall be applied to the specified device. If the target specifies a
	// resource collection, the software image shall be applied to each applicable member of the specified collection.
	// If the target resource specifies an Aggregate resource, the software image file shall be applied to each
	// applicable element of the specified aggregate. If the target resource specifies a ComputerSystem resource, the
	// software image file shall be applied to the applicable components within the specified computer system.
	HTTPPushURITargets []string
	// HTTPPushURITargetsBusy shall indicate whether any client has reserved the HttpPushUriTargets property for
	// firmware updates. A client should set this property to 'true' when it uses HttpPushUriTargets for firmware
	// updates. A client should set it to 'false' when it no longer uses HttpPushUriTargets for updates. The property
	// can provide multiple clients a way to negotiate ownership of HttpPushUriTargets and helps clients determine
	// whether another client is using HttpPushUriTargets to make firmware updates. This property has no functional
	// requirements for the service.
	HTTPPushURITargetsBusy bool
	// MaxImageSizeBytes shall indicate the maximum size of the software update image that clients can send to this
	// update service.
	MaxImageSizeBytes int
	// MultipartHTTPPushURI endpoint is used to perform a multipart push (POST) updates
	MultipartHTTPPushURI string `json:"MultiPartHttpPushUri"`
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`

	// ServiceEnabled indicates whether this service isenabled.
	ServiceEnabled bool

	// Status describes the status and health of a resource and its children.
	Status common.Status
	// SupportedUpdateImageFormats shall contain the image format types supported by the service.
	SupportedUpdateImageFormats []SupportedUpdateImageFormatType
	// VerifyRemoteServerCertificate shall indicate whether the service will verify the certificate of the server
	// referenced by the ImageURI property in SimpleUpdate prior to sending the transfer request with the certificates
	// found in the collection referenced by the RemoteServerCertificates property. If this property is not supported
	// by the service, it shall be assumed to be 'false'. This property should default to 'false' in order to maintain
	// compatibility with older clients. Regardless of the value of this property, services may perform additional
	// verification based on other factors, such as the configuration of the SecurityPolicy resource.
	VerifyRemoteServerCertificate bool
	// VerifyRemoteServerSSHKey shall indicate whether the service will verify the SSH key of the server referenced by
	// the ImageURI property in SimpleUpdate prior to sending the transfer request with the keys found in the
	// collection referenced by the RemoteServerSSHKeys property. If this property is not supported by the service, it
	// shall be assumed to be 'false'. This property should default to 'false' in order to maintain compatibility with
	// older clients.
	VerifyRemoteServerSSHKey bool

	// TransferProtocol is an optional list of network protocols used by the UpdateService
	// to retrieve the software image file.
	TransferProtocol []string

	// OemActions contains all the vendor specific actions. It is vendor responsibility to parse this field accordingly
	OemActions json.RawMessage
	// Oem shall contain the OEM extensions. All values for properties that
	// this object contains shall conform to the Redfish Specification
	// described requirements.
	Oem json.RawMessage
	// 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) GenerateSSHIdentityKeyPair added in v0.16.0

func (updateService *UpdateService) GenerateSSHIdentityKeyPair(curve ECDSACurveType, keyLength int, keyType SSHAlgoKeyType) error

GenerateSSHIdentityKeyPair generates a new SSH identity key-pair to be used with the UpdateService resource. The generated public key is stored in the Key resource referenced by the PublicIdentitySSHKey property. Any existing key-pair is deleted and replaced by the new key-pair.

func (*UpdateService) PublicIdentitySSHKey added in v0.16.0

func (updateService *UpdateService) PublicIdentitySSHKey() (*Key, error)

PublicIdentitySSHKey get the public key that is used with the SimpleUpdate action for the key-based authentication. The GenerateSSHIdentityKeyPair and RemoveSSHIdentityKeyPair are used to update the key for the SimpleUpdate action. This property shall not be present if a key-pair is not available.

func (*UpdateService) RemoteServerCertificates added in v0.16.0

func (updateService *UpdateService) RemoteServerCertificates() ([]*Certificate, error)

RemoteServerCertificates gets the server certificates for the server referenced by the ImageURI property in SimpleUpdate. If VerifyRemoteServerCertificate is `true`, services shall compare the certificates in this collection with the certificate obtained during handshaking with the image server in order to verify the identity of the image server prior to transferring the image. If the server cannot be verified, the service shall not send the transfer request. If VerifyRemoteServerCertificate is `false`, the service shall not perform certificate verification with certificates in this collection. Regardless of the contents of this collection, services may perform additional verification based on other factors, such as the configuration of the SecurityPolicy resource.

func (*UpdateService) RemoteServerSSHKeys added in v0.16.0

func (updateService *UpdateService) RemoteServerSSHKeys() ([]*Key, error)

RemoteServerSSHKeys gets the server SSH keys for the server referenced by the ImageURI property in SimpleUpdate. If VerifyRemoteServerSSHKey is `true`, services shall compare the keys in this collection with the key obtained during handshaking with the image server in order to verify the identity of the image server prior to transferring the image. If the server cannot be verified, the service shall not send the transfer request. If VerifyRemoteServerSSHKey is `false`, the service shall not perform key verification with keys in this collection.

func (*UpdateService) RemoveSSHIdentityKeyPair added in v0.16.0

func (updateService *UpdateService) RemoveSSHIdentityKeyPair() error

RemoveSSHIdentityKeyPair removes the SSH identity key-pair used with the UpdateService resource.

func (*UpdateService) SimpleUpdate added in v0.16.0

func (updateService *UpdateService) SimpleUpdate(parameters *SimpleUpdateParameters) error

SimpleUpdate will update installed software components using a software image file located at an ImageURI parameter-specified URI.

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) StartUpdate added in v0.16.0

func (updateService *UpdateService) StartUpdate() error

StartUpdate starts updating all images that have been previously invoked using an OperationApplyTime value of `OnStartUpdateRequest`.

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 UserAuthenticationMethod added in v0.16.0

type UserAuthenticationMethod string
const (
	// PublicKeyUserAuthenticationMethod shall indicate SSH user authentication with a public key specified by the
	// PublicIdentityKey property in SSHSettings.
	PublicKeyUserAuthenticationMethod UserAuthenticationMethod = "PublicKey"
	// PasswordUserAuthenticationMethod shall indicate SSH user authentication with a password specified by the
	// Password property.
	PasswordUserAuthenticationMethod UserAuthenticationMethod = "Password"
)

type VCATEntry added in v0.16.0

type VCATEntry 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
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// RawEntryHex shall contain the hexadecimal value of the Virtual Channel Action Table entries. The length of the
	// hexadecimal value depends on the number of Virtual Channel Action entries supported by the component.
	RawEntryHex string
	// VCEntries shall contain an array of entries of the Virtual Channel Action Table. The length of the array depends
	// on the number of Virtual Channel Action entries supported by the component.
	VCEntries []VCATableEntry
	// contains filtered or unexported fields
}

VCATEntry shall represent an entry of Virtual Channel Action Table in a Redfish implementation.

func GetVCATEntry added in v0.16.0

func GetVCATEntry(c common.Client, uri string) (*VCATEntry, error)

GetVCATEntry will get a VCATEntry instance from the service.

func ListReferencedVCATEntrys added in v0.16.0

func ListReferencedVCATEntrys(c common.Client, link string) ([]*VCATEntry, error)

ListReferencedVCATEntrys gets the collection of VCATEntry from a provided reference.

func (*VCATEntry) UnmarshalJSON added in v0.16.0

func (vcatentry *VCATEntry) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a VCATEntry object from the raw JSON.

func (*VCATEntry) Update added in v0.16.0

func (vcatentry *VCATEntry) Update() error

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

type VCATableEntry added in v0.16.0

type VCATableEntry struct {
	// Threshold shall contain the Gen-Z Core Specification-defined 'TH' 7-bit threshold.
	Threshold string
	// VCMask shall contain a 32-bit value where the bits correspond to a supported Virtual Channel.
	VCMask string
}

VCATableEntry shall contain a Virtual Channel entry definition that describes a specific Virtual Channel.

type VCSSwitch added in v0.16.0

type VCSSwitch struct {
	// HDMDecoders shall contain the number of Host Device Memory (HDM) Decoders supported by this switch.
	HDMDecoders string
}

VCSSwitch shall contain Virtual CXL Switch (VCS) properties for a switch.

type VLAN

type VLAN struct {
	// Tagged shall indicate whether this VLAN is tagged or untagged for this interface.
	Tagged bool
	// 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"`
	// VLANPriority shall contain the priority for this VLAN (0-7).
	VLANPriority int
}

VLAN shall contain any attributes of a Virtual LAN.

type VLANIdentifierAddressRange added in v0.16.0

type VLANIdentifierAddressRange struct {
	// Lower shall contain the Virtual LAN (VLAN) tag lower value.
	Lower int
	// Upper shall contain the Virtual LAN (VLAN) tag upper value.
	Upper int
}

VLANIdentifierAddressRange shall contain settings for assigning Virtual LAN (VLAN) tags for the entire fabric as well as for end hosts.

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"`
	// VLANPriority shall contain the priority for this VLAN (0-7).
	VLANPriority int
	// 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 VerificationStatus added in v0.16.0

type VerificationStatus string
const (
	// SuccessVerificationStatus Successful verification.
	SuccessVerificationStatus VerificationStatus = "Success"
	// FailedVerificationStatus Unsuccessful verification.
	FailedVerificationStatus VerificationStatus = "Failed"
)

type VersionScheme added in v0.16.0

type VersionScheme string
const (
	// SemVerVersionScheme shall indicate that the value of the Version property conforms to the format and rules of
	// the Semantic Version 2.0 specification, and may include pre-release or build metadata.
	SemVerVersionScheme VersionScheme = "SemVer"
	// DotIntegerNotationVersionScheme shall indicate that the value of the Version property contains a sequence of
	// integers separated by period (dot) characters, and shall follow the pattern '^\d+(\.\d+)*$'. Leading zeros in
	// the sequence shall be ignored.
	DotIntegerNotationVersionScheme VersionScheme = "DotIntegerNotation"
	// OEMVersionScheme shall indicate that the value of the Version property follows a format and rules as defined by
	// the vendor or manufacturer.
	OEMVersionScheme VersionScheme = "OEM"
)

type VirtualMachineEngine added in v0.16.0

type VirtualMachineEngine struct {
	// ManagementURIs shall contain an array of URIs to management interfaces for this virtual machine engine. This is
	// typically a web UI or API provided by the virtual machine engine.
	ManagementURIs []string
	// SupportedImageTypes shall contain the supported image types for this container engine.
	SupportedImageTypes []VirtualMachineImageTypes
	// Type shall contain the type for this virtual machine engine.
	Type VirtualMachineEngineTypes
	// Version shall contain the version of this virtual machine engine.
	Version string
}

VirtualMachineEngine shall contain a virtual machine engine running in an operating system.

func (*VirtualMachineEngine) UnmarshalJSON added in v0.16.0

func (virtualmachineengine *VirtualMachineEngine) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a VirtualMachineEngine object from the raw JSON.

type VirtualMachineEngineTypes added in v0.16.0

type VirtualMachineEngineTypes string
const (
	// VMwareESXVirtualMachineEngineTypes shall indicate the virtual machine engine is VMware ESX or ESXi.
	VMwareESXVirtualMachineEngineTypes VirtualMachineEngineTypes = "VMwareESX"
	// HyperVVirtualMachineEngineTypes shall indicate the virtual machine engine is Microsoft Hyper-V.
	HyperVVirtualMachineEngineTypes VirtualMachineEngineTypes = "HyperV"
	// XenVirtualMachineEngineTypes shall indicate the virtual machine engine is Xen.
	XenVirtualMachineEngineTypes VirtualMachineEngineTypes = "Xen"
	// KVMVirtualMachineEngineTypes shall indicate the virtual machine engine is Linux KVM (Kernel-based Virtual
	// Machine).
	KVMVirtualMachineEngineTypes VirtualMachineEngineTypes = "KVM"
	// QEMUVirtualMachineEngineTypes shall indicate the virtual machine engine is QEMU (Quick Emulator). If QEMU is
	// acting as a frontend for another virtual machine engine, such as Xen or KVM, VirtualMachineEngines should
	// contain additional entries to represent the backend virtual machine engines.
	QEMUVirtualMachineEngineTypes VirtualMachineEngineTypes = "QEMU"
	// VirtualBoxVirtualMachineEngineTypes shall indicate the virtual machine engine is Oracle VM VirtualBox. If
	// VirtualBox is acting as a frontend for another virtual machine engine, such as HyperV, VirtualMachineEngines
	// should contain additional entries to represent the backend virtual machine engines.
	VirtualBoxVirtualMachineEngineTypes VirtualMachineEngineTypes = "VirtualBox"
	// PowerVMVirtualMachineEngineTypes shall indicate the virtual machine engine is IBM PowerVM.
	PowerVMVirtualMachineEngineTypes VirtualMachineEngineTypes = "PowerVM"
)

type VirtualMachineImageTypes added in v0.16.0

type VirtualMachineImageTypes string
const (
	// RawVirtualMachineImageTypes shall indicate a raw disk image.
	RawVirtualMachineImageTypes VirtualMachineImageTypes = "Raw"
	// OVFVirtualMachineImageTypes shall indicate a DSP0243-defined OVF (Open Virtualization Format) image.
	OVFVirtualMachineImageTypes VirtualMachineImageTypes = "OVF"
	// OVAVirtualMachineImageTypes shall indicate a DSP0243-defined OVA (Open Virtual Appliance) image.
	OVAVirtualMachineImageTypes VirtualMachineImageTypes = "OVA"
	// VHDVirtualMachineImageTypes shall indicate a Microsoft Open Specification Promise-defined VHD (Virtual Hard
	// Disk) image.
	VHDVirtualMachineImageTypes VirtualMachineImageTypes = "VHD"
	// VMDKVirtualMachineImageTypes shall indicate a VMware-defined VMDK (Virtual Machine Disk) image.
	VMDKVirtualMachineImageTypes VirtualMachineImageTypes = "VMDK"
	// VDIVirtualMachineImageTypes shall indicate an Oracle VM VirtualBox-defined VDI (Virtual Disk Image).
	VDIVirtualMachineImageTypes VirtualMachineImageTypes = "VDI"
	// QCOWVirtualMachineImageTypes shall indicate a QEMU-defined QCOW (QEMU Copy-on-Write) image.
	QCOWVirtualMachineImageTypes VirtualMachineImageTypes = "QCOW"
	// QCOW2VirtualMachineImageTypes shall indicate a QEMU-defined QCOW2 (QEMU Copy-on-Write version 2) image.
	QCOW2VirtualMachineImageTypes VirtualMachineImageTypes = "QCOW2"
)

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
	// EjectPolicy shall contain the ejection policy for the virtual media.
	EjectPolicy EjectPolicy
	// EjectTimeout shall indicate the amount of time before virtual media is automatically ejected when EjectPolicy
	// contains 'Timed'.
	EjectTimeout 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
	// VerifyCertificate shall indicate whether the service will verify the certificate of the server referenced by the
	// Image property prior to completing the remote media connection with the certificates found in the collection
	// referenced by the Certificates property. If this property is not supported by the service, it shall be assumed
	// to be 'false'. This property should default to 'false' in order to maintain compatibility with older clients.
	// Regardless of the value of this property, services may perform additional verification based on other factors,
	// such as the configuration of the SecurityPolicy resource.
	VerifyCertificate bool
	// 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) Certificates added in v0.16.0

func (virtualmedia *VirtualMedia) Certificates() ([]*Certificate, error)

Certificates gets the the server certificates for the server referenced by the Image property. If VerifyCertificate is `true`, services shall compare the certificates in this collection with the certificate obtained during handshaking with the image server in order to verify the identity of the image server prior to completing the remote media connection. If the server cannot be verified, the service shall not complete the remote media connection. If VerifyCertificate is `false`, the service shall not perform certificate verification with certificates in this collection. Regardless of the contents of this collection, services may perform additional verification based on other factors, such as the configuration of the SecurityPolicy resource.

func (*VirtualMedia) ClientCertificates added in v0.16.0

func (virtualmedia *VirtualMedia) ClientCertificates() ([]*Certificate, error)

ClientCertificates gets the client identity certificates that are provided to the server referenced by the Image property as part of TLS handshaking.

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                 `json:",omitempty"`
	MediaType            VirtualMediaType     `json:",omitempty"`
	Password             string               `json:",omitempty"`
	TransferMethod       TransferMethod       `json:",omitempty"`
	TransferProtocolType TransferProtocolType `json:",omitempty"`
	UserName             string               `json:",omitempty"`
	WriteProtected       bool                 `json:",omitempty"`
}

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
	// MinReadingRange shall indicate the lowest possible value for ReadingVolts.
	// Units shall use the same units as the related ReadingVolts property.
	MinReadingRange float32
	// OEM shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage
	// PhysicalContext shall be a description
	// of the affected device or region within the chassis to which this
	// voltage measurement applies.
	PhysicalContext PhysicalContext
	// 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 VoltageSensors added in v0.16.0

type VoltageSensors struct {
	// Line1ToLine2 shall contain the line-to-line voltage, in volt units, between L1 and L2. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Voltage'. This property shall not be present if the equipment does not include an L1-L2
	// measurement.
	Line1ToLine2 SensorVoltageExcerpt
	// Line1ToNeutral shall contain the line-to-line voltage, in volt units, between L1 and Neutral. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Voltage'. This property shall not be present if the equipment does not include an
	// L1-Neutral measurement.
	Line1ToNeutral SensorVoltageExcerpt
	// Line2ToLine3 shall contain the line-to-line voltage, in volt units, between L2 and L3. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Voltage'. This property shall not be present if the equipment does not include an L2-L3
	// measurement.
	Line2ToLine3 SensorVoltageExcerpt
	// Line2ToNeutral shall contain the line-to-line voltage, in volt units, between L2 and Neutral. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Voltage'. This property shall not be present if the equipment does not include an
	// L2-Neutral measurement.
	Line2ToNeutral SensorVoltageExcerpt
	// Line3ToLine1 shall contain the line-to-line voltage, in volt units, between L3 and L1. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Voltage'. This property shall not be present if the equipment does not include an L3-L1
	// measurement.
	Line3ToLine1 SensorVoltageExcerpt
	// Line3ToNeutral shall contain the line-to-line voltage, in volt units, between L3 and Neutral. The value of the
	// DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property
	// containing the value 'Voltage'. This property shall not be present if the equipment does not include an
	// L3-Neutral measurement.
	Line3ToNeutral SensorVoltageExcerpt
}

VoltageSensors shall contain properties that describe voltage sensor readings for an outlet.

type VoltageType added in v0.16.0

type VoltageType string
const (
	// ACVoltageType Alternating Current (AC) outlet.
	ACVoltageType VoltageType = "AC"
	// DCVoltageType Direct Current (DC) outlet.
	DCVoltageType VoltageType = "DC"
)

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"`
	// AccessCapabilities shall specify a current storage access capability.
	AccessCapabilities []StorageAccessCapability
	// AllocatedPools shall contain references to all storage pools allocated from this volume.
	AllocatedPools string
	// BlockSizeBytes shall contain size of the smallest addressable unit of the associated volume.
	BlockSizeBytes int
	// Capacity Information about the utilization of capacity allocated to this storage volume.
	Capacity string
	// CapacityBytes shall contain the size in bytes of the associated volume.
	CapacityBytes int
	// CapacitySources Fully or partially consumed storage from a source resource. Each entry provides capacity
	// allocation information from a named source resource. Uses the Swordfish CapacitySource.
	CapacitySources json.RawMessage
	// CapacitySourcesCount is the number of capacity sources.
	CapacitySourcesCount int `json:"CapacitySources@odata.count"`
	// Compressed shall contain a boolean indicator if the Volume is currently utilizing compression or not.
	Compressed bool
	// Connections shall contain references to all Connections that include this volume.
	Connections []Connection
	// ConnectionsCount is the number of connections.
	ConnectionsCount int `json:"Connections@odata.count"`
	// Deduplicated shall contain a boolean indicator if the Volume is currently utilizing deduplication or not.
	Deduplicated bool
	// Actions shall contain the available actions for this resource.
	// Description provides a description of this resource.
	Description string
	// DisplayName shall contain a user-configurable string to name the volume.
	DisplayName string
	// Encrypted shall contain a boolean indicator if the Volume is currently utilizing encryption or not.
	Encrypted bool
	// EncryptionTypes shall contain the types of encryption used by this Volume.
	EncryptionTypes []EncryptionTypes
	// IOPerfModeEnabled shall indicate whether IO performance mode is enabled for the volume.
	IOPerfModeEnabled bool
	// IOStatistics shall represent IO statistics for this volume.
	IOStatistics string
	// Identifiers shall contain a list of all known durable names for the associated volume.
	Identifiers []common.Identifier
	// InitializeMethod shall indicate the initialization method used for this volume. If InitializeMethod is not
	// specified, the InitializeMethod should be Foreground. This value reflects the most recently used Initialization
	// Method, and may be changed using the Initialize Action.
	InitializeMethod string
	// IsBootCapable shall indicate whether or not the Volume contains a boot image and is capable of booting. This
	// property may be settable by an admin or client with visibility into the contents of the volume. This property
	// should only be set to true when VolumeUsage is either not specified, or when VolumeUsage is set to Data or
	// SystemData.
	IsBootCapable bool
	// LogicalUnitNumber shall contain host-visible LogicalUnitNumber assigned to this Volume. This property shall only
	// be used when in a single connect configuration and no StorageGroup configuration is used.
	LogicalUnitNumber int
	// LowSpaceWarningThresholdPercents shall be triggered: Across all CapacitySources entries, percent =
	// (SUM(AllocatedBytes) - SUM(ConsumedBytes))/SUM(AllocatedBytes).
	LowSpaceWarningThresholdPercents []string
	// Manufacturer shall contain a value that represents the manufacturer or implementer of the storage volume.
	Manufacturer string
	// MaxBlockSizeBytes shall contain size of the largest addressable unit of this storage volume.
	MaxBlockSizeBytes int
	// MediaSpanCount shall indicate the number of media elements used per span in the secondary RAID for a
	// hierarchical RAID type.
	MediaSpanCount int
	// Metrics shall contain a link to a resource of type VolumeMetrics that specifies the metrics for this volume. IO
	// metrics are reported in the IOStatistics property.
	// Uses Swordfish VolumeMetrics.
	Metrics json.RawMessage
	// Model shall represents a specific storage volume implementation.
	Model string
	// NVMeNamespaceProperties shall contain properties to use when Volume is used to describe an NVMe Namespace.
	NVMeNamespaceProperties NVMeNamespaceProperties
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// 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
	// ProvisioningPolicy shall specify the volume's supported storage allocation policy.
	ProvisioningPolicy ProvisioningPolicy
	// RAIDType shall contain the RAID type of the associated Volume.
	RAIDType RAIDType
	// ReadCachePolicy shall contain a boolean indicator of the read cache policy for the Volume.
	ReadCachePolicy ReadCachePolicyType
	// RecoverableCapacitySourceCount The value is the number of available capacity source resources currently
	// available in the event that an equivalent capacity source resource fails.
	RecoverableCapacitySourceCount int
	// RemainingCapacityPercent shall return {[(SUM(AllocatedBytes) - SUM(ConsumedBytes)]/SUM(AllocatedBytes)}*100
	// represented as an integer value.
	RemainingCapacityPercent int
	// RemoteReplicaTargets shall reference the URIs to the remote target replicas that are sourced by this replica.
	// Remote indicates that the replica is managed by a separate Swordfish service instance.
	RemoteReplicaTargets []string
	// ReplicaInfo shall describe the replica relationship between this storage volume and a corresponding source
	// volume.
	// Uses swordfish ReplicaInfo.
	ReplicaInfo json.RawMessage
	// ReplicaTargets shall reference the target replicas that are sourced by this replica.
	ReplicaTargets []string
	// ReplicaTargets@odata.count
	ReplicaTargetsCount int `json:"ReplicaTargets@odata.count"`
	// ReplicationEnabled shall indicate whether or not replication is enabled on the volume. This property shall be
	// consistent with the state reflected at the storage pool level.
	ReplicationEnabled bool
	// Status shall contain the status of the Volume.
	Status common.Status
	// StripSizeBytes The number of consecutively addressed virtual disk blocks (bytes) mapped to consecutively
	// addressed blocks on a single member extent of a disk array. Synonym for stripe depth and chunk size.
	StripSizeBytes int
	// VolumeUsage shall contain the volume usage type for the Volume.
	VolumeUsage string
	// WriteCachePolicy shall contain a boolean indicator of the write cache policy for the Volume.
	WriteCachePolicy WriteCachePolicyType
	// WriteCacheState shall contain the WriteCacheState policy setting for the Volume.
	WriteCacheState WriteCacheStateType
	// WriteHoleProtectionPolicy shall be set to 'Off'.
	WriteHoleProtectionPolicy string

	// VolumeType shall contain the type of the associated Volume.
	// Deprecated in favor of explicit use of RAIDType.
	VolumeType VolumeType

	// CacheDataVolumesCount is the number of cache data volumes this volume serves
	// as a cache for.
	CacheDataVolumesCount int

	// ClientEndpointsCount is the number of client endpoints this volume is associated with.
	ClientEndpointsCount int

	// ConsistencyGroupsCount is the number of consistency groups this volume is a part of.
	ConsistencyGroupsCount int

	// ControllersCount is the number of storage controllers associated with this volume.
	ControllersCount int

	// DedicatedSpareDrivesCount is the number of spare drives which are dedicated for this volume.
	DedicatedSpareDrivesCount int
	// DrivesCount is the number of associated drives.
	DrivesCount int

	// JournalingMedia is a pointer to the journaling media used for this Volume to address
	// the write hole issue. Valid when WriteHoleProtectionPolicy property is set to 'Journaling'.
	JournalingMedia string

	// ServerEndpointsCount is the number of server endpoints associated with this volume.
	ServerEndpointsCount int

	// SpareResourceSetsCount is the number of spare resource sets available for this volume.
	SpareResourceSetsCount int

	// StorageGroupsCount is the number of storage groups associated with this volume.
	StorageGroupsCount 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) AssignReplicaTarget added in v0.16.0

func (volume *Volume) AssignReplicaTarget(replicaType, replicaUpdateMode, targetVolumeURI string) error

AssignReplicaTarget is used to establish a replication relationship by assigning an existing volume to serve as a target replica for an existing source volume.

`replicaType` is the Swordfish-defined ReplicaType to be created.

`replicaUpdateMode` is the Swordfish-defined ReplicaUpdateMode (synchronous vs asynchronous).

`targetVolumeURI` is the URI to the existing target volume.

func (*Volume) CacheDataVolumes added in v0.16.0

func (volume *Volume) CacheDataVolumes() ([]*Volume, error)

CacheDataVolumes gets the cache data volumes this volume serves as a cache volume. The corresponding VolumeUsage property shall be set to CacheOnly when this property is used.

func (*Volume) CacheVolumeSource added in v0.16.0

func (volume *Volume) CacheVolumeSource() (*Volume, error)

CacheVolumeSource gets the cache volume source for this volume. The corresponding VolumeUsage property shall be set to Data when this property is used.

func (*Volume) ChangeRAIDLayout added in v0.16.0

func (volume *Volume) ChangeRAIDLayout(drives []*Drive, mediaSpanCount int, raidType string, stripSizeBytes int) error

ChangeRAIDLayout will request the system to change the RAID layout of the volume. Depending on the combination of the submitted parameters, this could be changing the RAID type, changing the span count, changing the number of drives used by the volume, or another configuration change supported by the system. Note that usage of this action while online may potentially cause data loss if the available capacity is reduced.

`drives` is an array of the drives to be used by the volume.

`mediaSpanCount` is the number of media elements used per span in the secondary RAID for a hierarchical RAID type.

`raidType` is the Swordfish-defined RAIDType for the volume.

`stripSizeBytes` is the number of blocks (bytes) requested for the new strip size.

func (*Volume) CheckConsistency added in v0.16.0

func (volume *Volume) CheckConsistency() error

CheckConsistency is used to force a check of the Volume's parity or redundant data to ensure it matches calculated values.

func (*Volume) ClientEndpoints added in v0.16.0

func (volume *Volume) ClientEndpoints() ([]*Endpoint, error)

ClientEndpoints gets the client Endpoints this volume is associated with.

func (*Volume) Controllers added in v0.16.0

func (volume *Volume) Controllers() ([]*StorageController, error)

Controllers gets the controllers (of type StorageController) associated with this volume. When the volume is of type NVMe, these may be both the physical and logical controller representations.

func (*Volume) CreateReplicaTarget added in v0.16.0

func (volume *Volume) CreateReplicaTarget(replicaType, replicaUpdateMode, targetStoragePoolURI, volumeName string) error

CreateReplicaTarget is used to create a new volume resource to provide expanded data protection through a replica relationship with the specified source volume.

`replicaType` is the Swordfish-defined ReplicaType to be created.

`replicaUpdateMode` is the Swordfish-defined ReplicaUpdateMode (synchronous vs asynchronous).

`targetStoragePoolURI` is the URI to the existing target storage pool.

`volumeName` is the name for the new target volume.

func (*Volume) DedicatedSpareDrives added in v0.16.0

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

DedicatedSpareDrives gets the drives which are dedicated spares for this volume.

func (*Volume) Drives

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

Drives references the Drives that this volume is associated with.

func (*Volume) ForceEnable added in v0.16.0

func (volume *Volume) ForceEnable() error

ForceEnable is used to force the volume to an enabled state regardless of data loss.

func (*Volume) Initialize added in v0.16.0

func (volume *Volume) Initialize(initializeMethod InitializeMethod, initializeType InitializeType) error

Initialize is used to prepare the contents of the volume for use by the system. If InitializeMethod is not specified in the request body, but the property InitializeMethod is specified, the property InitializeMethod value should be used. If neither is specified, the InitializeMethod should be Foreground.

`initializeMethod` is the Swordfish-defined InitializeMethod to be performed.

`initializeType` is the Swordfish-defined InitializeType to be performed.

func (*Volume) OwningStorageResource added in v0.16.0

func (volume *Volume) OwningStorageResource() (*Storage, error)

OwningStorageResource gets the Storage resource that owns or contains this volume.

func (*Volume) RemoveReplicaRelationship added in v0.16.0

func (volume *Volume) RemoveReplicaRelationship(deleteTargetVolume bool, targetVolumeURI string) error

RemoveReplicaRelationship is used to disable data synchronization between a source and target volume, remove the replication relationship, and optionally delete the target volume.

`deleteTargetVolume` indicates whether to delte the target volume as part of the operation.

`targetVolumeURI` is the URI to the existing target volume.

func (*Volume) ResumeReplication added in v0.16.0

func (volume *Volume) ResumeReplication(targetVolumeURI string) error

ResumeReplication is used to resume the active data synchronization between a source and target volume, without otherwise altering the replication relationship.

`targetVolumeURI` is the URI to the existing target volume.

func (*Volume) ReverseReplicationRelationship added in v0.16.0

func (volume *Volume) ReverseReplicationRelationship(targetVolumeURI string) error

ReverseReplicationRelationship is used to reverse the replication relationship between a source and target volume.

`targetVolumeURI` is the URI to the existing target volume.

func (*Volume) ServerEndpoints added in v0.16.0

func (volume *Volume) ServerEndpoints() ([]*Endpoint, error)

ServerEndpoints gets the server Endpoints this volume is associated with.

func (*Volume) SplitReplication added in v0.16.0

func (volume *Volume) SplitReplication(targetVolumeURI string) error

SplitReplication is used to split the replication relationship and suspend data synchronization between a source and target volume.

`targetVolumeURI` is the URI to the existing target volume.

func (*Volume) SuspendReplication added in v0.16.0

func (volume *Volume) SuspendReplication(targetVolumeURI string) error

SuspendReplication is used to suspend active data synchronization between a source and target volume, without otherwise altering the replication relationship.

`targetVolumeURI` is the URI to the existing target volume.

func (*Volume) UnmarshalJSON

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

UnmarshalJSON unmarshals a Volume object from the raw JSON.

func (*Volume) Update added in v0.16.0

func (volume *Volume) Update() error

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

type VolumeInfo added in v0.16.0

type VolumeInfo struct {
	// AccessCapabilities shall specify a current storage access capability.
	AccessCapabilities []AccessCapability
	// AccessState shall contain the access state for the associated resource in this connection.
	AccessState AccessState
	// LUN shall contain the initiator-visible logical unit number (LUN) assigned to this volume for initiators
	// referenced by the InitiatorEndpoints or InitiatorEndpointGroups properties.
	LUN int
	// Volume shall contain a link to a resource of type Volume. The endpoints referenced by the InitiatorEndpoints or
	// InitiatorEndpointGroups properties shall be given access to this volume as described by this object. If
	// TargetEndpoints or TargetEndpointGroups is present, the referenced initiator endpoints shall be required to
	// access the referenced volume through one of the referenced target endpoints.
	Volume common.Link
}

VolumeInfo shall contain the combination of permissions and volume information.

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"
)

type Wildcard added in v0.16.0

type Wildcard struct {
	common.Entity
	// Values shall contain the list of values to substitute for the wildcard.
	Values []string
}

Wildcard shall contain a wildcard and its substitution values.

type WriteCachePolicyType added in v0.15.0

type WriteCachePolicyType string

WriteCachePolicyType is the type of write cache policy.

const (
	// WriteThroughWriteCachePolicyType A caching technique in which the
	// completion of a write request is not signaled until data is safely
	// stored on non-volatile media.
	WriteThroughWriteCachePolicyType WriteCachePolicyType = "WriteThrough"
	// ProtectedWriteBackWriteCachePolicyType A caching technique in which
	// the completion of a write request is signaled as soon as the data is
	// in cache, and actual writing to non-volatile media is guaranteed to
	// occur at a later time.
	ProtectedWriteBackWriteCachePolicyType WriteCachePolicyType = "ProtectedWriteBack"
	// UnprotectedWriteBackWriteCachePolicyType A caching technique in which
	// the completion of a write request is signaled as soon as the data is
	// in cache; actual writing to non-volatile media is not guaranteed to
	// occur at a later time.
	UnprotectedWriteBackWriteCachePolicyType WriteCachePolicyType = "UnprotectedWriteBack"
	// OffWriteCachePolicyType shall be disabled.
	OffWriteCachePolicyType WriteCachePolicyType = "Off"
)

type WriteCacheStateType added in v0.16.0

type WriteCacheStateType string
const (
	// DegradedWriteCacheStateType indicates an issue with the cache state in which the
	// cache space is diminished or disabled due to a failure or an outside influence
	// such as a discharged battery.
	DegradedWriteCacheStateType WriteCacheStateType = "Degraded"
	// ProtectedWriteCacheStateType indicates that the cache state type in use generally
	// protects write requests on non-volatile media.
	ProtectedWriteCacheStateType WriteCacheStateType = "Protected"
	// UnprotectedWriteCacheStateType indicates that the cache state type in use generally
	// does not protect write requests on non-volatile media.
	UnprotectedWriteCacheStateType WriteCacheStateType = "Unprotected"
)

type Zone added in v0.16.0

type Zone 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"`
	// DefaultRoutingEnabled shall indicate whether routing within this zone is enabled.
	DefaultRoutingEnabled bool
	// Description provides a description of this resource.
	Description string
	// ExternalAccessibility shall contain and indication of accessibility of endpoints in this zone to endpoints
	// outside of this zone.
	ExternalAccessibility ExternalAccessibility
	// Identifiers shall contain a list of all known durable names for the associated zone.
	Identifiers []common.Identifier
	// Oem shall contain the OEM extensions. All values for properties that this object contains shall conform to the
	// Redfish Specification-described requirements.
	OEM json.RawMessage `json:"Oem"`
	// Status shall contain any status or health properties of the resource.
	Status common.Status
	// ZoneType shall contain the type of zone that this zone represents.
	ZoneType ZoneType

	// AddressPoolsCount is the number of address pools associated with this zone.
	AddressPoolsCount int

	// ContainedByZonesCount is the number of zones that contain this zone.
	ContainedByZonesCount int

	// ContainsZonesCount is the number of zones contained in this zone.
	ContainsZonesCount int

	// EndpointsCount is the number of endpoints that this zone contains.
	EndpointsCount int

	// InvolvedSwitchesCount is the number of switches in this zone.
	InvolvedSwitchesCount int

	// ResourceBlocksCount is the number of resource blocks with which this zone is associated.
	ResourceBlockCount int
	// contains filtered or unexported fields
}

Zone shall represent a simple fabric zone for a Redfish implementation.

func GetZone added in v0.16.0

func GetZone(c common.Client, uri string) (*Zone, error)

GetZone will get a Zone instance from the service.

func ListReferencedZones added in v0.16.0

func ListReferencedZones(c common.Client, link string) ([]*Zone, error)

ListReferencedZones gets the collection of Zone from a provided reference.

func (*Zone) AddEndpoint added in v0.16.0

func (zone *Zone) AddEndpoint(endpointURI, endpointETag, zoneETag string) error

AddEndpoint adds an endpoint to a zone.

`endpointURI` is the URI for the endpoint to add to the zone.

`endpointETag` is the current ETag of the endpoint to add to the zone.

`zoneETag` is the current ETag of the zone. If the client-provided ETag does not match the current ETag of the zone, the service shall return the HTTP 428 (Precondition Required) status code to reject the request.

func (*Zone) AddressPools added in v0.16.0

func (zone *Zone) AddressPools() ([]*AddressPool, error)

AddressPools gets the address pools associated with this zone.

func (*Zone) ContainedByZones added in v0.16.0

func (zone *Zone) ContainedByZones() ([]*Zone, error)

ContainedByZones gets the zone that contain this zone.

func (*Zone) ContainsZones added in v0.16.0

func (zone *Zone) ContainsZones() ([]*Zone, error)

ContainsZones gets the zones that are contained by this zone.

func (*Zone) Endpoints added in v0.16.0

func (zone *Zone) Endpoints() ([]*Endpoint, error)

Endpoints gets the endpoints that this zone contains.

func (*Zone) InvolvedSwitches added in v0.16.0

func (zone *Zone) InvolvedSwitches() ([]*Switch, error)

InvolvedSwitches gets the switches in this zone.

func (*Zone) RemoveEndpoint added in v0.16.0

func (zone *Zone) RemoveEndpoint(endpointURI, endpointETag, zoneETag string) error

RemoveEndpoint removes an endpoint from a zone.

`endpointURI` is the URI for the endpoint to remove from the zone.

`endpointETag` is the current ETag of the endpoint to remove from the zone.

`zoneETag` is the current ETag of the zone. If the client-provided ETag does not match the current ETag of the zone, the service shall return the HTTP 428 (Precondition Required) status code to reject the request.

func (*Zone) ResourceBlocks added in v0.16.0

func (zone *Zone) ResourceBlocks() ([]*ResourceBlock, error)

ResourceBlocks gets the resource blocks with which this zone is associated.

func (*Zone) UnmarshalJSON added in v0.16.0

func (zone *Zone) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals a Zone object from the raw JSON.

func (*Zone) Update added in v0.16.0

func (zone *Zone) Update() error

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

type ZoneType added in v0.16.0

type ZoneType string
const (
	// DefaultZoneType shall indicate a zone in which all endpoints are added by default when instantiated. This value
	// shall only be used for zones subordinate to the fabric collection.
	DefaultZoneType ZoneType = "Default"
	// ZoneOfEndpointsZoneType shall indicate a zone that contains resources of type Endpoint. This value shall only be
	// used for zones subordinate to the fabric collection.
	ZoneOfEndpointsZoneType ZoneType = "ZoneOfEndpoints"
	// ZoneOfZonesZoneType shall indicate a zone that contains resources of type Zone. This value shall only be used
	// for zones subordinate to the fabric collection.
	ZoneOfZonesZoneType ZoneType = "ZoneOfZones"
	// ZoneOfResourceBlocksZoneType shall indicate a zone that contains resources of type ResourceBlock. This value
	// shall only be used for zones subordinate to the composition service.
	ZoneOfResourceBlocksZoneType ZoneType = "ZoneOfResourceBlocks"
)

Source Files

Jump to

Keyboard shortcuts

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