model

package
v0.0.0-...-81c02da Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2023 License: Apache-2.0 Imports: 2 Imported by: 32

Documentation

Index

Constants

View Source
const (

	// BootSourceNone - Boot from the normal boot device
	BootSourceNone BootSource = "None"

	//BootSourcePxe - Boot from the Pre-Boot EXecution (PXE) environmen
	BootSourcePxe BootSource = "Pxe"

	//BootSourceFloppy - Boot from the floppy disk drive
	BootSourceFloppy BootSource = "Floppy"

	//BootSourceCd - Boot from the CD or DVD
	BootSourceCd BootSource = "Cd"

	//BootSourceUsb - Boot from a system BIOS-specified USB device
	BootSourceUsb BootSource = "Usb"

	//BootSourceHdd - Boot from a hard drive
	BootSourceHdd BootSource = "Hdd"

	// BootSourceBiosSetup - Boot to the BIOS setup utility
	BootSourceBiosSetup BootSource = "BiosSetup"

	//BootSourceUtilities -
	BootSourceUtilities BootSource = "Utilities"

	//BootSourceDiags - Boot to the manufacturer's diagnostics program
	BootSourceDiags BootSource = "Diags"

	//BootSourceUefiShell - Boot to the UEFI Shell
	BootSourceUefiShell BootSource = "UefiShell"

	//BootSourceUefiTarget - Boot to the UEFI device specified in the UefiTargetBootSourceOverride property
	BootSourceUefiTarget BootSource = "UefiTarget"

	//BootSourceSDCard - Boot from an SD card
	BootSourceSDCard BootSource = "SDCard"

	//BootSourceUefiHTTP - Boot from a UEFI HTTP network location
	BootSourceUefiHTTP BootSource = "UefiHttp"

	//BootSourceRemoteDrive - Boot from a remote drive, such as an iSCSI target
	BootSourceRemoteDrive BootSource = "RemoteDrive"

	//BootSourceUefiBootNext - Boot to the UEFI device that the BootNext property specifies
	BootSourceUefiBootNext BootSource = "UefiBootNext"

	//BootSourceRecovery - Boot to a system-designated recovery process or image
	BootSourceRecovery BootSource = "Recovery"

	//AutomaticRetryConfigDisabled - Disable automatic retrying of booting
	AutomaticRetryConfigDisabled AutomaticRetryConfig = "Disabled"

	//AutomaticRetryConfigRetryAttempts - Always automatically retry booting
	AutomaticRetryConfigRetryAttempts AutomaticRetryConfig = "RetryAttempts"

	//AutomaticRetryConfigRetryAlways - Automatic retrying of booting is based on a specified retry count
	AutomaticRetryConfigRetryAlways AutomaticRetryConfig = "RetryAlways"

	//BootOrderTypesBootOrder - The system uses the BootOrder property to specify the persistent boot order
	BootOrderTypesBootOrder BootOrderTypes = "BootOrder"

	//BootOrderTypesAliasBootOrder - The system uses the AliasBootOrder property to specify the persistent boot order
	BootOrderTypesAliasBootOrder BootOrderTypes = "AliasBootOrder"

	//BootSourceOverrideEnabledDisabled - The system boots normally
	BootSourceOverrideEnabledDisabled BootSourceOverrideEnabled = "Disabled"

	//BootSourceOverrideEnabledOnce - On its next boot cycle, the system boots one time to the boot source override target
	BootSourceOverrideEnabledOnce BootSourceOverrideEnabled = "Once"

	//BootSourceOverrideEnabledContinuous - The system boots to the target specified in the BootSourceOverrideTarget property until this property is `Disabled`
	BootSourceOverrideEnabledContinuous BootSourceOverrideEnabled = "Continuous"

	//BootSourceOverrideModeLegacy - The system boots in non-UEFI boot mode to the boot source override target
	BootSourceOverrideModeLegacy BootSourceOverrideMode = "Legacy"

	//BootSourceOverrideModeUEFI - The system boots in UEFI boot mode to the boot source override target
	BootSourceOverrideModeUEFI BootSourceOverrideMode = "UEFI"

	//StopBootOnFaultNever - The system performs any normal recovery actions during boot if a fault occurs
	StopBootOnFaultNever StopBootOnFault = "Never"

	//StopBootOnFaultAnyFault - The system should stop the boot on any fault
	StopBootOnFaultAnyFault StopBootOnFault = "AnyFault"

	//TrustedModuleRequiredToBootDisabled - No Trusted Module requirement to boot
	TrustedModuleRequiredToBootDisabled TrustedModuleRequiredToBoot = "Disabled"

	//TrustedModuleRequiredToBootRequired - A functional Trusted Module is required to boot
	TrustedModuleRequiredToBootRequired TrustedModuleRequiredToBoot = "Required"

	//BootProgressTypesNone - The system is not booting
	BootProgressTypesNone BootProgressTypes = "None"

	//BootProgressTypesPrimaryProcessorInitializationStarted - The system has started initializing the primary processor
	BootProgressTypesPrimaryProcessorInitializationStarted BootProgressTypes = "PrimaryProcessorInitializationStarted"

	//BootProgressTypesBusInitializationStarted - The system has started initializing the buses
	BootProgressTypesBusInitializationStarted BootProgressTypes = "BusInitializationStarted"

	//BootProgressTypesMemoryInitializationStarted - The system has started initializing the memory
	BootProgressTypesMemoryInitializationStarted BootProgressTypes = "MemoryInitializationStarted"

	//BootProgressTypesSecondaryProcessorInitializationStarted - The system has started initializing the remaining processors.
	BootProgressTypesSecondaryProcessorInitializationStarted BootProgressTypes = "SecondaryProcessorInitializationStarted"

	//BootProgressTypesPCIResourceConfigStarted - The system has started initializing the PCI resources
	BootProgressTypesPCIResourceConfigStarted BootProgressTypes = "PCIResourceConfigStarted"

	//BootProgressTypesSystemHardwareInitializationComplete - The system has completed initializing all hardware
	BootProgressTypesSystemHardwareInitializationComplete BootProgressTypes = "SystemHardwareInitializationComplete"

	//BootProgressTypesSetupEntered - The system has entered the setup utility
	BootProgressTypesSetupEntered BootProgressTypes = "SetupEntered"

	//BootProgressTypesOSBootStarted - The operating system has started booting
	BootProgressTypesOSBootStarted BootProgressTypes = "OSBootStarted"

	//BootProgressTypesOSRunning - The operating system is running
	BootProgressTypesOSRunning BootProgressTypes = "OSRunning"

	//BootProgressTypesOEM - A boot progress state in an OEM-defined format
	BootProgressTypesOEM BootProgressTypes = "OEM"

	//CompositionUseCaseResourceBlockCapable - This computer system supports being registered as a resource block
	//in order for it to participate in composition requests
	//UseCases
	CompositionUseCaseResourceBlockCapable CompositionUseCase = "ResourceBlockCapable"

	//CompositionUseCaseExpandableSystem - This computer system supports expandable system composition and is associated with a resource block
	CompositionUseCaseExpandableSystem CompositionUseCase = "ExpandableSystem"

	//SystemTypePhysical -A computer system
	SystemTypePhysical SystemType = "Physical"

	//SystemTypeVirtual - A virtual machine instance running on this syste
	SystemTypeVirtual SystemType = "Virtual"

	//SystemTypeOS - An operating system instance
	SystemTypeOS SystemType = "OS"

	//SystemTypePhysicallyPartitioned - A hardware-based partition of a computer system
	SystemTypePhysicallyPartitioned SystemType = "PhysicallyPartitioned"

	//SystemTypeVirtuallyPartitioned - A virtual or software-based partition of a computer system
	SystemTypeVirtuallyPartitioned SystemType = "VirtuallyPartitioned"

	//SystemTypeComposed - A computer system constructed by binding resource blocks together
	SystemTypeComposed SystemType = "Composed"

	//SystemTypeDPU - A computer system that performs the functions of a data processing unit, such as a SmartNIC
	SystemTypeDPU SystemType = "DPU"

	//InterfaceTypeTPM1_2 - Trusted Platform Module (TPM) 1.2.
	InterfaceTypeTPM1_2 InterfaceType = "TPM1_2"

	//InterfaceTypeTPM2_0 - Trusted Platform Module (TPM) 2.0
	InterfaceTypeTPM2_0 InterfaceType = "TPM2_0"

	//InterfaceTypeTCM1_0 -Trusted Cryptography Module (TCM) 1.0
	InterfaceTypeTCM1_0 InterfaceType = "TCM1_0"

	//InterfaceTypeSelectionNone - The TrustedModule does not support switching the InterfaceType
	InterfaceTypeSelectionNone InterfaceTypeSelection = "None"

	//InterfaceTypeSelectionFirmwareUpdate - The TrustedModule supports switching InterfaceType through a firmware update
	InterfaceTypeSelectionFirmwareUpdate InterfaceTypeSelection = "FirmwareUpdate"

	//InterfaceTypeSelectionBiosSetting - The TrustedModule supports switching InterfaceType through platform software,
	// such as a BIOS configuration attribute
	InterfaceTypeSelectionBiosSetting InterfaceTypeSelection = "BiosSetting"

	//InterfaceTypeSelectionOemMethod - The TrustedModule supports switching InterfaceType through an OEM proprietary mechanism
	InterfaceTypeSelectionOemMethod InterfaceTypeSelection = "OemMethod"

	//MemoryMirroringSystem - The system supports DIMM mirroring at the system level
	MemoryMirroringSystem MemoryMirroring = "System"

	//MemoryMirroringDIMM -The system supports DIMM mirroring at the DIMM level.  Individual DIMMs can be mirrored
	MemoryMirroringDIMM MemoryMirroring = "DIMM"

	//MemoryMirroringHybrid - The system supports a hybrid mirroring at the system and DIMM levels.
	MemoryMirroringHybrid MemoryMirroring = "Hybrid"

	//MemoryMirroringNone - The system does not support DIMM mirroring
	MemoryMirroringNone MemoryMirroring = "None"

	//WatchdogWarningActionsNone - No action taken
	WatchdogWarningActionsNone WatchdogWarningActions = "None"

	//WatchdogWarningActionsDiagnosticInterrupt -Raise a (typically non-maskable) Diagnostic Interrupt
	WatchdogWarningActionsDiagnosticInterrupt WatchdogWarningActions = "DiagnosticInterrupt"

	//WatchdogWarningActionsSMI - Raise a Systems Management Interrupt (SMI)
	WatchdogWarningActionsSMI WatchdogWarningActions = "SMI"

	//WatchdogWarningActionsMessagingInterrupt - Raise a legacy IPMI messaging interrupt
	WatchdogWarningActionsMessagingInterrupt WatchdogWarningActions = "MessagingInterrupt"

	//WatchdogWarningActionsSCI - Raise an interrupt using the ACPI System Control Interrupt (SCI)
	WatchdogWarningActionsSCI WatchdogWarningActions = "SCI"

	//WatchdogWarningActionsOEM - Perform an OEM-defined action
	WatchdogWarningActionsOEM WatchdogWarningActions = "OEM"

	//WatchdogTimeoutActionsNone - No action taken
	WatchdogTimeoutActionsNone WatchdogTimeoutActions = "None"

	//WatchdogTimeoutActionsResetSystem - Reset the system
	WatchdogTimeoutActionsResetSystem WatchdogTimeoutActions = "ResetSystem"

	//WatchdogTimeoutActionsPowerCycle -Power cycle the system.
	WatchdogTimeoutActionsPowerCycle WatchdogTimeoutActions = "PowerCycle"

	//WatchdogTimeoutActionsPowerDown - Power down the system
	WatchdogTimeoutActionsPowerDown WatchdogTimeoutActions = "PowerDown"

	//WatchdogTimeoutActionsOEM - Perform an OEM-defined action
	WatchdogTimeoutActionsOEM WatchdogTimeoutActions = "OEM"

	//PowerRestorePolicyTypesAlwaysOn - The system always powers on when power is applied
	PowerRestorePolicyTypesAlwaysOn PowerRestorePolicyTypes = "AlwaysOn"

	//PowerRestorePolicyTypesAlwaysOff -The system always remains powered off when power is applied
	PowerRestorePolicyTypesAlwaysOff PowerRestorePolicyTypes = "AlwaysOff"

	//PowerRestorePolicyTypesLastState - The system returns to its last on or off power state when power is applied
	PowerRestorePolicyTypesLastState PowerRestorePolicyTypes = "LastState"

	//PowerModeMaximumPerformance - The system performs at the highest speeds possible
	PowerModeMaximumPerformance PowerMode = "MaximumPerformance"

	//PowerModeBalancedPerformance -The system performs at the highest speeds while utilization is high
	//and performs at reduced speeds when the utilization is low
	PowerModeBalancedPerformance PowerMode = "BalancedPerformance"

	//PowerModePowerSaving -The system performs at reduced speeds to save power
	PowerModePowerSaving PowerMode = "PowerSaving"

	//PowerModeStatic - The system power mode is static
	PowerModeStatic PowerMode = "Static"

	//PowerModeOSControlled - The system power mode is controlled by the operating system
	PowerModeOSControlled PowerMode = "OSControlled"

	//PowerModeOEM - The system power mode is OEM-defined
	PowerModeOEM PowerMode = "OEM"

	//CachePolicyNone - The system does not cache KMIP data
	CachePolicyNone CachePolicy = "None"

	//CachePolicyAfterFirstUse - The system caches KMIP data after first use
	//for the duration specified by the CacheDuration property
	CachePolicyAfterFirstUse CachePolicy = "AfterFirstUse"

	//HostingRoleApplicationServer - The system hosts functionality that supports general purpose applications
	HostingRoleApplicationServer HostingRole = "ApplicationServer"

	//HostingRoleStorageServer - The system hosts functionality that supports the system acting as a storage server
	HostingRoleStorageServer HostingRole = "StorageServer"

	//HostingRoleSwitch - The system hosts functionality that supports the system acting as a switch
	HostingRoleSwitch HostingRole = "Switch"

	//HostingRoleAppliance - The system hosts functionality that supports the system acting as an appliance
	HostingRoleAppliance HostingRole = "Appliance"

	//HostingRoleBareMetalServer - The system hosts functionality that supports the system acting as a bare metal server
	HostingRoleBareMetalServer HostingRole = "BareMetalServer"

	//HostingRoleVirtualMachineServer -The system hosts functionality that supports the system acting as a virtual machine server
	HostingRoleVirtualMachineServer HostingRole = "VirtualMachineServer"

	//HostingRoleContainerServer - The system hosts functionality that supports the system acting as a container server
	HostingRoleContainerServer HostingRole = "ContainerServer"

	//IndicatorLEDUnknown - The state of the indicator LED cannot be determined
	IndicatorLEDUnknown IndicatorLED = "Unknown"

	//IndicatorLEDLit - The indicator LED is lit
	IndicatorLEDLit IndicatorLED = "Lit"

	//IndicatorLEDBlinking -The indicator LED is blinking
	IndicatorLEDBlinking IndicatorLED = "Blinking"

	//IndicatorLEDOff - The indicator LED is off
	IndicatorLEDOff IndicatorLED = "Off"
)
View Source
const (
	// RestrictedPrivilegesLogin - PrivilegeType
	RestrictedPrivilegesLogin RestrictedPrivileges = "Login"

	// RestrictedPrivilegesConfigureManager - PrivilegeType
	RestrictedPrivilegesConfigureManager RestrictedPrivileges = "ConfigureManager"

	// RestrictedPrivilegesConfigureUsers - PrivilegeType
	RestrictedPrivilegesConfigureUsers RestrictedPrivileges = "ConfigureUsers"

	//RestrictedPrivilegesConfigureSelf - PrivilegeType
	RestrictedPrivilegesConfigureSelf RestrictedPrivileges = "ConfigureSelf"

	//RestrictedPrivilegesConfigureComponents - PrivilegeType
	RestrictedPrivilegesConfigureComponents RestrictedPrivileges = "ConfigureComponents"

	//RestrictedPrivilegesNoAuth - PrivilegeType
	RestrictedPrivilegesNoAuth RestrictedPrivileges = "NoAuth"

	//RestrictedPrivilegesConfigureCompositionInfrastructure - PrivilegeType
	RestrictedPrivilegesConfigureCompositionInfrastructure RestrictedPrivileges = "ConfigureCompositionInfrastructure"

	//RestrictedPrivilegesAdministrateSystems - PrivilegeType
	RestrictedPrivilegesAdministrateSystems RestrictedPrivileges = "AdministrateSystems"

	//RestrictedPrivilegesOperateSystems - PrivilegeType
	RestrictedPrivilegesOperateSystems RestrictedPrivileges = "OperateSystems"

	//RestrictedPrivilegesAdministrateStorage - PrivilegeType
	RestrictedPrivilegesAdministrateStorage RestrictedPrivileges = "AdministrateStorage"

	//RestrictedPrivilegesOperateStorageBackup - PrivilegeType
	RestrictedPrivilegesOperateStorageBackup RestrictedPrivileges = "OperateStorageBackup"

	//SupportedAccountTypesRedfish - AccountTypes
	SupportedAccountTypesRedfish SupportedAccountTypes = "Redfish"

	//SupportedAccountTypesSNMP - AccountTypes
	SupportedAccountTypesSNMP SupportedAccountTypes = "SNMP"

	//SupportedAccountTypesOEM - AccountTypes
	SupportedAccountTypesOEM SupportedAccountTypes = "OEM"

	//SupportedAccountTypeHostConsole - AccountTypes
	SupportedAccountTypeHostConsole SupportedAccountTypes = "HostConsole"

	//SupportedAccountTypesManagerConsole - AccountTypes
	SupportedAccountTypesManagerConsole SupportedAccountTypes = "ManagerConsole"

	//SupportedAccountTypesIPMI  - AccountTypes
	SupportedAccountTypesIPMI SupportedAccountTypes = "IPMI"

	//SupportedAccountTypesKVMIP  - AccountTypes
	SupportedAccountTypesKVMIP SupportedAccountTypes = "KVMIP"

	//SupportedAccountTypesVirtualMedia - AccountTypes
	SupportedAccountTypesVirtualMedia SupportedAccountTypes = "VirtualMedia"

	//SupportedAccountTypesWebUI - AccountTypes
	SupportedAccountTypesWebUI SupportedAccountTypes = "WebUI"

	//LocalAccountAuthEnabled - The service never authenticates users based on the account service-defined accounts collection
	LocalAccountAuthEnabled LocalAccountAuth = "Enabled"

	//LocalAccountAuthDisabled -The service authenticates users based on the account service-defined accounts collection.
	LocalAccountAuthDisabled LocalAccountAuth = "Disabled"

	//LocalAccountAuthFallback - The service authenticates users based on the account service-defined accounts collection
	//only if any external account providers are currently unreachable
	LocalAccountAuthFallback LocalAccountAuth = "Fallback"

	//LocalAccountAuthLocalFirst - The service first authenticates users based on the account service-defined accounts collection.
	//  If authentication fails, the service authenticates by using external account providers
	LocalAccountAuthLocalFirst LocalAccountAuth = "LocalFirst"

	//AuthenticationTypesToken - An opaque authentication token
	AuthenticationTypesToken AuthenticationTypes = "Token"

	//AuthenticationTypesKerberosKeytab - A Kerberos keytab
	AuthenticationTypesKerberosKeytab AuthenticationTypes = "KerberosKeytab"

	//AuthenticationTypesUsernameAndPassword - A user name and password combination
	AuthenticationTypesUsernameAndPassword AuthenticationTypes = "UsernameAndPassword"

	//AuthenticationTypesOEM - An OEM-specific authentication mechanism.
	AuthenticationTypesOEM AuthenticationTypes = "OEM"

	//CertificateMappingAttributeWhole -Match the whole certificate
	CertificateMappingAttributeWhole CertificateMappingAttribute = "Whole"

	//CertificateMappingAttributeCommonName - Match the Common Name (CN) field in the provided certificate to the username
	CertificateMappingAttributeCommonName CertificateMappingAttribute = "CommonName"

	//CertificateMappingAttributeUserPrincipalName - Match the User Principal Name (UPN) field in the provided certificate to the username
	CertificateMappingAttributeUserPrincipalName CertificateMappingAttribute = "UserPrincipalName"

	//AccountProviderTypeRedfishService - An external Redfish service.
	AccountProviderTypeRedfishService AccountProviderType = "RedfishService"

	//AccountProviderTypeActiveDirectoryService - An external Active Directory service
	AccountProviderTypeActiveDirectoryService AccountProviderType = "ActiveDirectoryService"

	//AccountProviderTypeLDAPService -A generic external LDAP service
	AccountProviderTypeLDAPService AccountProviderType = "LDAPService"

	//AccountProviderTypeOEM - An OEM-specific external authentication or directory service
	AccountProviderTypeOEM AccountProviderType = "OEM"

	//AccountProviderTypeTACACSplus - "An external TACACS+ service
	AccountProviderTypeTACACSplus AccountProviderType = "TACACSplus"

	//AccountProviderTypeOAuth2 -An external OAuth 2.0 service
	AccountProviderTypeOAuth2 AccountProviderType = "OAuth2"

	//ModeDiscovery - OAuth 2.0 service information for token validation is downloaded by the service
	ModeDiscovery Mode = "Discovery"

	//ModeOffline - OAuth 2.0 service information for token validation is configured by a client
	ModeOffline Mode = "Offline"

	//PasswordExchangeProtocolsASCII - The ASCII Login method
	PasswordExchangeProtocolsASCII PasswordExchangeProtocols = "ASCII"

	//PasswordExchangeProtocolsPAP - The PAP Login method
	PasswordExchangeProtocolsPAP PasswordExchangeProtocols = "PAP"

	//PasswordExchangeProtocolsCHAP - The CHAP Login method
	PasswordExchangeProtocolsCHAP PasswordExchangeProtocols = "CHAP"

	//PasswordExchangeProtocolsMSCHAPv1 - The MS-CHAP v1 Login method
	PasswordExchangeProtocolsMSCHAPv1 PasswordExchangeProtocols = "MSCHAPv1"

	//PasswordExchangeProtocolsMSCHAPv2 - The MS-CHAP v2 Login method
	PasswordExchangeProtocolsMSCHAPv2 PasswordExchangeProtocols = "MSCHAPv2"

	//PrivilegeTypeLogin -Can log in to the service and read Resources
	PrivilegeTypeLogin PrivilegeType = "Login"

	//PrivilegeTypeConfigureManager -Can configure managers
	PrivilegeTypeConfigureManager PrivilegeType = "ConfigureManager"

	//PrivilegeTypeConfigureUsers -Can configure users and their accounts
	PrivilegeTypeConfigureUsers PrivilegeType = "ConfigureUsers"

	//PrivilegeTypeConfigureSelf -Can change the password for the current user account and log out of their own sessions
	PrivilegeTypeConfigureSelf PrivilegeType = "ConfigureSelf"

	//PrivilegeTypeConfigureComponents - Can configure components that this service manages
	PrivilegeTypeConfigureComponents PrivilegeType = "ConfigureComponents"

	//PrivilegeTypeNoAuth -Authentication is not required
	PrivilegeTypeNoAuth PrivilegeType = "NoAuth"

	//PrivilegeTypeConfigureCompositionInfrastructure - Can view and configure composition service resources
	PrivilegeTypeConfigureCompositionInfrastructure PrivilegeType = "ConfigureCompositionInfrastructure"

	//PrivilegeTypeAdministrateSystems - Administrator for systems found in the systems collection.  Able to manage boot configuration, keys, and certificates for systems
	PrivilegeTypeAdministrateSystems PrivilegeType = "AdministrateSystems"

	//PrivilegeTypeOperateSystems -Operator for systems found in the systems collection.  Able to perform resets and configure interfaces
	PrivilegeTypeOperateSystems PrivilegeType = "OperateSystems"

	//PrivilegeTypeAdministrateStorage - Administrator for storage subsystems and storage systems found in the storage collection and storage system collection respectively
	PrivilegeTypeAdministrateStorage PrivilegeType = "AdministrateStorage"

	//PrivilegeTypeOperateStorageBackup -Operator for storage backup functionality for storage subsystems and storage systems found
	//in the storage collection and storage system collection respectively
	PrivilegeTypeOperateStorageBackup PrivilegeType = "OperateStorageBackup"
)
View Source
const (
	// EventTypeAlert - "Alert": "A condition requires attention."
	EventTypeAlert EventType = "Alert"

	// EventTypeMetricReport - "MetricReport": "The telemetry service is sending a metric report."
	EventTypeMetricReport EventType = "MetricReport"

	// EventTypeOther - "Other": "Because EventType is deprecated as of Redfish Specification v1.6,
	// the event is based on a registry or resource but not an EventType."
	EventTypeOther EventType = "Other"

	// EventTypeResourceAdded - "ResourceAdded": "A resource has been added."
	EventTypeResourceAdded EventType = "ResourceAdded"

	// EventTypeResourceRemoved - "ResourceRemoved": "A resource has been removed."
	EventTypeResourceRemoved EventType = "ResourceRemoved"

	// EventTypeResourceUpdated - "ResourceUpdated": "A resource has been updated."
	EventTypeResourceUpdated EventType = "ResourceUpdated"

	// EventTypeStatusChange - "StatusChange": "The status of a resource has changed."
	EventTypeStatusChange EventType = "StatusChange"

	// MessageSeverityCritical - "Critical": "A critical condition requires immediate attention."
	MessageSeverityCritical MessageSeverity = "Critical"

	// MessageSeverityOK - "OK": "Normal."
	MessageSeverityOK MessageSeverity = "OK"

	// MessageSeverityWarning - "Warning": "A condition requires attention."
	MessageSeverityWarning MessageSeverity = "Warning"

	// SNMPAuthenticationProtocolsCommunityString - authentication using SNMP community strings and the value of TrapCommunity.
	SNMPAuthenticationProtocolsCommunityString SNMPAuthenticationProtocols = "CommunityString"

	// SNMPAuthenticationProtocolsHMAC128SHA224 - authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC128SHA224AuthProtocol.
	SNMPAuthenticationProtocolsHMAC128SHA224 SNMPAuthenticationProtocols = "HMAC128_SHA224"

	// SNMPAuthenticationProtocolsHMAC192SHA256 - authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC192SHA256AuthProtocol.
	SNMPAuthenticationProtocolsHMAC192SHA256 SNMPAuthenticationProtocols = "HMAC192_SHA256"

	// SNMPAuthenticationProtocolsHMAC256SHA384 - authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC256SHA384AuthProtocol.
	SNMPAuthenticationProtocolsHMAC256SHA384 SNMPAuthenticationProtocols = "HMAC256_SHA384"

	// SNMPAuthenticationProtocolsHMAC384SHA512 - authentication for SNMPv3 access conforms to the RFC7860-defined usmHMAC384SHA512AuthProtocol.
	SNMPAuthenticationProtocolsHMAC384SHA512 SNMPAuthenticationProtocols = "HMAC384_SHA512"

	// SNMPAuthenticationProtocolsHMACMD5 - authentication conforms to the RFC1321-defined HMAC-MD5-96 authentication protocol.
	SNMPAuthenticationProtocolsHMACMD5 SNMPAuthenticationProtocols = "HMAC_MD5"

	// SNMPAuthenticationProtocolsHMACSHA96 - authentication conforms to the RFC3414-defined HMAC-SHA-96 authentication protocol.
	SNMPAuthenticationProtocolsHMACSHA96 SNMPAuthenticationProtocols = "HMAC_SHA96"

	// SNMPAuthenticationProtocolsNone - authentication is not required.
	SNMPAuthenticationProtocolsNone SNMPAuthenticationProtocols = "None"

	// SNMPEncryptionProtocolsCBCDES - encryption conforms to the RFC3414-defined CBC-DES encryption protocol.
	SNMPEncryptionProtocolsCBCDES SNMPEncryptionProtocols = "CBC_DES"

	// SNMPEncryptionProtocolsCFB128AES128 - encryption conforms to the RFC3414-defined CFB128-AES-128 encryption protocol.
	SNMPEncryptionProtocolsCFB128AES128 SNMPEncryptionProtocols = "CFB128_AES128"

	// SNMPEncryptionProtocolsNone - there is no encryption.
	SNMPEncryptionProtocolsNone SNMPEncryptionProtocols = "None"

	// SubscriptionTypeRedFishEvent - 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.
	SubscriptionTypeRedFishEvent SubscriptionType = "RedfishEvent"

	// SubscriptionTySubscriptionTypeSSE - The subscription follows the HTML5
	// server-sent event definition for event notifications.
	SubscriptionTySubscriptionTypeSSE SubscriptionType = "SSE"

	// SubscriptionTypeSNMPTrap - The subscription follows the various versions
	// of SNMP Traps for event notifications.
	SubscriptionTypeSNMPTrap SubscriptionType = "SNMPTrap"

	// SubscriptionTypeSNMPInform - The subscription follows versions 2 and 3 of
	// SNMP Inform for event notifications.
	SubscriptionTypeSNMPInform SubscriptionType = "SNMPInform"

	// SubscriptionTypeSyslog - The subscription sends Syslog messages for
	// event notifications.
	SubscriptionTypeSyslog SubscriptionType = "Syslog"

	// SubscriptionTypeOEM - The subscription is an OEM subscription.
	SubscriptionTypeOEM SubscriptionType = "OEM"

	// SyslogFacilityAuth - Security/authentication messages.
	SyslogFacilityAuth SyslogFacility = "Auth"

	// SyslogFacilityAuthpriv - Security/authentication messages.
	SyslogFacilityAuthpriv SyslogFacility = "Authpriv"

	// SyslogFacilityConsole - Log alert.
	SyslogFacilityConsole SyslogFacility = "Console"

	// SyslogFacilityCron -Clock daemon.
	SyslogFacilityCron SyslogFacility = "Cron"

	// SyslogFacilityDaemon - System daemons.
	SyslogFacilityDaemon SyslogFacility = "Daemon"

	// SyslogFacilityFTP - FTP daemon.
	SyslogFacilityFTP SyslogFacility = "FTP"

	// SyslogFacilityKern - Kernel messages.
	SyslogFacilityKern SyslogFacility = "Kern"

	// SyslogFacilityLPR - Line printer subsystem.
	SyslogFacilityLPR SyslogFacility = "LPR"

	// SyslogFacilityLocal0 - Locally used facility 0.
	SyslogFacilityLocal0 SyslogFacility = "Local0"

	// SyslogFacilityLocal1 Locally used facility 1.
	SyslogFacilityLocal1 SyslogFacility = "Local1"

	// SyslogFacilityLocal2 - Locally used facility 2.
	SyslogFacilityLocal2 SyslogFacility = "Local2"

	// SyslogFacilityLocal3 - Locally used facility 3.
	SyslogFacilityLocal3 SyslogFacility = "Local3"

	// SyslogFacilityLocal4 - Locally used facility 4.
	SyslogFacilityLocal4 SyslogFacility = "Local4"

	// SyslogFacilityLocal5 - Locally used facility 5.
	SyslogFacilityLocal5 SyslogFacility = "Local5"

	// SyslogFacilityLocal6 - Locally used facility 6.
	SyslogFacilityLocal6 SyslogFacility = "Local6"

	// SyslogFacilityLocal7 - Locally used facility 7.
	SyslogFacilityLocal7 SyslogFacility = "Local7"

	// SyslogFacilityMail - Mail system.
	SyslogFacilityMail SyslogFacility = "Mail"

	// SyslogFacilityNTP - NTP subsystem.
	SyslogFacilityNTP SyslogFacility = "NTP"

	// SyslogFacilityNews - Network news subsystem.
	SyslogFacilityNews SyslogFacility = "News"

	// SyslogFacilitySecurity - Log audit.
	SyslogFacilitySecurity SyslogFacility = "Security"

	// SyslogFacilitySolarisCron - Scheduling daemon.
	SyslogFacilitySolarisCron SyslogFacility = "SolarisCron"

	// SyslogFacilitySyslog - Messages generated internally by syslogd.
	SyslogFacilitySyslog SyslogFacility = "Syslog"

	// SyslogFacilityUUCP - UUCP subsystem.
	SyslogFacilityUUCP SyslogFacility = "UUCP"

	// SyslogFacilityUser - User-level messages.
	SyslogFacilityUser SyslogFacility = "User"

	// SyslogSeverityAlert - A condition that should be corrected immediately, such as a corrupted system database.
	SyslogSeverityAlert SyslogSeverity = "Alert"

	// SyslogSeverityAll - A message of any severity.
	SyslogSeverityAll SyslogSeverity = "All"

	// SyslogSeverityCritical - Hard device errors.
	SyslogSeverityCritical SyslogSeverity = "Critical"

	// SyslogSeverityDebug - Messages that contain information normally of use only when debugging a program.
	SyslogSeverityDebug SyslogSeverity = "Debug"

	// SyslogSeverityEmergency - A panic condition.
	SyslogSeverityEmergency SyslogSeverity = "Emergency"

	// SyslogSeverityError - An Error.
	SyslogSeverityError SyslogSeverity = "Error"

	// SyslogSeverityInformational - Informational only.
	SyslogSeverityInformational SyslogSeverity = "Informational"

	// SyslogSeverityNotice - Conditions that are not error conditions, but that may require special handling.
	SyslogSeverityNotice SyslogSeverity = "Notice"

	// SyslogSeverityWarning - A Warning.
	SyslogSeverityWarning SyslogSeverity = "Warning"

	// DeliveryRetryForever - DeliveryRetryPolicy for events. Currently ODIM only support subscriptions
	// of type RetryForever.
	// DeliveryRetryForever - The subscription is not suspended or terminated,
	// and attempts at delivery of future events shall continue regardless of
	// the number of retries.
	DeliveryRetryForever DeliveryRetryPolicy = "RetryForever"

	// DeliveryRetryForeverWithBackoff - The subscription is not suspended or
	// terminated, and attempts at delivery of future events shall continue
	// regardless of the number of retries, but issued over time according to
	// a service-defined backoff algorithm
	DeliveryRetryForeverWithBackoff DeliveryRetryPolicy = "RetryForeverWithBackoff"

	// DeliverySuspendRetries - The subscription is suspended after the maximum
	// number of retries is reached
	DeliverySuspendRetries DeliveryRetryPolicy = "SuspendRetries"

	// DeliveryTerminateAfterRetries : The subscription is terminated after the
	// maximum number of retries is reached.
	DeliveryTerminateAfterRetries DeliveryRetryPolicy = "TerminateAfterRetries"

	// SMTPAuthenticationAutoDetect - SMTP Authentcation method Auto-detect
	SMTPAuthenticationAutoDetect SMTPAuthentication = "AutoDetect"

	// SMTPAuthenticationCRAMMD5 - SMTPAuthentication method CRAM_MD5
	SMTPAuthenticationCRAMMD5 SMTPAuthentication = "CRAM_MD5"

	// SMTPAuthenticationNone - SMTPAuthentication method None species no authentication
	SMTPAuthenticationNone SMTPAuthentication = "None"

	// SMTPAuthenticationPlain - SMTPAuthentication method Plain
	SMTPAuthenticationPlain SMTPAuthentication = "Plain"

	// SMTPConnectionProtocolAutoDetect - SMTPConnection protocol type Auto-detect
	SMTPConnectionProtocolAutoDetect SMTPConnectionProtocol = "AutoDetect"

	// SMTPConnectionProtocolNone - SMTPConnection Protocol type clear-text
	SMTPConnectionProtocolNone SMTPConnectionProtocol = "None"

	// SMTPConnectionProtocolStartTLS - SMTPConnection Protocol type start-TLS
	SMTPConnectionProtocolStartTLS SMTPConnectionProtocol = "StartTLS"

	// SMTPConnectionProtocolTLSSSL - SMTPConnection Protocol type TLS_SSL
	SMTPConnectionProtocolTLSSSL SMTPConnectionProtocol = "TLS_SSL"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ANACharacteristics

type ANACharacteristics struct {
	AccessState string `json:"AccessState,omitempty"`
	Volume      *Link  `json:"Volume,omitempty"`
}

ANACharacteristics struct is to define the ANACharacteristics of the Storage

type AccelerationFunction

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

AccelerationFunction redfish structure

type AccelerationFunctions

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

AccelerationFunctions redfish structure

type AccountLinks struct {
	Role Link `json:"Role"`
}

AccountLinks struct definition

type AccountProviderType

type AccountProviderType string

AccountProviderType - The type of external account provider to which this service connects

type AccountService

type AccountService struct {
	ODataContext                       string                              `json:"@odata.context,omitempty"`
	ODataEtag                          string                              `json:"@odata.etag,omitempty"`
	ODataID                            string                              `json:"@odata.id"`
	ODataType                          string                              `json:"@odata.type"`
	AccountLockoutCounterResetAfter    int                                 `json:"AccountLockoutCounterResetAfter,omitempty"`
	AccountLockoutCounterResetEnabled  bool                                `json:"AccountLockoutCounterResetEnabled,omitempty"`
	AccountLockoutDuration             int                                 `json:"AccountLockoutDuration,omitempty"`
	AccountLockoutThreshold            int                                 `json:"AccountLockoutThreshold,omitempty"`
	Actions                            *OemActions                         `json:"Actions,omitempty"`
	ActiveDirectory                    *ExternalAccountProvider            `json:"ActiveDirectory,omitempty"`
	AdditionalExternalAccountProviders *AdditionalExternalAccountProviders `json:"AdditionalExternalAccountProviders,omitempty"`
	AuthFailureLoggingThreshold        int                                 `json:"AuthFailureLoggingThreshold,omitempty"`
	LDAP                               *ExternalAccountProvider            `json:"LDAP,omitempty"`
	MultiFactorAuth                    *MultiFactorAuth                    `json:"MultiFactorAuth,omitempty"`
	OAuth2                             *ExternalAccountProvider            `json:"OAuth2,omitempty"`
	Oem                                *Oem                                `json:"Oem,omitempty"`
	PrivilegeMap                       *PrivilegeMap                       `json:"PrivilegeMap,omitempty"`
	RestrictedOemPrivileges            []string                            `json:"RestrictedOemPrivileges,omitempty"`
	RestrictedPrivileges               []string                            `json:"RestrictedPrivileges,omitempty"`  //enum
	SupportedAccountTypes              []string                            `json:"SupportedAccountTypes,omitempty"` //enum
	SupportedOEMAccountTypes           []string                            `json:"SupportedOEMAccountTypes,omitempty"`
	TACACSplus                         *ExternalAccountProvider            `json:"TACACSplus,omitempty"`
	ID                                 string                              `json:"Id"`
	Name                               string                              `json:"Name"`
	Description                        string                              `json:"Description,omitempty"`
	Status                             Status                              `json:"Status,omitempty"`
	Accounts                           Link                                `json:"Accounts,omitempty"`
	Roles                              Link                                `json:"Roles,omitempty"`
	MinPasswordLength                  int                                 `json:"MinPasswordLength,omitempty"`
	MaxPasswordLength                  int                                 `json:"MaxPasswordLength,omitempty"`
	PasswordExpirationDays             int                                 `json:"PasswordExpirationDays,omitempty"`
	ServiceEnabled                     bool                                `json:"ServiceEnabled,omitempty"`
	LocalAccountAuth                   string                              `json:"LocalAccountAuth,omitempty"` //enum
}

AccountService the supported properties, this structure should be updated once ODIMRA supports more properties The AccountService schema defines an account service. The properties are common to, and enable management of, all user accounts. The properties include the password requirements and control features, such as account lockout. Properties and actions in this service specify general behavior that should be followed for typical accounts, however implementations may override these behaviors for special accounts or situations to avoid denial of service or other deadlock situations. Reference :AccountService.v1_12_0.json

type ActionTarget

type ActionTarget struct {
	Target string `json:"target"`
}

ActionTarget contains the action target

type Actions

type Actions struct {
	AddResourceBlock    AddResourceBlock    `json:"AddResourceBlock,omitempty"`
	RemoveResourceBlock RemoveResourceBlock `json:"RemoveResourceBlock,omitempty"`
	Reset               Reset               `json:"Reset,omitempty"`
	SetDefaultBootOrder SetDefaultBootOrder `json:"SetDefaultBootOrder,omitempty"`
	Oem                 Oem                 `json:"Oem,omitempty"`
}

Actions redfish structure

type AddResourceBlock

type AddResourceBlock struct {
	Target string `json:"Target,omitempty"`
	Title  string `json:"title"`
}

AddResourceBlock redfish structure This action adds a resource block to a system This action shall add a resource block to a system

type AdditionalExternalAccountProviders

type AdditionalExternalAccountProviders struct {
	ODataContext         string   `json:"@odata.context,omitempty"`
	ODataEtag            string   `json:"@odata.etag,omitempty"`
	ODataID              string   `json:"@odata.id"`
	ODataType            string   `json:"@odata.type"`
	Description          string   `json:"Description,omitempty"`
	Members              []string `json:"Members"`
	MembersODataCount    int      `json:"Members@odata.count"`
	MembersODataNextLink string   `json:"Members@odata.nextLink,omitempty"`
	Name                 string   `json:"Name"`
	Oem                  *Oem     `json:"Oem,omitempty"`
}

AdditionalExternalAccountProviders redfish structure

type AdditionalFirmwareVersions

type AdditionalFirmwareVersions struct {
	Bootloader     string `json:"Bootloader,omitempty"`
	Kernel         string `json:"Kernel,omitempty"`
	Microcode      string `json:"Microcode,omitempty"`
	OSDistribution string `json:"OSDistribution,omitempty"`
	Oem            Oem    `json:"Oem,omitempty"`
}

AdditionalFirmwareVersions redfish structure

type AddressPool

type AddressPool struct {
	ODataContext string               `json:"@odata.context,omitempty"`
	ODataEtag    string               `json:"@odata.etag,omitempty"`
	ODataID      string               `json:"@odata.id"`
	ODataType    string               `json:"@odata.type"`
	Actions      *OemActions          `json:"Actions,omitempty"`
	Description  string               `json:"Description,omitempty"`
	Ethernet     *AddressPoolEthernet `json:"Ethernet,omitempty"`
	GenZ         *GenZ                `json:"GenZ,omitempty"`
	ID           string               `json:"Id"`
	Links        *AddressPoolLinks    `json:"Links,omitempty"`
	Name         string               `json:"Name"`
	Oem          interface{}          `json:"Oem,omitempty"`
	Status       *Status              `json:"Status,omitempty"`
}

AddressPool is the redfish AddressPool model according to the 2020.3 release

type AddressPoolEthernet

type AddressPoolEthernet struct {
	BFDSingleHopOnly  *BFDSingleHopOnly    `json:"BFDSingleHopOnly,omitempty"`
	BGPEvpn           *BGPEvpn             `json:"BGPEvpn,omitempty"`
	EBGP              *EBGP                `json:"EBGP,omitempty"`
	IPv4              *IPv4                `json:"IPv4,omitempty"`
	MultiProtocolEBGP *EBGP                `json:"MultiProtocolEBGP,omitempty"`
	MultiProtocolIBGP *CommonBGPProperties `json:"MultiProtocolIBGP,omitempty"`
}

AddressPoolEthernet redfish model

type AddressPoolLinks struct {
	Endpoints      []Link      `json:"Endpoints,omitempty"`
	EndpointsCount int         `json:"Endpoints@odata.count,omitempty"`
	Zones          []Link      `json:"Zones,omitempty"`
	ZonesCount     int         `json:"Zones@odata.count,omitempty"`
	Oem            interface{} `json:"Oem,omitempty"`
}

AddressPoolLinks is the struct to links under a AddressPool

type AddressRange

type AddressRange struct {
	Lower string `json:"Lower,omitempty"`
	Upper string `json:"Upper,omitempty"`
}

AddressRange is a common structure EBGPAddressRange, FabricLinkAddressRange, HostAddressRange, etc

type Assembly

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

Assembly redfish structure

type Authentication

type Authentication struct {
	AuthenticationType string `json:"AuthenticationType,omitempty"` //enum
	EncryptionKey      string `json:"EncryptionKey,omitempty"`
	EncryptionKeySet   bool   `json:"EncryptionKeySet,omitempty"`
	KerberosKeytab     string `json:"KerberosKeytab,omitempty"`
	Oem                *Oem   `json:"Oem,omitempty"`
	Password           string `json:"Password,omitempty"`
	Username           string `json:"Username,omitempty"`
}

Authentication redfish structure The information required to authenticate to the external service This type shall contain the information required to authenticate to the external service

type AuthenticationModes

type AuthenticationModes string

AuthenticationModes This property shall contain an array consisting of the authentication modes allowed on this interface

const (
	// AuthenticationModesAuthNone - "AuthNone": "Requests without any sort of authentication are allowed."
	AuthenticationModesAuthNone AuthenticationModes = "AuthNone"

	// AuthenticationModesBasicAuth - "BasicAuth": "Requests using HTTP Basic Authentication are allowed."
	AuthenticationModesBasicAuth AuthenticationModes = "BasicAuth"

	// AuthenticationModesRedfishSessionAuth - "RedfishSessionAuth": "Requests using Redfish Session Authentication are allowed."
	AuthenticationModesRedfishSessionAuth AuthenticationModes = "RedfishSessionAuth"

	// AuthenticationModesOemAuth - "OemAuth": "Requests using OEM authentication mechanisms are allowed."
	AuthenticationModesOemAuth AuthenticationModes = "OemAuth"
)

type AuthenticationTypes

type AuthenticationTypes string

AuthenticationTypes - The type of authentication used to connect to the external account provider

type AuthorizedDevices

type AuthorizedDevices struct {
	Link []*Link `json:"AuthorizedDevices"`
}

AuthorizedDevices - This property shall contain an array of links to devices that are authorized by the license. Clients can provide this property 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 property shall not be present if the AuthorizationScope property contains the value `Service`.

type AutomaticRetryConfig

type AutomaticRetryConfig string

AutomaticRetryConfig - The configuration of how the system retries booting automatically

type BFDSingleHopOnly

type BFDSingleHopOnly struct {
	DemandModeEnabled                 bool   `json:"DemandModeEnabled,omitempty"`
	DesiredMinTxIntervalMilliseconds  int    `json:"DesiredMinTxIntervalMilliseconds,omitempty"`
	KeyChain                          string `json:"KeyChain,omitempty"`
	LocalMultiplier                   int    `json:"LocalMultiplier,omitempty"`
	MeticulousModeEnabled             bool   `json:"MeticulousModeEnabled,omitempty"`
	RequiredMinRxIntervalMilliseconds int    `json:"RequiredMinRxIntervalMilliseconds,omitempty"`
	SourcePort                        int    `json:"SourcePort,omitempty"`
}

BFDSingleHopOnly redfish structure

type BGPEvpn

type BGPEvpn struct {
	ARPProxyEnabled                         bool          `json:"ARPProxyEnabled,omitempty"`
	ARPSupressionEnabled                    bool          `json:"ARPSupressionEnabled,omitempty"`
	AnycastGatewayIPAddress                 string        `json:"AnycastGatewayIPAddress,omitempty"`
	AnycastGatewayMACAddress                string        `json:"AnycastGatewayMACAddress,omitempty"`
	ESINumberRange                          *NumberRange  `json:"ESINumberRange,omitempty"`
	EVINumberRange                          *NumberRange  `json:"EVINumberRange,omitempty"`
	GatewayIPAddress                        string        `json:"GatewayIPAddress,omitempty"`
	GatewayIPAddressRange                   *AddressRange `json:"GatewayIPAddressRange,omitempty"`
	NDPProxyEnabled                         bool          `json:"NDPProxyEnabled,omitempty"`
	NDPSupressionEnabled                    bool          `json:"NDPSupressionEnabled,omitempty"`
	RouteDistinguisherRange                 *AddressRange `json:"RouteDistinguisherRange,omitempty"`
	RouteTargetRange                        *AddressRange `json:"RouteTargetRange,omitempty"`
	UnderlayMulticastEnabled                bool          `json:"UnderlayMulticastEnabled,omitempty"`
	UnknownUnicastSuppressionEnabled        bool          `json:"UnknownUnicastSuppressionEnabled,omitempty"`
	VLANIdentifierAddressRange              *NumberRange  `json:"VLANIdentifierAddressRange,omitempty"`
	RouteDistinguisherAdministratorSubfield string        `json:"RouteDistinguisherAdministratorSubfield,omitempty"`
	RouteTargetAdministratorSubfield        string        `json:"RouteTargetAdministratorSubfield,omitempty"`
}

BGPEvpn redfish structure

type BGPNeighbor

type BGPNeighbor struct {
	Address                             string     `json:"Address,omitempty"`
	AllowOwnASEnabled                   bool       `json:"AllowOwnASEnabled,omitempty"`
	ConnectRetrySeconds                 int        `json:"ConnectRetrySeconds,omitempty"`
	HoldTimeSeconds                     int        `json:"HoldTimeSeconds,omitempty"`
	KeepaliveIntervalSeconds            int        `json:"KeepaliveIntervalSeconds,omitempty"`
	LocalAS                             int        `json:"LocalAS,omitempty"`
	LogStateChangesEnabled              bool       `json:"LogStateChangesEnabled,omitempty"`
	MaxPrefix                           *MaxPrefix `json:"MaxPrefix,omitempty"`
	MinimumAdvertisementIntervalSeconds int        `json:"MinimumAdvertisementIntervalSeconds,omitempty"`
	PassiveModeEnabled                  bool       `json:"PassiveModeEnabled,omitempty"`
	PathMTUDiscoveryEnabled             bool       `json:"PathMTUDiscoveryEnabled,omitempty"`
	PeerAS                              int        `json:"PeerAS,omitempty"`
	ReplacePeerASEnabled                bool       `json:"ReplacePeerASEnabled,omitempty"`
	TCPMaxSegmentSizeBytes              int        `json:"TCPMaxSegmentSizeBytes,omitempty"`
	TreatAsWithdrawEnabled              bool       `json:"TreatAsWithdrawEnabled,omitempty"`
	Enabled                             bool       `json:"Enabled,omitempty"`
	CIDR                                int        `json:"CIDR,omitempty"`
}

BGPNeighbor redfish structure

type BGPRoute

type BGPRoute struct {
	AdvertiseInactiveRoutesEnabled bool `json:"AdvertiseInactiveRoutesEnabled,omitempty"`
	DistanceExternal               int  `json:"DistanceExternal,omitempty"`
	DistanceInternal               int  `json:"DistanceInternal,omitempty"`
	DistanceLocal                  int  `json:"DistanceLocal,omitempty"`
	ExternalCompareRouterIDEnabled bool `json:"ExternalCompareRouterIdEnabled,omitempty"`
	FlapDampingEnabled             bool `json:"FlapDampingEnabled,omitempty"`
	SendDefaultRouteEnabled        bool `json:"SendDefaultRouteEnabled,omitempty"`
}

BGPRoute redfish model

type Bios

type Bios struct {
	Oid         string `json:"@odata.id"`
	Ocontext    string `json:"@odata.context,omitempty"`
	Oetag       string `json:"@odata.etag,omitempty"`
	Otype       string `json:"@odata.type"`
	Description string `json:"description,omitempty"`
	ID          string `json:"ID"`
	Name        string `json:"Name"`
	Oem         Oem    `json:"Oem,omitempty"`
	/*The reference to the Attribute Registry that lists the metadata describing the
	BIOS attribute settings in this resource.
	*/
	AttributeRegistry          string                 `json:"AttributeRegistry,omitempty"` // read-only (null)
	Attributes                 map[string]interface{} `json:"Attributes,omitempty"`        // object
	Links                      Links                  `json:"Links,omitempty"`
	ResetBiosToDefaultsPending bool                   `json:"ResetBiosToDefaultsPending,omitempty"`
}

Bios redfish structure

type Boot

type Boot struct {
	AliasBootOrder                  []string     `json:"AliasBootOrder,omitempty"` //enum
	BootNext                        string       `json:"BootNext,omitempty"`
	BootOptions                     *BootOptions `json:"BootOptions,omitempty"`
	BootOrder                       []string     `json:"BootOrder,omitempty"`
	BootOrderPropertySelection      string       `json:"BootOrderPropertySelection,omitempty"` //enum
	BootSourceOverrideEnabled       string       `json:"BootSourceOverrideEnabled,omitempty"`  //enum
	BootSourceOverrideMode          string       `json:"BootSourceOverrideMode,omitempty"`     //enum
	BootSourceOverrideTarget        string       `json:"BootSourceOverrideTarget,omitempty"`   //enum
	Certificates                    Certificates `json:"Certificates,omitempty"`
	UefiTargetBootSourceOverride    string       `json:"UefiTargetBootSourceOverride,omitempty"`
	AutomaticRetryAttempts          int          `json:"AutomaticRetryAttempts,omitempty"`
	AutomaticRetryConfig            string       `json:"AutomaticRetryConfig,omitempty"`
	HTTPBootURI                     string       `json:"HttpBootUri,omitempty"`
	RemainingAutomaticRetryAttempts int          `json:"RemainingAutomaticRetryAttempts,omitempty"`
	StopBootOnFault                 string       `json:"StopBootOnFault,omitempty"`             //enum
	TrustedModuleRequiredToBoot     string       `json:"TrustedModuleRequiredToBoot,omitempty"` //enum
}

Boot redfish structure The boot information for this resource. This type shall contain properties that describe boot information for a system

type BootOptions

type BootOptions struct {
	ODataContext         string   `json:"@odata.context,omitempty"`
	ODataEtag            string   `json:"@odata.etag,omitempty"`
	ODataID              string   `json:"@odata.id"`
	ODataType            string   `json:"@odata.type"`
	Description          string   `json:"Description,omitempty"`
	Members              []string `json:"Members"`
	MembersODataCount    int      `json:"Members@odata.count"`
	MembersODataNextLink string   `json:"Members@odata.nextLink,omitempty"`
	Name                 string   `json:"Name"`
	Oem                  *Oem     `json:"Oem,omitempty"`
}

BootOptions redfish structure

type BootOrderTypes

type BootOrderTypes string

BootOrderTypes - The name of the boot order property that the system uses for the persistent boot order

type BootProgress

type BootProgress struct {
	LastBootTimeSeconds float32 `json:"LastBootTimeSeconds,omitempty"`
	LastState           string  `json:"LastState,omitempty"` //enum
	LastStateTime       string  `json:"LastStateTime,omitempty"`
	Oem                 *Oem    `json:"Oem,omitempty"`
	OemLastState        string  `json:"OemLastState,omitempty"`
}

BootProgress redfish structure This object describes the last boot progress state This object shall contain the last boot progress state and time

type BootProgressTypes

type BootProgressTypes string

BootProgressTypes - The last boot progress state

type BootSource

type BootSource string

BootSource - AliasBootOrder, BootSourceOverrideTarget Ordered array of boot source aliases representing the persistent boot order associated with this computer system

type BootSourceOverrideEnabled

type BootSourceOverrideEnabled string

BootSourceOverrideEnabled - The state of the boot source override feature

type BootSourceOverrideMode

type BootSourceOverrideMode string

BootSourceOverrideMode - The BIOS boot mode to use when the system boots from the BootSourceOverrideTarget boot source

type CXL

type CXL struct {
	Congestion                          *Congestion               `json:"Congestion,omitempty"`
	ConnectedDeviceMode                 string                    `json:"ConnectedDeviceMode,omitempty"`
	ConnectedDeviceType                 string                    `json:"ConnectedDeviceType,omitempty"`
	CurrentPortConfigurationState       string                    `json:"CurrentPortConfigurationState,omitempty"`
	MaxLogicalDeviceCount               string                    `json:"MaxLogicalDeviceCount,omitempty"`
	QoSTelemetryCapabilities            *QoSTelemetryCapabilities `json:"QoSTelemetryCapabilities,omitempty"`
	TemporaryThroughputReductionEnabled bool                      `json:"TemporaryThroughputReductionEnabled,omitempty"`
}

CXL redfish structure

type CacheMetrics

type CacheMetrics struct {
	CacheMiss                 float32 `json:"CacheMiss,omitempty"`
	CacheMissesPerInstruction float32 `json:"CacheMissesPerInstruction,omitempty"`
	HitRatio                  float32 `json:"HitRatio,omitempty"`
	Level                     string  `json:"Level,omitempty"`
	OccupancyBytes            int     `json:"OccupancyBytes,omitempty"`
	OccupancyPercent          float32 `json:"OccupancyPercent,omitempty"`
}

CacheMetrics redfish structure

type CacheMetricsTotal

type CacheMetricsTotal struct {
	CurrentPeriod CurrentPeriod `json:"CurrentPeriod,omitempty"`
	LifeTime      LifeTime      `json:"LifeTime,omitempty"`
}

CacheMetricsTotal redfish structure

type CachePolicy

type CachePolicy string

CachePolicy - he cache policy to control how KMIP data is cached

type CacheSummary

type CacheSummary struct {
	PersistentCacheSizeMiB int            `json:"PersistentCacheSizeMiB,omitempty"`
	Status                 *StorageStatus `json:"Status,omitempty"`
	TotalCacheSizeMiB      int            `json:"TotalCacheSizeMiB,omitempty"`
}

CacheSummary struct is to define the CacheSummary of the Storage

type CalculationParam

type CalculationParam struct {
	ResultMetric string `json:"ResultMetric,omitempty"`
	SourceMetric string `json:"SourceMetric,omitempty"`
}

CalculationParam defines the metric properties that are part of a calculation

type CapLinks struct {
	TargetCollection *Link `json:"TargetCollection,omitempty"`
}

CapLinks - This property shall contain links to resources that are related to but are not contained by, or subordinate to, the resource Capabilities.

type Capabilities

type Capabilities struct {
	CapabilitiesObject *Link    `json:"CapabilitiesObject,omitempty"`
	Links              CapLinks `json:"Links,omitempty"`
	UseCase            string   `json:"UseCase,omitempty"`
}

Capabilities - This property shall contain an array of objects that describe the capabilities of this resource collection.

type CapabilitiesObject

type CapabilitiesObject struct {
	ODataID           string     `json:"@odata.id"`
	ODataType         string     `json:"@odata.type"`
	CapacityBytes     bool       `json:"CapacityBytes@Redfish.OptionalOnCreate,omitempty"`
	DisplayName       bool       `json:"DisplayName@Redfish.OptionalOnCreate,omitempty"`
	IOPerfModeEnabled bool       `json:"IOPerfModeEnabled@Redfish.OptionalOnCreate,omitempty"`
	RAIDType          bool       `json:"RAIDType@Redfish.RequiredOnCreate"`
	RAIDTypeValues    []string   `json:"RAIDType@Redfish.AllowableValues"`
	Name              string     `json:"Name"`
	ID                string     `json:"Id"`
	StripSizeBytes    bool       `json:"StripSizeBytes@Redfish.OptionalOnCreate,omitempty"`
	ReadCachePolicy   bool       `json:"ReadCachePolicy@Redfish.OptionalOnCreate,omitempty"`
	WriteCachePolicy  bool       `json:"WriteCachePolicy,omitempty"`
	Links             bool       `json:"Links@Redfish.RequiredOnCreate"`
	LinkValues        LinkValues `json:"Links"`
}

CapabilitiesObject - The value of this property shall be a reference to a Resource that matches the type for the given collection and shall contain annotations that describe the properties allowed in the POST request.

type CapableLinkSpeedGbps

type CapableLinkSpeedGbps struct {
	ConfiguredLinkSpeedGbps float64 `json:"ConfiguredLinkSpeedGbps,omitempty"`
	ConfiguredWidth         int     `json:"ConfiguredWidth,omitempty"`
}

CapableLinkSpeedGbps redfish model

type CertificateMappingAttribute

type CertificateMappingAttribute string

CertificateMappingAttribute - The client certificate attribute to map to a user

type Certificates

type Certificates struct {
	Oid                  string `json:"@odata.id"`
	Ocontext             string `json:"@odata.context,omitempty"`
	Oetag                string `json:"@odata.etag,omitempty"`
	Otype                string `json:"@odata.type"`
	Description          string `json:"Description,omitempty"`
	Members              string `json:"Members"`
	MembersCount         int    `json:"Members@odata.count"`
	MembersODataNextLink string `json:"Members@odata.nextLink,omitempty"`
	Name                 string `json:"Name"`
	Oem                  *Oem   `json:"Oem,omitempty"`
}

Certificates redfish structure

type Chassis

type Chassis struct {
	Ocontext                    string            `json:"@odata.context,omitempty"`
	Oid                         string            `json:"@odata.id"`
	Otype                       string            `json:"@odata.type"`
	Oetag                       string            `json:"@odata.etag,omitempty"`
	ID                          string            `json:"Id"`
	Description                 string            `json:"Description,omitempty"`
	Name                        string            `json:"Name"`
	AssetTag                    interface{}       `json:"AssetTag"` // omitempty is not added to make value as null if it's not present
	ChassisType                 string            `json:"ChassisType"`
	DepthMm                     float32           `json:"DepthMm,omitempty"`
	EnvironmentalClass          string            `json:"EnvironmentalClass,omitempty"`
	HeightMm                    float32           `json:"HeightMm,omitempty"`
	IndicatorLED                string            `json:"IndicatorLED,omitempty"`
	Manufacturer                string            `json:"Manufacturer,omitempty"`
	Model                       string            `json:"Model,omitempty"`
	PartNumber                  interface{}       `json:"PartNumber"` // omitempty is not added to make value as null if it's not present
	PowerState                  string            `json:"PowerState,omitempty"`
	SerialNumber                string            `json:"SerialNumber,omitempty"`
	SKU                         string            `json:"SKU,omitempty"`
	UUID                        string            `json:"UUID,omitempty"`
	WeightKg                    float32           `json:"WeightKg,omitempty"`
	WidthMm                     float32           `json:"WidthMm,omitempty"`
	Links                       *Links            `json:"Links,omitempty"`
	Location                    *Link             `json:"Location,omitempty"`
	LogServices                 *LogServices      `json:"LogServices,omitempty"`
	Assembly                    *Assembly         `json:"Assembly,omitempty"`
	NetworkAdapters             *NetworkAdapters  `json:"NetworkAdapters,omitempty"`
	PCIeSlots                   *PCIeSlots        `json:"PCIeSlots,omitempty"`
	PhysicalSecurity            *PhysicalSecurity `json:"PhysicalSecurity,omitempty"`
	Power                       *Link             `json:"Power,omitempty"`
	Sensors                     *Sensors          `json:"Sensors,omitempty"`
	Status                      *Status           `json:"Status,omitempty"`
	Thermal                     *Link             `json:"Thermal,omitempty"`
	Actions                     *OemActions       `json:"Actions,omitempty"`
	Certificates                *Certificates     `json:"Certificates,omitempty"`
	Controls                    *Link             `json:"Controls,omitempty"`
	Drives                      *Link             `json:"Drives,omitempty"`
	EnvironmentMetrics          *Link             `json:"EnvironmentMetrics,omitempty"`
	LocationIndicatorActive     bool              `json:"LocationIndicatorActive,omitempty"`
	MaxPowerWatts               float32           `json:"MaxPowerWatts,omitempty"`
	Measurements                []*Link           `json:"Measurements,omitempty"` // Deprecated in version v1.19.0
	MediaControllers            *Link             `json:"MediaControllers,omitempty"`
	Memory                      *Link             `json:"Memory,omitempty"`
	MemoryDomains               *Link             `json:"MemoryDomains,omitempty"`
	MinPowerWatts               float32           `json:"MinPowerWatts,omitempty"`
	Oem                         *Oem              `json:"Oem,omitempty"`
	PCIeDevices                 *Link             `json:"PCIeDevices,omitempty"`
	PowerSubsystem              *Link             `json:"PowerSubsystem,omitempty"`
	SparePartNumber             string            `json:"SparePartNumber,omitempty"`
	ThermalSubsystem            *Link             `json:"ThermalSubsystem,omitempty"`
	ThermalDirection            string            `json:"ThermalDirection,omitempty"`
	ThermalManagedByParent      bool              `json:"ThermalManagedByParent,omitempty"`
	PoweredByParent             bool              `json:"PoweredByParent,omitempty"`
	Fans                        []*Link           `json:"Fans,omitempty"`
	PowerSupplies               []*Link           `json:"PowerSupplies,omitempty"`
	PowerDistribution           *Link             `json:"PowerDistribution,omitempty"`
	FabricAdapters              *Link             `json:"FabricAdapters,omitempty"`
	ElectricalSourceManagerURIs []string          `json:"ElectricalSourceManagerURIs,omitempty"`
	ElectricalSourceNames       []string          `json:"ElectricalSourceNames,omitempty"`
}

Chassis redfish structure

func (*Chassis) SaveInMemory

func (c *Chassis) SaveInMemory(deviceUUID string) *errors.Error

SaveInMemory will create the Chassis in inmemory DB, with key as UUID Takes:

none as function parameter, but takes c of type *Chassis as a pointer receiver implicitly.

Returns:

err of type error

On Sucess  - returns nil value
On Failure - returns non nil value

type ClientCertificate

type ClientCertificate struct {
	CertificateMappingAttribute     string       `json:"CertificateMappingAttribute,omitempty"` //enum
	Certificates                    Certificates `json:"Certificates,omitempty"`
	Enabled                         bool         `json:"Enabled,omitempty"`
	RespondToUnauthenticatedClients bool         `json:"RespondToUnauthenticatedClients,omitempty"`
}

ClientCertificate redfish structure Various settings for client certificate authentication such as mTLS or CAC/PIV This type shall contain settings for client certificate authentication

type ClientCertificates

type ClientCertificates struct {
	OdataID string `json:"@odata.id"`
}

ClientCertificates redfish structure

type Collection

type Collection struct {
	ODataContext          string                 `json:"@odata.context,omitempty"`
	ODataEtag             string                 `json:"@odata.etag,omitempty"`
	ODataID               string                 `json:"@odata.id"`
	ODataType             string                 `json:"@odata.type"`
	Description           string                 `json:"Description,omitempty"`
	Name                  string                 `json:"Name"`
	Members               []*Link                `json:"Members"`
	MembersCount          int                    `json:"Members@odata.count"`
	MemberNavigationLink  string                 `json:"Members@odata.navigationLink,omitempty"`
	Oem                   interface{}            `json:"Oem,omitempty"`
	MembersNextLink       string                 `json:"Members@odata.nextLink,omitempty"`
	CollectionCapabilitie CollectionCapabilities `json:"@Redfish.CollectionCapabilities,omitempty"`
}

Collection is the redfish resource collection model according to the 2020.3 release

type CollectionCapabilities

type CollectionCapabilities struct {
	OdataType    string          `json:"@odata.type"`
	Capabilities []*Capabilities `json:"Capabilities,omitempty"`
}

CollectionCapabilities - This type shall describe any capabilities of a resource collection in terms of how a client can create resources within the resource collection.

type CommandShell

type CommandShell struct {
	ConnectTypesSupported []string `json:"ConnectTypesSupported"`
	MaxConcurrentSessions int      `json:"MaxConcurrentSessions"`
	ServiceEnabled        bool     `json:"ServiceEnabled"`
}

CommandShell redfish structure

type CommonBGPProperties

type CommonBGPProperties struct {
	ASNumberRange        *NumberRange     `json:"ASNumberRange,omitempty"`
	BGPNeighbor          *BGPNeighbor     `json:"BGPNeighbor,omitempty"`
	BGPRoute             *BGPRoute        `json:"BGPRoute,omitempty"`
	GracefulRestart      *GracefulRestart `json:"GracefulRestart,omitempty"`
	MultiplePaths        *MultiplePaths   `json:"MultiplePaths,omitempty"`
	SendCommunityEnabled bool             `json:"SendCommunityEnabled,omitempty"`
}

CommonBGPProperties redfish model

type Composition

type Composition struct {
	UseCases []string `json:"UseCases,omitempty"` //enum
}

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

type CompositionUseCase

type CompositionUseCase string

CompositionUseCase - The composition use cases in which this computer system can participate

type ComputerSystem

type ComputerSystem struct {
	Ocontext                        string                 `json:"@odata.context,omitempty"`
	Oid                             string                 `json:"@odata.id"`
	Otype                           string                 `json:"@odata.type"`
	Oetag                           string                 `json:"@odata.etag,omitempty"`
	ID                              string                 `json:"ID"`
	Description                     string                 `json:"Description,omitempty"`
	Name                            string                 `json:"Name"`
	Actions                         *ComputerSystemActions `json:"Actions,omitempty"`
	AssetTag                        string                 `json:"AssetTag,omitempty"`
	BiosVersion                     string                 `json:"BiosVersion,omitempty"`
	HostName                        string                 `json:"HostName,omitempty"`
	IndicatorLED                    string                 `json:"IndicatorLED,omitempty"` //enum
	Manufacturer                    string                 `json:"Manufacturer,omitempty"`
	Model                           string                 `json:"Model,omitempty"`
	PartNumber                      string                 `json:"PartNumber,omitempty"`
	PowerRestorePolicy              string                 `json:"PowerRestorePolicy,omitempty"` //enum
	PowerState                      string                 `json:"PowerState,omitempty"`
	SerialNumber                    string                 `json:"SerialNumber,omitempty"`
	SKU                             string                 `json:"SKU,omitempty"`
	SubModel                        string                 `json:"SubModel,omitempty"`
	SystemType                      string                 `json:"SystemType,omitempty"` //enum
	UUID                            string                 `json:"UUID,omitempty"`
	HostingRoles                    []string               `json:"HostingRoles,omitempty"` //enum
	PCIeDevices                     []PCIeDevice           `json:"PCIeDevices,omitempty"`
	PCIeFunctions                   []PCIeFunction         `json:"PCIeFunctions,omitempty"`
	Bios                            Bios                   `json:"Bios,omitempty"`
	Boot                            Boot                   `json:"Boot,omitempty"`
	EthernetInterfaces              EthernetInterfaces     `json:"EthernetInterfaces,omitempty"`
	HostedServices                  HostedServices         `json:"HostedServices,omitempty"`
	HostWatchdogTimer               HostWatchdogTimer      `json:"HostWatchdogTimer,omitempty"`
	Links                           Links                  `json:"Links,omitempty"`
	LogServices                     LogServices            `json:"LogServices,omitempty"`
	Memory                          Memory                 `json:"Memory,omitempty"`
	MemoryDomains                   MemoryDomains          `json:"MemoryDomains,omitempty"`
	MemorySummary                   MemorySummary          `json:"MemorySummary,omitempty"`
	NetworkInterfaces               NetworkInterfaces      `json:"NetworkInterfaces,omitempty"`
	Processors                      Processors             `json:"Processors,omitempty"`
	ProcessorSummary                ProcessorSummary       `json:"ProcessorSummary,omitempty"`
	Redundancy                      []Redundancy           `json:"Redundancy,omitempty"`
	SecureBoot                      SecureBoot             `json:"SecureBoot,omitempty"`
	SimpleStorage                   SimpleStorage          `json:"SimpleStorage,omitempty"`
	Status                          Status                 `json:"Status,omitempty"`
	Storage                         Storage                `json:"Storage,omitempty"`
	TrustedModules                  []TrustedModule        `json:"TrustedModules,omitempty"`
	Oem                             Oem                    `json:"Oem,omitempty"`
	PCIeDevicesCount                int                    `json:"PCIeDevices@odata.count,omitempty"`
	IdlePowerSaver                  *IdlePowerSaver        `json:"IdlePowerSaver,omitempty"`
	KeyManagement                   KeyManagement          `json:"KeyManagement,omitempty"`
	BootProgress                    BootProgress           `json:"BootProgress,omitempty"`
	Certificates                    Certificates           `json:"Certificates"`
	FabricAdapters                  *Link                  `json:"FabricAdapters,omitempty"`
	GraphicalConsole                *GraphicalConsole      `json:"GraphicalConsole,omitempty"`
	GraphicsControllers             *Link                  `json:"GraphicsControllers,omitempty"`
	LastResetTime                   string                 `json:"LastResetTime,omitempty"`
	LocationIndicatorActive         bool                   `json:"LocationIndicatorActive,omitempty"`
	Measurements                    []*Link                `json:"Measurements,omitempty"` //Deprecated in version v1.17.0
	PCIeFunctionsCount              int                    `json:"PCIeFunctions@odata.count,omitempty"`
	PowerCycleDelaySeconds          float32                `json:"PowerCycleDelaySeconds,omitempty"`
	PowerMode                       string                 `json:"PowerMode,omitempty"` //enum
	PowerOffDelaySeconds            float32                `json:"PowerOffDelaySeconds,omitempty"`
	PowerOnDelaySeconds             float32                `json:"PowerOnDelaySeconds,omitempty"`
	RedundancyCount                 int                    `json:"Redundancy@odata.count,omitempty"`
	SerialConsole                   SerialConsole          `json:"SerialConsole,omitempty"`
	USBControllers                  *Link                  `json:"USBControllers,omitempty"`
	VirtualMedia                    *Link                  `json:"VirtualMedia,omitempty"`
	VirtualMediaConfig              *VirtualMediaConfig    `json:"VirtualMediaConfig,omitempty"`
	OffloadedNetworkDeviceFunctions []*Link                `json:"OffloadedNetworkDeviceFunctions,omitempty"`
	LastBootTimeSeconds             int                    `json:"LastBootTimeSeconds,omitempty"`
	ManufacturingMode               bool                   `json:"ManufacturingMode,omitempty"`
	Composition                     *Composition           `json:"Composition,omitempty"`
}

ComputerSystem redfish structure The ComputerSystem schema represents a computer or system instance and the software-visible resources, or items within the data plane, such as memory, CPU, and other devices that it can access.

Details of those resources or subsystems are also linked through this resource

Reference :ComputerSystem.v1_20_0.json

func (*ComputerSystem) SaveInMemory

func (c *ComputerSystem) SaveInMemory(deviceUUID string) *errors.Error

SaveInMemory will create the ComputerSystem data in in-memory DB, with key as UUID Takes:

none as parameter, but recieves c of type *ComputerSystem as pointeer reciever impicitly.

Returns:

err of type error

On Success - returns nil value
On Failure - return non nil value

type ComputerSystemActions

type ComputerSystemActions struct {
	AddResourceBlock    *AddResourceBlock    `json:"AddResourceBlock,omitempty"`
	RemoveResourceBlock *RemoveResourceBlock `json:"RemoveResourceBlock,omitempty"`
	Reset               *Reset               `json:"Reset,omitempty"`
	SetDefaultBootOrder *SetDefaultBootOrder `json:"SetDefaultBootOrder,omitempty"`
	Oem                 *OemActions          `json:"Oem,omitempty"`
}

ComputerSystemActions redfish structure

type Conditions

type Conditions struct {
	LogEntry          *Link    `json:"LogEntry,omitempty"`
	Message           string   `json:"Message,omitempty"`
	MessageArgs       []string `json:"MessageArgs,omitempty"`
	MessageID         string   `json:"MessageId"`
	OriginOfCondition *Link    `json:"OriginOfCondition,omitempty"`
	Resolution        string   `json:"Resolution,omitempty"`
	Severity          Health   `json:"Severity,omitempty"`
	Timestamp         string   `json:"Timestamp,omitempty"`
}

Conditions - This type shall contain the description and details of a condition that exists within this resource or a related resource that requires attention.

type Congestion

type Congestion struct {
	BackpressureSampleInterval   int  `json:"BackpressureSampleInterval,omitempty"`
	CompletionCollectionInterval int  `json:"CompletionCollectionInterval,omitempty"`
	CongestionTelemetryEnabled   bool `json:"CongestionTelemetryEnabled,omitempty"`
	EgressModeratePercentage     int  `json:"EgressModeratePercentage,omitempty"`
	EgressSeverePercentage       int  `json:"EgressSeverePercentage,omitempty"`
	MaxSustainedRequestCmpBias   int  `json:"MaxSustainedRequestCmpBias,omitempty"`
}

Congestion redfish structure

type ConnectTypesSupported

type ConnectTypesSupported string

ConnectTypesSupported This property enumerates the graphical console connection types that the implementation allows.

const (
	// ConnectTypesSupportedKVMIP - "KVMIP": "The controller supports a graphical console connection through a KVM-IP (redirection of Keyboard, Video, Mouse over IP) protocol."
	ConnectTypesSupportedKVMIP ConnectTypesSupported = "KVMIP"

	// ConnectTypesSupportedOem - "Oem": "The controller supports a graphical console connection through an OEM-specific protocol."
	ConnectTypesSupportedOem ConnectTypesSupported = "Oem"
)

type ConnectedEntites

type ConnectedEntites struct {
	EntityPciID       *EntityPciID `json:"EntityPciID,omitempty"`
	EntityRole        string       `json:"EntityRole,omitempty"`
	EntityType        string       `json:"EntityType,omitempty"`
	GenZ              GenZ         `json:"GenZ,omitempty"`
	Identifier        *Identifier  `json:"Identifier,omitempty"`
	Oem               interface{}  `json:"Oem,omitempty"`
	PciClassCode      string       `json:"PciClassCode,omitempty"`
	PciFunctionNumber string       `json:"PciFunctionNumber,omitempty"`
	EntityLink        *Link        `json:"EntityLink,omitempty"`
}

ConnectedEntites for Endpoint

type Contact

type Contact struct {
	ContactName  string `json:"ContactName,omitempty"`
	EmailAddress string `json:"EmailAddress,omitempty"`
	PhoneNumber  string `json:"PhoneNumber,omitempty"`
}

Contact - This property shall contain an object containing information about the contact of the license.

type Contacts

type Contacts struct {
	ContactName  string `json:"ContactName,omitempty"`
	EmailAddress string `json:"EmailAddress,omitempty"`
	PhoneNumber  string `json:"PhoneNumber,omitempty"`
}

Contacts holds the Contacts information

type ControllerCapabilities

type ControllerCapabilities struct {
	DataCenterBridging         *DataCenterBridging    `json:"DataCenterBridging,omitempty"`
	NetworkDeviceFunctionCount interface{}            `json:"NetworkDeviceFunctionCount"`
	NetworkPortCount           interface{}            `json:"NetworkPortCount"`
	NPAR                       *NPAR                  `json:"NPAR,omitempty"`
	NPIV                       *NPIV                  `json:"NPIV,omitempty"`
	VirtualizationOffload      *VirtualizationOffload `json:"VirtualizationOffload,omitempty"`
}

ControllerCapabilities are The capabilities of a controller

type ControllerRates

type ControllerRates struct {
	ConsistencyCheckRatePercent int `json:"ConsistencyCheckRatePercent,omitempty"`
	RebuildRatePercent          int `json:"RebuildRatePercent,omitempty"`
	TransformationRatePercent   int `json:"TransformationRatePercent,omitempty"`
}

ControllerRates struct is to define the ControllerRates of the Storage

type Controllers

type Controllers struct {
	ControllerCapabilities *ControllerCapabilities `json:"ControllerCapabilities,omitempty"`
	FirmwarePackageVersion interface{}             `json:"FirmwarePackageVersion"`
	Identifiers            *Identifier             `json:"Identifiers,omitempty"`
	Links                  *NLinks                 `json:"Links,omitempty"`
	PCIeInterface          *PCIeInterface          `json:"PCIeInterface,omitempty"`
	Location               *Location               `json:"Location,omitempty"`
}

Controllers are The set of network controllers ASICs that make up this NetworkAdapter

type CredentialBootstrapping

type CredentialBootstrapping struct {
	EnableAfterReset bool   `json:"enableAfterReset,omitempty"`
	Enabled          bool   `json:"enabled,omitempty"`
	RoleID           string `json:"roleId,omitempty"`
}

CredentialBootstrapping settings for this interface

type Current

type Current struct {
	VersionString string `json:"VersionString,omitempty"`
}

Current firmware version of the drive

type CurrentPeriod

type CurrentPeriod struct {
	CorrectableECCErrorCount   int `json:"CorrectableECCErrorCount,omitempty"`
	UncorrectableECCErrorCount int `json:"UncorrectableECCErrorCount,omitempty"`
}

CurrentPeriod redfish structure

type DHCP

type DHCP struct {
	DHCPInterfaceMTUBytes int    `json:"DHCPInterfaceMTUBytes,omitempty"`
	DHCPRelayEnabled      bool   `json:"DHCPRelayEnabled,omitempty"`
	DHCPServer            string `json:"DHCPServer,omitempty"`
}

DHCP redfish model

type DHCPv4

type DHCPv4 struct {
	DHCPEnabled     bool   `json:"DHCPEnabled"`
	FallbackAddress string `json:"FallbackAddress"` //enum
	UseDNSServers   bool   `json:"UseDNSServers"`
	UseDomainName   bool   `json:"UseDomainName"`
	UseGateway      bool   `json:"UseGateway"`
	UseNTPServers   bool   `json:"UseNTPServers"`
	UseStaticRoutes bool   `json:"UseStaticRoutes"`
}

DHCPv4 in place object

type DHCPv6

type DHCPv6 struct {
	OperatingMode  string `json:"OperatingMode"` //enum
	UseDNSServers  bool   `json:"UseDNSServers"`
	UseDomainName  bool   `json:"UseDomainName"`
	UseNTPServers  bool   `json:"UseNTPServers"`
	UseRapidCommit bool   `json:"UseRapidCommit"`
}

DHCPv6 in place object

type DataCenterBridging

type DataCenterBridging struct {
	Capable interface{} `json:"Capable"`
}

DataCenterBridging are Data center bridging (DCB) for this controller

type DeliveryRetryPolicy

type DeliveryRetryPolicy string

DeliveryRetryPolicy - The subscription delivery retry policy for events, where the subscription type is RedfishEvent.

func (DeliveryRetryPolicy) IsDeliveryRetryPolicyTypeSupported

func (deliveryRetryPolicy DeliveryRetryPolicy) IsDeliveryRetryPolicyTypeSupported() bool

IsDeliveryRetryPolicyTypeSupported is return true if DeliveryRetryPolicy is RetryForever. Currently ODIM support RetryForever value

func (DeliveryRetryPolicy) IsValidDeliveryRetryPolicyType

func (deliveryRetryPolicy DeliveryRetryPolicy) IsValidDeliveryRetryPolicyType() bool

IsValidDeliveryRetryPolicyType is validate DeliveryRetryPolicy value valid or not

func (DeliveryRetryPolicy) ToString

func (deliveryRetryPolicy DeliveryRetryPolicy) ToString() string

ToString - converts DeliveryRetryPolicy to string type

type Device

type Device struct {
	CapacityBytes int    `json:"CapacityBytes,omitempty"`
	Manufacturer  string `json:"Manufacturer,omitempty"`
	Model         string `json:"Model,omitempty"`
	Name          string `json:"Name"`
	Oem           Oem    `json:"Oem,omitempty"`
	Status        Status `json:"Status,omitempty"`
}

Device in place object

type DiscreteTrigger

type DiscreteTrigger struct {
	DwellTime string `json:"DwellTime,omitempty"`
	Name      string `json:"Name,omitempty"`
	Severity  string `json:"Severity,omitempty"`
	Value     string `json:"Value,omitempty"`
}

DiscreteTrigger holds the list of discrete triggers

type Drive

type Drive struct {
	Oid                           string             `json:"@odata.id"`
	ODataContext                  string             `json:"@odata.context,omitempty"`
	ODataEtag                     string             `json:"@odata.etag,omitempty"`
	ODataType                     string             `json:"@odata.type"`
	Actions                       string             `json:"Actions,omitempty"`
	Assembly                      *Link              `json:"Assembly,omitempty"`
	AssetTag                      string             `json:"AssetTag,omitempty"`
	BlockSizeBytes                int                `json:"BlockSizeBytes,omitempty"`
	CapableSpeedGbs               float32            `json:"CapableSpeedGbs,omitempty"`
	CapacityBytes                 int                `json:"CapacityBytes,omitempty"`
	Description                   string             `json:"Description,omitempty"`
	EncryptionAbility             string             `json:"EncryptionAbility,omitempty"`
	EncryptionStatus              string             `json:"EncryptionStatus,omitempty"`
	FailurePredicted              *bool              `json:"FailurePredicted,omitempty"`
	HotspareReplacementMode       string             `json:"HotspareReplacementMode,omitempty"`
	HotspareType                  string             `json:"HotspareType,omitempty"`
	ID                            string             `json:"Id"`
	Identifiers                   []*Identifier      `json:"Identifiers,omitempty"`
	IndicatorLED                  string             `json:"IndicatorLED,omitempty"`
	Links                         *DriveLinks        `json:"Links,omitempty"`
	LocationIndicatorActive       *bool              `json:"LocationIndicatorActive,omitempty"`
	Manufacturer                  string             `json:"Manufacturer,omitempty"`
	MediaType                     string             `json:"MediaType,omitempty"`
	Model                         string             `json:"Model,omitempty"`
	Multipath                     *bool              `json:"Multipath,omitempty"`
	Name                          string             `json:"Name"`
	NegotiatedSpeedGbs            float32            `json:"NegotiatedSpeedGbs,omitempty"`
	Oem                           *Oem               `json:"Oem,omitempty"`
	Operations                    []*DriveOperations `json:"Operations,omitempty"`
	PartNumber                    string             `json:"PartNumber,omitempty"`
	PhysicalLocation              *PhysicalLocation  `json:"PhysicalLocation,omitempty"`
	PredictedMediaLifeLeftPercent float32            `json:"PredictedMediaLifeLeftPercent,omitempty"`
	Protocol                      string             `json:"Protocol,omitempty"`
	ReadyToRemove                 *bool              `json:"ReadyToRemove,omitempty"`
	Revision                      string             `json:"Revision,omitempty"`
	RotationSpeedRPM              float32            `json:"RotationSpeedRPM,omitempty"`
	SKU                           string             `json:"SKU,omitempty"`
	SerialNumber                  string             `json:"SerialNumber,omitempty"`
	Status                        *StorageStatus     `json:"Status,omitempty"`
	StatusIndicator               string             `json:"StatusIndicator,omitempty"`
	WriteCacheEnabled             *bool              `json:"WriteCacheEnabled,omitempty"`
	CapacityMiB                   int                `json:"CapacityMiB,omitempty"`
	Location                      string             `json:"Location,omitempty"`
	RotationalSpeedRpm            int                `json:"RotationalSpeedRpm,omitempty"`
	FirmwareVersion               *FirmwareVersion   `json:"FirmwareVersion,omitempty"`
	Certificates                  *Certificates      `json:"Certificates,omitempty"`
	EnvironmentMetrics            *Link              `json:"EnvironmentMetrics,omitempty"`
	Measurements                  []*Link            `json:"Measurements,omitempty"` // Deprecated in version v1.14.0
	NetworkDeviceFunctions        []*Link            `json:"NetworkDeviceFunctions,omitempty"`
}

Drive schema represents a single physical drive for a system

type DriveLinks struct {
	Chassis       *Link   `json:"Chassis,omitempty"`
	Endpoints     []*Link `json:"Endpoints,omitempty"`
	Oem           *Oem    `json:"Oem,omitempty"`
	PCIeFunctions []*Link `json:"PCIeFunctions,omitempty"`
	StoragePools  []*Link `json:"StoragePools,omitempty"`
	Volumes       []*Link `json:"Volumes,omitempty"`
	Storage       *Link   `json:"Storage,omitempty"`
}

DriveLinks represents drive links

type DriveOperations

type DriveOperations struct {
	AssociatedTask     *Link  `json:"AssociatedTask,omitempty"`
	OperationName      string `json:"OperationName,omitempty"`
	PercentageComplete int    `json:"PercentageComplete,omitempty"`
}

DriveOperations represents drive operations

type EBGP

type EBGP struct {
	AllowDuplicateASEnabled bool             `json:"AllowDuplicateASEnabled,omitempty"`
	AllowOverrideASEnabled  bool             `json:"AllowOverrideASEnabled,omitempty"`
	AlwaysCompareMEDEnabled bool             `json:"AlwaysCompareMEDEnabled,omitempty"`
	ASNumberRange           *NumberRange     `json:"ASNumberRange,omitempty"`
	BGPLocalPreference      int              `json:"BGPLocalPreference,omitempty"`
	BGPNeighbor             *BGPNeighbor     `json:"BGPNeighbor,omitempty"`
	BGPRoute                *BGPRoute        `json:"BGPRoute,omitempty"`
	BGPWeight               int              `json:"BGPWeight,omitempty"`
	GracefulRestart         *GracefulRestart `json:"GracefulRestart,omitempty"`
	MED                     int              `json:"MED,omitempty"`
	MultihopEnabled         bool             `json:"MultihopEnabled,omitempty"`
	MultihopTTL             int              `json:"MultihopTTL,omitempty"`
	MultiplePaths           *MultiplePaths   `json:"MultiplePaths,omitempty"`
	SendCommunityEnabled    bool             `json:"SendCommunityEnabled,omitempty"`
}

EBGP redfish structure

type Endpoint

type Endpoint struct {
	ODataContext               string               `json:"@odata.context,omitempty"`
	ODataEtag                  string               `json:"@odata.etag,omitempty"`
	ODataID                    string               `json:"@odata.id"`
	ODataType                  string               `json:"@odata.type"`
	Actions                    *OemActions          `json:"Actions,omitempty"`
	Description                string               `json:"Description,omitempty"`
	ID                         string               `json:"Id"`
	Links                      *EndpointLinks       `json:"Links,omitempty"`
	Name                       string               `json:"Name"`
	Oem                        interface{}          `json:"Oem,omitempty"`
	Status                     *Status              `json:"Status,omitempty"`
	ConnectedEntites           []*ConnectedEntites  `json:"ConnectedEntites,omitempty"`
	EndpointProtocol           string               `json:"EndpointProtocol,omitempty"`
	HostReservationMemoryBytes int                  `json:"HostReservationMemoryBytes,omitempty"`
	Identifiers                []EndpointIdentifier `json:"Identifiers,omitempty"`
	IPTransportDetails         []IPTransportDetails `json:"IPTransportDetails,omitempty"`
	Ports                      []Link               `json:"Ports,omitempty"` //Deprecated in version Endpoint.v1_7_0
	PciID                      *PciID               `json:"PciId,omitempty"`
	Redundancy                 []Redundancy         `json:"Redundancy,omitempty"`
	RedundancyCount            int                  `json:"Redundancy@odata.count,omitempty"`
	LocalPorts                 []Link               `json:"LocalPorts,omitempty"`
}

Endpoint is the redfish Endpoint model according to the 2020.3 release

type EndpointIdentifier

type EndpointIdentifier struct {
	DurableName       string `json:"DurableName,omitempty"`
	DurableNameFormat string `json:"DurableNameFormat,omitempty"`
}

EndpointIdentifier for Endpoint

type EndpointLinks struct {
	AddressPools                    []Link      `json:"AddressPools,omitempty"`
	AddressPoolsCount               int         `json:"AddressPools@odata.count,omitempty"`
	ConnectedPorts                  []Link      `json:"ConnectedPorts,omitempty"`
	ConnectedPortsCount             int         `json:"ConnectedPorts@odata.count,omitempty"`
	Connections                     []Link      `json:"Connections,omitempty"`
	ConnectionsCount                int         `json:"Connections@odata.count,omitempty"`
	MutuallyExclusiveEndpoints      []Link      `json:"MutuallyExclusiveEndpoints,omitempty"`
	MutuallyExclusiveEndpointsCount int         `json:"MutuallyExclusiveEndpoints@odata.count,omitempty"`
	NetworkDeviceFunction           []Link      `json:"NetworkDeviceFunction,omitempty"`
	NetworkDeviceFunctionCount      int         `json:"NetworkDeviceFunction@odata.count,omitempty"`
	Ports                           []Link      `json:"Ports,omitempty"`
	PortsCount                      int         `json:"Ports@odata.count,omitempty"`
	Oem                             interface{} `json:"Oem,omitempty"`
	Zones                           []*Link     `json:"Zones,omitempty"`
	ZonesCount                      int         `json:"Zones@odata.count,omitempty"`
}

EndpointLinks is the struct to links under a AddressPool

type EntityPciID

type EntityPciID struct {
	ClassCode         string `json:"ClassCode,omitempty"`
	DeviceID          string `json:"DeviceId,omitempty"`
	FunctionNumber    int    `json:"FunctionNumber,omitempty"`
	SubsystemID       string `json:"SubsystemId,omitempty"`
	SubsystemVendorID string `json:"SubsystemVendorId,omitempty"`
	VendorID          string `json:"VendorId,omitempty"`
}

EntityPciID for Endpoint

type Entries

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

Entries redfish structure

type Ethernet

type Ethernet struct {
	MaxLanes     int `json:"MaxLanes"`
	MaxSpeedMbps int `json:"MaxSpeedMbps"`
	Oem          Oem `json:"Oem"`
}

Ethernet in place object

type EthernetInterfaces

type EthernetInterfaces struct {
	Oid                    string              `json:"@odata.id"`
	Ocontext               string              `json:"@odata.context,omitempty"`
	Oetag                  string              `json:"@odata.etag,omitempty"`
	Otype                  string              `json:"@odata.type"`
	Description            string              `json:"description,omitempty"`
	ID                     string              `json:"ID"`
	Name                   string              `json:"Name"`
	Oem                    Oem                 `json:"Oem,omitempty"`
	AutoNeg                bool                `json:"AutoNeg,omitempty"`
	DHCPv4                 DHCPv4              `json:"DHCPv4,omitempty"`
	DHCPv6                 DHCPv6              `json:"DHCPv6,omitempty"`
	FQDN                   string              `json:"FQDN,omitempty"`
	FullDuplex             bool                `json:"FullDuplex,omitempty"`
	HostName               string              `json:"HostName,omitempty"`
	InterfaceEnabled       bool                `json:"InterfaceEnabled,omitempty"`
	IPv4Addresses          []IPv4Address       `json:"IPv4Addresses,omitempty"`
	IPv4StaticAddresses    []IPv4Address       `json:"IPv4StaticAddresses,omitempty"`
	IPv6Addresses          []IPv6Address       `json:"IPv6Addresses,omitempty"`
	IPv6AddressPolicyTable []IPv6AddressPolicy `json:"IPv6AddressPolicyTable,omitempty"`
	IPv6DefaultGateway     string              `json:"IPv6DefaultGateway,omitempty"`
	IPv6StaticAddresses    []IPv6StaticAddress `json:"IPv6StaticAddresses,omitempty"`
	/* Note: IPv6GatewayStaticAddress and IPv6StaticAddress objects or exactly same,
	   decided to use IPv6StaticAddress in place of IPv6GatewayStaticAddress to achieving
	   code reusability in below line.
	*/
	IPv6StaticDefaultGateways  []IPv6StaticAddress        `json:"IPv6StaticDefaultGateways,omitempty"`
	Links                      []Link                     `json:"Links,omitempty"`
	LinkStatus                 string                     `json:"LinkStatus,omitempty"`
	MACAddress                 string                     `json:"MACAddress,omitempty"`
	MaxIPv6StaticAddresses     int                        `json:"MaxIPv6StaticAddresses,omitempty"`
	MTUSize                    int                        `json:"MTUSize,omitempty"`
	NameServers                []string                   `json:"NameServers,omitempty"`
	PermanentMACAddress        string                     `json:"PermanentMACAddress,omitempty"`
	SpeedMbps                  int                        `json:"SpeedMbps,omitempty"`
	StatelessAddressAutoConfig StatelessAddressAutoConfig `json:"StatelessAddressAutoConfig,omitempty"`
	StaticNameServers          []string                   `json:"StaticNameServers,omitempty"`
	Status                     Status                     `json:"Status,omitempty"`
	UefiDevicePath             string                     `json:"UefiDevicePath,omitempty"`
	VLAN                       VLAN                       `json:"VLAN,omitempty"`
	VLANs                      VLANs                      `json:"VLANs,omitempty"`
}

EthernetInterfaces get

EthernetInterface 1.5.0 This resource shall be used to represent NIC resources as part of the Redfish specification. URIs: /redfish/v1/Managers/{ManagerId}/EthernetInterfaces/{EthernetInterfaceId} /redfish/v1/Systems/{ComputerSystemId}/EthernetInterfaces/{EthernetInterfaceId}

type Event

type Event struct {
	ODataContext string        `json:"@odata.context,omitempty"`
	ODataType    string        `json:"@odata.type"`
	Actions      *OemActions   `json:"Actions,omitempty"`
	Context      string        `json:"Context,omitempty"`
	Description  string        `json:"Description,omitempty"`
	Events       []EventRecord `json:"Events"`
	EventsCount  int           `json:"Events@odata.count,omitempty"`
	ID           string        `json:"id"`
	Name         string        `json:"Name"`
	Oem          interface{}   `json:"Oem,omitempty"`
}

Event schema describes the JSON payload received by an event destination, which has subscribed to event notification, when events occur. This resource contains data about events, including descriptions, severity, and a message identifier to a message registry that can be accessed for further information. Refer to Event.v1_7_0.json of the redfish spec for more details

type EventDestination

type EventDestination struct {
	ODataContext                 string              `json:"@odata.context,omitempty"`
	ODataEtag                    string              `json:"@odata.etag,omitempty"`
	ODataID                      string              `json:"@odata.id"`
	ODataType                    string              `json:"@odata.type"`
	Actions                      *Actions            `json:"Actions,omitempty"`
	Certificates                 *Link               `json:"Certificates,omitempty"`
	ClientCertificates           *Link               `json:"ClientCertificates,omitempty"`
	Context                      string              `json:"Context"`
	DeliveryRetryPolicy          DeliveryRetryPolicy `json:"DeliveryRetryPolicy,omitempty"`
	Description                  string              `json:"Description,omitempty"`
	Destination                  string              `json:"Destination"`
	EventFormatType              string              `json:"EventFormatType,omitempty"`
	EventTypes                   []string            `json:"EventTypes,omitempty"`
	ExcludeMessageIds            []string            `json:"ExcludeMessageIds,omitempty"`
	ExcludeRegistryPrefixes      []string            `json:"ExcludeRegistryPrefixes,omitempty"`
	HeartbeatIntervalMins        int                 `json:"HeartbeatIntervalMinutes,omitempty"`
	HTTPHeaders                  []string            `json:"HttpHeaders,omitempty"`
	ID                           string              `json:"Id"`
	IncludeOriginOfCondition     bool                `json:"IncludeOriginOfCondition,omitempty"`
	MessageIds                   []string            `json:"MessageIds,omitempty"`
	MetricReportDefinitions      *Link               `json:"MetricReportDefinitions,omitempty"`
	MetricReportDefinitionsCount int                 `json:"MetricReportDefinitions@odata.count,omitempty"`
	Name                         string              `json:"Name"`
	OEMProtocol                  string              `json:"OEMProtocol,omitempty"`
	OEMSubscriptionType          string              `json:"OEMSubscriptionType"`
	Oem                          interface{}         `json:"Oem,omitempty"`
	OriginResources              []Link              `json:"OriginResources,omitempty"`
	OriginResourcesCount         int                 `json:"OriginResources@odata.count,omitempty"`
	Protocol                     string              `json:"Protocol"`
	RegistryPrefixes             []string            `json:"RegistryPrefixes,omitempty"`
	ResourceTypes                []string            `json:"ResourceTypes,omitempty"`
	SNMP                         *SNMPSettings       `json:"SNMP,omitempty"`
	SendHeartbeat                bool                `json:"SendHeartbeat,omitempty"`
	Status                       *Status             `json:"Status,omitempty"`
	SubordinateResources         bool                `json:"SubordinateResources,omitempty"`
	SubscriptionType             SubscriptionType    `json:"SubscriptionType,omitempty"`
	SyslogFilters                *SyslogFilter       `json:"SyslogFilters,omitempty"`
	VerifyCertificate            bool                `json:"VerifyCertificate,omitempty"`
}

EventDestination represents the target of an event subscription, including the event types and context to provide to the target in the Event payload. Reference : EventDestination.v1_12_0.json

type EventDestinationAction

type EventDestinationAction struct {
	ResumeSubscription  *ResumeSubscription  `json:"ResumeSubscription,omitempty"`
	SuspendSubscription *SuspendSubscription `json:"SuspendSubscription,omitempty"`
	Oem                 *OemActions          `json:"OemActions,omitempty"`
}

EventDestinationAction contain the available actions for this resource.. Reference : EventDestination.v1_12_0.json

type EventRecord

type EventRecord struct {
	Actions                    *OemActions `json:"Actions,omitempty"`
	Context                    string      `json:"Context,omitempty"`
	EventGroupID               int         `json:"EventGroupId,omitempty"`
	EventID                    string      `json:"EventId,omitempty"`
	EventTimestamp             string      `json:"EventTimestamp,omitempty"`
	EventType                  string      `json:"EventType"`
	MemberID                   string      `json:"MemberId"`
	Message                    string      `json:"Message,omitempty"`
	MessageArgs                []string    `json:"MessageArgs,omitempty"`
	MessageID                  string      `json:"MessageId"`
	MessageSeverity            string      `json:"MessageSeverity,omitempty"`
	Oem                        interface{} `json:"Oem,omitempty"`
	OriginOfCondition          *Link       `json:"OriginOfCondition,omitempty"`
	Severity                   string      `json:"Severity,omitempty"`
	SpecificEventExistsInGroup bool        `json:"SpecificEventExistsInGroup,omitempty"`
	LogEntry                   *Link       `json:"LogEntry,omitempty"`
}

EventRecord - a single event in the Events array of the Event Resource. This has a set of properties that describe a single event. Because Events is an array, more than one EventRecord can be sent simultaneously. Refer to Event.v1_7_0.json of the redfish spec for more details

type EventService

type EventService struct {
	ODataContext                      string                        `json:"@odata.context,omitempty"`
	ODataEtag                         string                        `json:"@odata.etag,omitempty"`
	ODataID                           string                        `json:"@odata.id"`
	ODataType                         string                        `json:"@odata.type"`
	Actions                           *EventServiceActions          `json:"Actions,omitempty"`
	ID                                string                        `json:"Id"`
	Name                              string                        `json:"Name"`
	DeliveryRetryAttempts             int                           `json:"DeliveryRetryAttempts,omitempty"`
	DeliveryRetryIntervalSeconds      int                           `json:"DeliveryRetryIntervalSeconds,omitempty"`
	Description                       string                        `json:"Description,omitempty"`
	EventFormatTypes                  []string                      `json:"EventFormatTypes,omitempty"`
	EventTypesForSubscription         []string                      `json:"EventTypesForSubscription,omitempty"`
	ExcludeMessageID                  bool                          `json:"ExcludeMessageId,omitempty"`
	ExcludeRegistryPrefix             bool                          `json:"ExcludeRegistryPrefix,omitempty"`
	IncludeOriginOfConditionSupported bool                          `json:"IncludeOriginOfConditionSupported,omitempty"`
	RegistryPrefixes                  []string                      `json:"RegistryPrefixes,omitempty"`
	ResourceTypes                     []string                      `json:"ResourceTypes,omitempty"`
	ServerSentEventURI                string                        `json:"ServerSentEventUri,omitempty"`
	ServiceEnabled                    bool                          `json:"ServiceEnabled,omitempty"`
	SMTP                              *SMTPSettings                 `json:"SMTP,omitempty"`
	SSEFilterPropertiesSupported      *SSEFilterPropertiesSupported `json:"SSEFilterPropertiesSupported,omitempty"`
	Status                            *Status                       `json:"Status,omitempty"`
	SubordinateResourcesSupported     bool                          `json:"SubordinateResourcesSupported,omitempty"`
	Subscriptions                     *[]EventDestination           `json:"Subscriptions,omitempty"`
	Oem                               interface{}                   `json:"Oem,omitempty"`
}

EventService - The EventService schema contains properties for managing event subscriptions and generates the events sent to subscribers. The resource has links to the actual collection of subscriptions, which are called event destinations. Reference : EventService.v1_8_0.json

type EventServiceActions

type EventServiceActions struct {
	SubmitTestEvent *SubmitTestEvent `json:"SubmitTestEvent,omitempty"`
	Oem             *OemActions      `json:"OemActions,omitempty"`
}

EventServiceActions - The type shall contain actions on event service

type EventType

type EventType string

EventType - This property shall contain an array that contains the types of events that shall be sent to the destination. To specify that a client is subscribing for Metric Reports, the EventTypes property should include 'MetricReport'. If the subscription does not include this property, the service shall use a single element with a default of `Other`. Note: 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.

func (EventType) IsValidEventType

func (eventType EventType) IsValidEventType() bool

IsValidEventType return true if event type is valid

func (EventType) ToString

func (eventType EventType) ToString() string

ToString - converts EventType to string type

type ExpandQuery

type ExpandQuery struct {
	ExpandAll bool `json:"ExpandAll"`
	Levels    bool `json:"Levels"`
	Links     bool `json:"Links"`
	MaxLevels int  `json:"MaxLevels"`
	NoLinks   bool `json:"NoLinks"`
}

ExpandQuery redfish structure

type ExternalAccountProvider

type ExternalAccountProvider struct {
	AccountProviderType string             `json:"AccountProviderType,omitempty"` //enum
	Authentication      *Authentication    `json:"Authentication,omitempty"`
	Certificates        *Certificates      `json:"Certificates,omitempty"`
	LDAPService         *LDAPService       `json:"LDAPService,omitempty"`
	OAuth2Service       *OAuth2Service     `json:"OAuth2Service,omitempty"`
	PasswordSet         bool               `json:"PasswordSet,omitempty"`
	Priority            int                `json:"Priority,omitempty"`
	RemoteRoleMapping   []*RoleMapping     `json:"RemoteRoleMapping,omitempty"`
	ServiceAddresses    []string           `json:"ServiceAddresses,omitempty"`
	ServiceEnabled      bool               `json:"ServiceEnabled,omitempty"`
	TACACSplusService   *TACACSplusService `json:"TACACSplusService,omitempty"`
}

ExternalAccountProvider redfish structure The external account provider services that can provide accounts for this manager to use for authentication This type shall contain properties that represent external account provider services that can provide accounts for this manager to use for authentication

type FPGA

type FPGA struct {
	ExternalInterfaces   []HostInterface       `json:"ExternalInterfaces"`
	FirmwareID           string                `json:"FirmwareID"`
	FirmwareManufacturer string                `json:"FirmwareManufacturer"`
	FirmwareVersion      string                `json:"FirmwareVersion"`
	FpgaType             string                `json:"FpgaType"` //enum
	HostInterface        HostInterface         `json:"HostInterface"`
	Model                string                `json:"Model"`
	Oem                  Oem                   `json:"Oem"`
	PCIeVirtualFunctions int                   `json:"PCIeVirtualFunctions"`
	ProgrammableFromHost bool                  `json:"ProgrammableFromHost"`
	ReconfigurationSlots []ReconfigurationSlot `json:"ReconfigurationSlots"`
}

FPGA in place object

type Fabric

type Fabric struct {
	ODataContext   string      `json:"@odata.context,omitempty"`
	ODataEtag      string      `json:"@odata.etag,omitempty"`
	ODataID        string      `json:"@odata.id"`
	ODataType      string      `json:"@odata.type"`
	Actions        *OemActions `json:"Actions,omitempty"`
	Description    string      `json:"Description,omitempty"`
	ID             string      `json:"Id"`
	Links          *Links      `json:"Links,omitempty"`
	Name           string      `json:"Name"`
	Oem            *Oem        `json:"Oem,omitempty"`
	Status         *Status     `json:"Status,omitempty"`
	AddressPools   *Link       `json:"AddressPools"`
	Connections    *Link       `json:"Connections,omitempty"`
	EndpointGroups *Link       `json:"EndpointGroups,omitempty"`
	Endpoints      *Link       `json:"Endpoints,omitempty"`
	Switches       *Link       `json:"Switches,omitempty"`
	Zones          *Link       `json:"Zones,omitempty"`
	MaxZones       int         `json:"MaxZones,omitempty"`
	FabricType     string      `json:"FabricType"`
	UUID           string      `json:"UUID"`
}

Fabric is the redfish Fabric model according to the 2020.3 release

type Fans

type Fans struct {
	ODataID                   string       `json:"@odata.id"`
	Actions                   *OemActions  `json:"Actions,omitempty"`
	Assembly                  *Link        `json:"Assembly,omitempty"`
	HotPluggable              bool         `json:"HotPluggable,omitempty"`
	IndicatorLED              string       `json:"IndicatorLED,omitempty"`
	Location                  interface{}  `json:"Location,omitempty"`
	LowerThresholdCritical    int          `json:"LowerThresholdCritical,omitempty"`
	LowerThresholdFatal       int          `json:"LowerThresholdFatal,omitempty"`
	LowerThresholdNonCritical int          `json:"LowerThresholdNonCritical,omitempty"`
	Manufacturer              string       `json:"Manufacturer,omitempty"`
	MaxReadingRange           int          `json:"MaxReadingRange,omitempty"`
	MemberID                  string       `json:"MemberId,omitempty"`
	MinReadingRange           int          `json:"MinReadingRange,omitempty"`
	Model                     string       `json:"Model,omitempty"`
	Name                      string       `json:"Name,omitempty"`
	Oem                       interface{}  `json:"Oem,omitempty"`
	PartNumber                string       `json:"PartNumber,omitempty"`
	PhysicalContext           string       `json:"PhysicalContext,omitempty"`
	Reading                   int          `json:"Reading,omitempty"`
	ReadingUnits              string       `json:"ReadingUnits,omitempty"`
	Redundancy                []Redundancy `json:"Redundancy,omitempty"`
	RelatedItem               []Link       `json:"RelatedItem,omitempty"`
	SensorNumber              int          `json:"SensorNumber,omitempty"`
	SerialNumber              string       `json:"SerialNumber,omitempty"`
	SparePartNumber           string       `json:"SparePartNumber,omitempty"`
	Status                    *Status      `json:"Status,omitempty"`
	UpperThresholdCritical    int          `json:"UpperThresholdCritical,omitempty"`
	UpperThresholdFatal       int          `json:"UpperThresholdFatal,omitempty"`
	UpperThresholdNonCritical int          `json:"UpperThresholdNonCritical,omitempty"`
}

Fans redfish model

type FibreChannel

type FibreChannel struct {
	FabricName                  string   `json:"FabricName,omitempty"`
	NumberDiscoveredRemotePorts int      `json:"NumberDiscoveredRemotePorts,omitempty"`
	PortConnectionType          string   `json:"PortConnectionType,omitempty"`
	AssociatedWorldWideNames    []string `json:"AssociatedWorldWideNames,omitempty"`
}

FibreChannel redfish model

type FirmwareVersion

type FirmwareVersion struct {
	Current *Current `json:"Current,omitempty"`
}

FirmwareVersion of the drive

type ForceFailover

type ForceFailover struct {
	Target string `json:"Target,omitempty"`
	Title  string `json:"Title,omitempty"`
}

ForceFailover action forces a failover of this manager to the manager used in the parameter

type FunctionBandwidth

type FunctionBandwidth struct {
	AllocationPercent     int   `json:"AllocationPercent,omitempty"`
	NetworkDeviceFunction *Link `json:"NetworkDeviceFunctions,omitempty"`
}

FunctionBandwidth redfish structure

type GenZ

type GenZ struct {
	AccessKey string `json:"AccessKey,omitempty"`
	MaxCID    int    `json:"MaxCID,omitempty"`
	MaxSID    int    `json:"MaxSID,omitempty"`
	MinCID    int    `json:"MinCID,omitempty"`
	MinSID    int    `json:"MinSID,omitempty"`
}

GenZ redfish model

type GoogleAuthenticator

type GoogleAuthenticator struct {
	Enabled      bool   `json:"Enabled,omitempty"`
	SecretKey    string `json:"SecretKey,omitempty"`
	SecretKeySet bool   `json:"SecretKeySet,omitempty"`
}

GoogleAuthenticator redfish structure Various settings for Google Authenticator multi-factor authentication This type shall contain settings for Google Authenticator multi-factor authentication

type GracefulRestart

type GracefulRestart struct {
	GracefulRestartEnabled bool `json:"GracefulRestartEnabled,omitempty"`
	HelperModeEnabled      bool `json:"HelperModeEnabled,omitempty"`
	StaleRoutesTimeSeconds int  `json:"StaleRoutesTimeSeconds,omitempty"`
	TimeSeconds            int  `json:"TimeSeconds,omitempty"`
}

GracefulRestart redfish model

type GraphicalConsole

type GraphicalConsole struct {
	ConnectTypesSupported []string `json:"ConnectTypesSupported"` //enum
	MaxConcurrentSessions int      `json:"MaxConcurrentSessions"`
	ServiceEnabled        bool     `json:"ServiceEnabled"`
}

GraphicalConsole redfish structure

type Health

type Health string

Health - This property shall represent the health state of the resource without considering its dependent resources. The values shall conform to those defined in the Redfish Specification.

const (
	// Health is Normal.
	HealthOK Health = "OK"
	// A condition requires attention.
	HealthWarning Health = "Warning"
	// A critical condition requires immediate attention
	HealthCritical Health = "Critical"
)

Below constants represents the health conditions that a resource can have

type HostInterface

type HostInterface struct {
	Ethernet      Ethernet      `json:"Ethernet"`
	InterfaceType string        `json:"InterfaceType"` //enum
	PCIe          PCIeInterface `json:"PCIe"`
}

HostInterface in place object

type HostInterfaceType

type HostInterfaceType string

HostInterfaceType This property shall contain an enumeration that describes the type of the interface

const (
	// HostInterfaceTypeNetworkHostInterface - "NetworkHostInterface": "This interface is a Network Host Interface."
	HostInterfaceTypeNetworkHostInterface HostInterfaceType = "NetworkHostInterface"
)

type HostInterfaces

type HostInterfaces struct {
	ODataContext         string   `json:"@odata.context,omitempty"`
	ODataEtag            string   `json:"@odata.etag,omitempty"`
	ODataID              string   `json:"@odata.id"`
	ODataType            string   `json:"@odata.type"`
	Descriptions         string   `json:"Descriptions,omitempty"`
	Members              *Members `json:"Members"`
	MembersOdataCount    int      `json:"MembersOdataCount"`
	MembersOdataNextLink string   `json:"MembersOdataNextLink,omitempty"`
	Name                 string   `json:"Name"`
	Oem                  *Oem     `json:"Oem,omitempty"`
}

HostInterfaces link to a collection of host interfaces that this manager uses for local host communication. Clients can find host interface configuration options and settings in this navigation property

type HostWatchdogTimer

type HostWatchdogTimer struct {
	FunctionEnabled bool   `json:"FunctionEnabled"`
	Oem             Oem    `json:"Oem"`
	Status          Status `json:"Status"`
	TimeoutAction   string `json:"TimeoutAction"` //enum
	WarningAction   string `json:"WarningAction"` //enum
}

HostWatchdogTimer redfish structure This type describes the host watchdog timer functionality for this system This type shall contain properties that describe the host watchdog timer functionality for this ComputerSystem

type HostedServices

type HostedServices struct {
	Oem             Oem             `json:"Oem"`
	StorageServices StorageServices `json:"StorageServices"`
}

HostedServices redfish structure The services that might be running or installed on the system This type shall describe services that a computer system supports

type HostingRole

type HostingRole string

HostingRole - The hosting roles that this computer system supports

type IOStatistics

type IOStatistics struct {
	NonIORequests      int    `json:"NonIORequests,omitempty"`
	NonIORequestTime   string `json:"NonIORequestTime,omitempty"`
	ReadHitIORequests  int    `json:"ReadHitIORequests,omitempty"`
	ReadIOKiBytes      int    `json:"ReadIOKiBytes,omitempty"`
	ReadIORequests     int    `json:"ReadIORequests,omitempty"`
	ReadIORequestTime  string `json:"ReadIORequestTime,omitempty"`
	WriteHitIORequests int    `json:"WriteHitIORequests,omitempty"`
	WriteIOKiBytes     int    `json:"WriteIOKiBytes,omitempty"`
	WriteIORequests    int    `json:"WriteIORequests,omitempty"`
	WriteIORequestTime string `json:"WriteIORequestTime,omitempty"`
}

IOStatistics represent IO statistics.

type IPTransportDetails

type IPTransportDetails struct {
	IPv4Address       *IPv4Address `json:"IPv4Address,omitempty"`
	IPv6Address       *IPv6Address `json:"IPv6Address,omitempty"`
	Port              int          `json:"Port,omitempty"`
	TransportProtocol string       `json:"TransportProtocol,omitempty"`
}

IPTransportDetails for Endpoint

type IPv4

type IPv4 struct {
	AnycastGatewayIPAddress       string        `json:"AnycastGatewayIPAddress,omitempty"`
	AnycastGatewayMACAddress      string        `json:"AnycastGatewayMACAddress,omitempty"`
	DHCP                          *DHCP         `json:"DHCP,omitempty"`
	DNSDomainName                 string        `json:"DNSDomainName,omitempty"`
	DNSServer                     string        `json:"DNSServer,omitempty"`
	DistributeIntoUnderlayEnabled bool          `json:"DistributeIntoUnderlayEnabled,omitempty"`
	EBGPAddressRange              *AddressRange `json:"EBGPAddressRange,omitempty"`
	FabricLinkAddressRange        *AddressRange `json:"FabricLinkAddressRange,omitempty"`
	GatewayIPAddress              string        `json:"GatewayIPAddress,omitempty"`
	HostAddressRange              *AddressRange `json:"HostAddressRange,omitempty"`
	IBGPAddressRange              *AddressRange `json:"IBGPAddressRange,omitempty"`
	LoopbackAddressRange          *AddressRange `json:"LoopbackAddressRange,omitempty"`
	ManagementAddressRange        *AddressRange `json:"ManagementAddressRange,omitempty"`
	NTPOffsetHoursMinutes         int           `json:"NTPOffsetHoursMinutes,omitempty"`
	NTPServer                     string        `json:"NTPServer,omitempty"`
	NTPTimezone                   string        `json:"NTPTimezone,omitempty"`
	NativeVLAN                    int           `json:"NativeVLAN,omitempty"`
	VLANIdentifierAddressRange    *NumberRange  `json:"VLANIdentifierAddressRange,omitempty"`
	SystemMACRange                *MACRange     `json:"SystemMACRange,omitempty"`
}

IPv4 redfish model

type IPv4Address

type IPv4Address struct {
	Address       string `json:"Address"`
	AddressOrigin string `json:"AddressOrigin"` //enum
	Gateway       string `json:"Gateway"`
	Oem           Oem    `json:"Oem"`
	SubnetMask    string `json:"SubnetMask"`
}

IPv4Address in place object

type IPv6Address

type IPv6Address struct {
	Address       string `json:"Address"`
	AddressOrigin string `json:"AddressOrigin"` //enum
	AddressState  string `json:"AddressState"`  //enum
	Oem           Oem    `json:"Oem"`
	PrefixLength  string `json:"PrefixLength"`
}

IPv6Address in place object

type IPv6AddressPolicy

type IPv6AddressPolicy struct {
	Label      int    `json:"Label"`
	Precedence int    `json:"Precedence"`
	Prefix     string `json:"Prefix"`
}

IPv6AddressPolicy in place object

type IPv6StaticAddress

type IPv6StaticAddress struct {
	Address      string `json:"Address"`
	Oem          Oem    `json:"Oem"`
	PrefixLength string `json:"PrefixLength"`
}

IPv6StaticAddress in place object

type Identifier

type Identifier struct {
	DurableName       string `json:"DurableName,omitempty"`
	DurableNameFormat string `json:"DurableNameFormat,omitempty"`
}

Identifier redfish structure

type Identifiers

type Identifiers struct {
	DurableName       string `json:"DurableName,omitempty"`
	DurableNameFormat string `json:"DurableNameFormat,omitempty"`
}

Identifiers is a redfish model under Zone

type IdlePowerSaver

type IdlePowerSaver struct {
	Enabled                 bool    `json:"Enabled,omitempty"`
	EnterDwellTimeSeconds   int     `json:"EnterDwellTimeSeconds,omitempty"`
	EnterUtilizationPercent float32 `json:"EnterUtilizationPercent,omitempty"`
	ExitDwellTimeSeconds    int     `json:"ExitDwellTimeSeconds,omitempty"`
	ExitUtilizationPercent  float32 `json:"ExitUtilizationPercent,omitempty"`
}

IdlePowerSaver redfish structure The idle power saver settings of a computer system This object shall contain the idle power saver settings of a computer system

type IndicatorLED

type IndicatorLED string

IndicatorLED - The state of the indicator LED, which identifies the system

type InfiniBand

type InfiniBand struct {
	AssociatedNodeGUIDs   []string `json:"AssociatedNodeGUIDs,omitempty"`
	AssociatedPortGUIDs   []string `json:"AssociatedPortGUIDs,omitempty"`
	AssociatedSystemGUIDs []string `json:"AssociatedSystemGUIDs,omitempty"`
}

InfiniBand redfish structure

type InputRanges

type InputRanges struct {
	InputType          string      `json:"InputType,omitempty"`
	MaximumFrequencyHz float64     `json:"MaximumFrequencyHz,omitempty"`
	MaximumVoltage     float64     `json:"MaximumVoltage,omitempty"`
	MinimumFrequencyHz float64     `json:"MinimumFrequencyHz,omitempty"`
	MinimumVoltage     float64     `json:"MinimumVoltage,omitempty"`
	Oem                interface{} `json:"Oem,omitempty"`
	OutputWattage      float64     `json:"OutputWattage,omitempty"`
}

InputRanges redfish model

type InterfaceType

type InterfaceType string

InterfaceType - The interface type of the Trusted Module

type InterfaceTypeSelection

type InterfaceTypeSelection string

InterfaceTypeSelection - The interface type selection supported by this Trusted Module

type InterleavableMemorySet

type InterleavableMemorySet struct {
	MemorySet      []Memory `json:"MemorySet,omitempty"`
	MemorySetCount int      `json:"MemorySet@odata.count,omitempty"`
}

InterleavableMemorySet in place object

type KMIPCertificates

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

KMIPCertificates redfish structure

type KMIPServers

type KMIPServers struct {
	Address       string `json:"Address,omitempty"`
	CacheDuration string `json:"CacheDuration,omitempty"`
	CachePolicy   string `json:"CachePolicy,omitempty"` //enum
	Password      string `json:"Password,omitempty"`
	Port          int    `json:"Port,omitempty"`
	Username      string `json:"Username,omitempty"`
}

KMIPServers redfish structure The KMIP server settings for a computer system This object shall contain the KMIP server settings for a computer system

type KeyManagement

type KeyManagement struct {
	KMIPCertificates *KMIPCertificates `json:"KMIPCertificates,omitempty"`
	KMIPServers      []*KMIPServers    `json:"KMIPServers,omitempty"`
}

KeyManagement redfish structure The key management settings of a computer system This object shall contain the key management settings of a computer system

type LDAPSearchSettings

type LDAPSearchSettings struct {
	BaseDistinguishedNames []string `json:"BaseDistinguishedNames,omitempty"`
	GroupNameAttribute     string   `json:"GroupNameAttribute,omitempty"`
	GroupsAttribute        string   `json:"GroupsAttribute,omitempty"`
	SSHKeyAttribute        string   `json:"SSHKeyAttribute,omitempty"`
	UsernameAttribute      string   `json:"UsernameAttribute,omitempty"`
}

LDAPSearchSettings redfish structure The settings to search a generic LDAP service This type shall contain all required settings to search a generic LDAP service

type LDAPService

type LDAPService struct {
	Oem            *Oem                `json:"Oem,omitempty"`
	SearchSettings *LDAPSearchSettings `json:"SearchSettings,omitempty"`
}

LDAPService redfish structure The settings required to parse a generic LDAP service This type shall contain all required settings to parse a generic LDAP service

type LLDP

type LLDP struct {
	ChassisID             string   `json:"ChassisId,omitempty"`
	ChassisIDSubtype      string   `json:"ChassisIdSubtype,omitempty"`
	ManagementAddressIPv4 string   `json:"ManagementAddressIPv4,omitempty"`
	ManagementAddressIPv6 string   `json:"ManagementAddressIPv6,omitempty"`
	ManagementAddressMAC  string   `json:"ManagementAddressMAC,omitempty"`
	ManagementVlanID      int      `json:"ManagementVlanId,omitempty"`
	PortID                string   `json:"PortId,omitempty"`
	PortIDSubtype         string   `json:"PortIdSubtype,omitempty"`
	SystemCapabilities    []string `json:"SystemCapabilities,omitempty"`
	SystemDescription     string   `json:"SystemDescription,omitempty"`
	SystemName            string   `json:"SystemName,omitempty"`
}

LLDP redfish structure

type License

type License struct {
	OdataContext         string       `json:"@odata.context,omitempty"`
	OdataID              string       `json:"@odata.id"`
	OdataType            string       `json:"@odata.type"`
	ID                   string       `json:"Id"`
	Name                 string       `json:"Name"`
	Description          string       `json:"Description,omitempty"`
	AuthorizationScope   string       `json:"AuthorizationScope,omitempty"`
	Contact              *Contact     `json:"Contact,omitempty"`
	DownloadURI          string       `json:"DownloadURI,omitempty"`
	EntitlementID        string       `json:"EntitlementId,omitempty"`
	ExpirationDate       string       `json:"ExpirationDate,omitempty"`
	GracePeriodDays      int32        `json:"GracePeriodDays,omitempty"`
	InstallDate          string       `json:"InstallDate,omitempty"`
	LicenseInfoURI       string       `json:"LicenseInfoURI,omitempty"`
	LicenseOrigin        string       `json:"LicenseOrigin,omitempty"`
	LicenseString        string       `json:"LicenseString,omitempty"`
	LicenseType          string       `json:"LicenseType,omitempty"`
	Links                *LicenseLink `json:"Links,omitempty"`
	Manufacturer         string       `json:"Manufacturer,omitempty"`
	MaxAuthorizedDevices int32        `json:"MaxAuthorizedDevices,omitempty"`
	PartNumber           string       `json:"PartNumber,omitempty"`
	RemainingDuration    string       `json:"RemainingDuration,omitempty"`
	RemainingUseCount    int32        `json:"RemainingUseCount,omitempty"`
	Removable            bool         `json:"Removable,omitempty"`
	SerialNumber         string       `json:"SerialNumber,omitempty"`
	SKU                  string       `json:"SKU,omitempty"`
	Status               *Status      `json:"Status,omitempty"`
}

License - This resource shall represent a license for a Redfish implementation.

type LicenseCollection

type LicenseCollection struct {
	OdataContext string  `json:"@odata.context,omitempty"`
	Etag         string  `json:"@odata.etag,omitempty"`
	OdataID      string  `json:"@odata.id"`
	OdataType    string  `json:"@odata.type"`
	Description  string  `json:"Description,omitempty"`
	Name         string  `json:"Name"`
	Members      []*Link `json:"Members"`
	MembersCount int     `json:"Members@odata.count"`
}

LicenseCollection - This resource shall represent a resource collection of License instances for a Redfish implementation.

type LicenseInstallRequest

type LicenseInstallRequest struct {
	LicenseString string             `json:"LicenseString"`
	Links         *AuthorizedDevices `json:"Links"`
}

LicenseInstallRequest - Request for install License

type LicenseLink struct {
	AuthorizedDevices []*Link `json:"AuthorizedDevices,omitempty"`
	Oem               *Oem    `json:"Oem,omitempty"`
}

LicenseLink - This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.

type LicenseService

type LicenseService struct {
	OdataContext                 string      `json:"@odata.context,omitempty"`
	Etag                         string      `json:"@odata.etag,omitempty"`
	OdataID                      string      `json:"@odata.id"`
	OdataType                    string      `json:"@odata.type"`
	Description                  string      `json:"Description,omitempty"`
	ID                           string      `json:"Id"`
	Name                         string      `json:"Name"`
	Actions                      *OemActions `json:"Actions,omitempty"`
	LicenseExpirationWarningDays int32       `json:"LicenseExpirationWarningDays,omitempty"`
	Licenses                     *Link       `json:"Licenses,omitempty"`
	ServiceEnabled               bool        `json:"ServiceEnabled,omitempty"`
}

LicenseService - The LicenseService schema describes the license service and the properties for the service itself with a link to the collection of licenses. The license service also provides methods for installing licenses in a Redfish service.

type LifeTime

type LifeTime struct {
	CorrectableECCErrorCount   int `json:"CorrectableECCErrorCount,omitempty"`
	UncorrectableECCErrorCount int `json:"UncorrectableECCErrorCount,omitempty"`
}

LifeTime redfish structure

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

Link holds the odata id redfish links

type LinkConfiguration

type LinkConfiguration struct {
	AutoSpeedNegotiationCapable bool                   `json:"AutoSpeedNegotiationCapable,omitempty"`
	AutoSpeedNegotiationEnabled bool                   `json:"AutoSpeedNegotiationEnabled,omitempty"`
	CapableLinkSpeedGbps        []int                  `json:"CapableLinkSpeedGbps,omitempty"`
	ConfiguredNetworkLinks      []CapableLinkSpeedGbps `json:"ConfiguredNetworkLinks,omitempty"`
}

LinkConfiguration redfish model

type LinkValues

type LinkValues struct {
	DedicatedSpareDrives bool `json:"DedicatedSpareDrives@Redfish.OptionalOnCreate,omitempty"`
	Drives               bool `json:"Drives@Redfish.RequiredOnCreate"`
}

LinkValues - Contains references to other resources that are related to this resource.

type Links struct {
	AddressPools             []*Link     `json:"AddressPools,omitempty"`
	Chassis                  []*Link     `json:"Chassis,omitempty"`
	ComputerSystems          []*Link     `json:"ComputerSystems,omitempty"`
	ConnectedPorts           []*Link     `json:"ConnectedPorts,omitempty"`
	ConsumingComputerSystems []*Link     `json:"ConsumingComputerSystems,omitempty"`
	ContainedBy              *Link       `json:"ContainedBy,omitempty"`
	ContainedByZones         []*Link     `json:"ContainedByZones,omitempty"`
	CooledBy                 []*Link     `json:"CooledBy,omitempty"`
	Endpoints                []*Link     `json:"Endpoints,omitempty"`
	EndpointsCount           int         `json:"Endpoints@odata.count,omitempty"`
	Drives                   []*Link     `json:"Drives,omitempty"`
	ManagedBy                []*Link     `json:"ManagedBy,omitempty"`
	Oem                      interface{} `json:"Oem,omitempty"`
	ManagersInChassis        []*Link     `json:"ManagersInChassis,omitempty"`
	PCIeDevices              []*Link     `json:"PCIeDevices,omitempty"`
	PCIeFunctions            []*Link     `json:"PCIeFunctions,omitempty"`
	PoweredBy                []*Link     `json:"PoweredBy,omitempty"` //Deprecated in version v1.20.0
	Processors               []*Link     `json:"Processors,omitempty"`
	ResourceBlocks           []*Link     `json:"ResourceBlocks,omitempty"`
	Storage                  []*Link     `json:"Storage,omitempty"`
	SupplyingComputerSystems []*Link     `json:"SupplyingComputerSystems,omitempty"`
	Switches                 []*Link     `json:"Switches,omitempty"`
	Zones                    []*Link     `json:"Zones,omitempty"`
	ZonesCount               int         `json:"Zones@odata.count,omitempty"`
	NetworkDeviceFunctions   []*Link     `json:"NetworkDeviceFunctions,omitempty"`
	PowerOutlets             []*Link     `json:"PowerOutlets,omitempty"`
	DedicatedSpareDrives     []*Link     `json:"DedicatedSpareDrives,omitempty"`
}

Links - this is Common to all resources

type LocalAccountAuth

type LocalAccountAuth string

LocalAccountAuth - An indication of how the service uses the accounts collection within this account service as part of authentication

type Location

type Location struct {
	AltitudeMeters int            `json:"AltitudeMeters,omitempty"`
	Latitude       int            `json:"Latitude,omitempty"`
	Longitude      int            `json:"Longitude,omitempty"`
	Contacts       *Contacts      `json:"Contacts,omitempty"`
	Oem            *Oem           `json:"Oem,omitempty"`
	PartLocation   *PartLocation  `json:"PartLocation,omitempty"`
	Placement      *Placement     `json:"Placement,omitempty"`
	PostalAddress  *PostalAddress `json:"PostalAddress,omitempty"`
}

Location holds the location information

type LogEntry

type LogEntry struct {
	Oid                     string   `json:"@odata.id"`
	Ocontext                string   `json:"@odata.context,omitempty"`
	Oetag                   string   `json:"@odata.etag,omitempty"`
	Otype                   string   `json:"@odata.type"`
	Description             string   `json:"description,omitempty"`
	Actions                 *Actions `json:"Actions,omitempty"`
	ID                      string   `json:"ID"`
	AdditionalDataSizeBytes int      `json:"AdditionalDataSizeBytes,omitempty"`
	AdditionalDataURI       string   `json:"AdditionalDataURI,omitempty"`
	Created                 string   `json:"Created,omitempty"`
	MessageArgs             string   `json:"MessageArgs,omitempty"`
	MessageID               string   `json:"MessageID,omitempty"`
	Name                    string   `json:"Name"`
	OEMDiagnosticDataType   string   `json:"OEMDiagnosticDataType,omitempty"`
	Oem                     *Oem     `json:"Oem,omitempty"`
	Resolved                bool     `json:"Resolved,omitempty"`
	Resolution              string   `json:"Resolution,omitempty"`
	Persistency             bool     `json:"Persistency,omitempty"`
	OverflowErrorCount      int      `json:"OverflowErrorCount,omitempty"`
	Originator              string   `json:"Originator,omitempty"`
	OemSensorType           string   `json:"OemSensorType,omitempty"`
	OemRecordFormat         string   `json:"OemRecordFormat,omitempty"`
}

LogEntry redfish structure

type LogServices

type LogServices struct {
	Oid                 string      `json:"@odata.id"`
	Ocontext            string      `json:"@odata.context,omitempty"`
	Otype               string      `json:"@odata.type"`
	Oetag               string      `json:"@odata.etag,omitempty"`
	ID                  string      `json:"Id"`
	Description         string      `json:"Description,omitempty"`
	Name                string      `json:"Name"`
	DateTime            string      `json:"DateTime,omitempty"`
	DateTimeLocalOffset string      `json:"DateTimeLocalOffset,omitempty"`
	Entries             *Entries    `json:"Entries,omitempty"`
	LogEntryType        string      `json:"LogEntryType,omitempty"`
	MaxNumberOfRecords  int         `json:"MaxNumberOfRecords,omitempty"`
	OverWritePolicy     string      `json:"OverWritePolicy,omitempty"`
	ServiceEnabled      bool        `json:"ServiceEnabled,omitempty"`
	Status              *Status     `json:"Status,omitempty"`
	AutoDSTEnabled      bool        `json:"AutoDSTEnabled,omitempty"`
	Actions             *OemActions `json:"Actions,omitempty"`
	Oem                 *Oem        `json:"Oem,omitempty"`
	SyslogFilters       *SysLog     `json:"SyslogFilters,omitempty"`
}

LogServices get

/redfish/v1/Managers/{ManagerId}/LogServices/{LogServiceId} /redfish/v1/Systems/{ComputerSystemId}/LogServices/{LogServiceId}

type MACRange

type MACRange struct {
	Lower string `json:"Lower,omitempty"`
	Upper string `json:"Upper,omitempty"`
}

MACRange redfish model

type MFABypass

type MFABypass struct {
	BypassTypes []string `json:"BypassTypes,omitempty"`
}

MFABypass redfish structure Multi-factor authentication bypass settings This type shall contain multi-factor authentication bypass settings

type Manager

type Manager struct {
	ODataContext               string                      `json:"@odata.context,omitempty"`
	ODataEtag                  string                      `json:"@odata.etag,omitempty"`
	ODataID                    string                      `json:"@odata.id"`
	ODataType                  string                      `json:"@odata.type"`
	Actions                    *ManagerActions             `json:"Actions,omitempty"`
	Description                string                      `json:"Description,omitempty"`
	ID                         string                      `json:"Id"`
	Links                      *ManagerLinks               `json:"Links,omitempty"`
	Name                       string                      `json:"Name"`
	Oem                        *Oem                        `json:"Oem,omitempty"`
	EthernetInterfaces         *Link                       `json:"EthernetInterfaces,omitempty"`
	FirmwareVersion            string                      `json:"FirmwareVersion,omitempty"`
	Status                     *ManagerStatus              `json:"Status,omitempty"`
	AutoDSTEnabled             bool                        `json:"AutoDSTEnabled,omitempty"`
	DateTime                   string                      `json:"DateTime,omitempty"`
	DateTimeLocalOffset        string                      `json:"DateTimeLocalOffset,omitempty"`
	HostInterfaces             *HostInterface              `json:"HostInterfaces,omitempty"`
	LastResetTime              string                      `json:"LastResetTime,omitempty"`
	LogServices                *Link                       `json:"LogServices,omitempty"`
	ManagerType                string                      `json:"ManagerType,omitempty"` //enum
	Manufacturer               string                      `json:"Manufacturer,omitempty"`
	Model                      string                      `json:"Model,omitempty"`
	NetworkProtocol            *Link                       `json:"NetworkProtocol,omitempty"`
	PartNumber                 string                      `json:"PartNumber,omitempty"`
	PowerState                 string                      `json:"PowerState,omitempty"` //enum
	Redundancy                 []Redundancy                `json:"Redundancy,omitempty"`
	RemoteAccountService       *Link                       `json:"RemoteAccountService,omitempty"`
	RemoteRedfishServiceURI    string                      `json:"RemoteRedfishServiceUri,omitempty"`
	SerialNumber               string                      `json:"SerialNumber,omitempty"`
	ServiceEntryPointUUID      string                      `json:"ServiceEntryPointUUID,omitempty"`
	SerialInterfaces           *Link                       `json:"SerialInterfaces,omitempty"`
	TimeZoneName               string                      `json:"TimeZoneName,omitempty"`
	UUID                       string                      `json:"UUID,omitempty"`
	Measurements               []*Link                     `json:"Measurements,omitempty"` // Deprecated in version v1_14_0
	Certificates               *Certificates               `json:"Certificates,omitempty"`
	CommandShell               *CommandShell               `json:"CommandShell,omitempty"`
	GraphicalConsole           *GraphicalConsole           `json:"GraphicalConsole,omitempty"`
	Location                   *Link                       `json:"Location,omitempty"`
	LocationIndicatorActive    bool                        `json:"LocationIndicatorActive,omitempty"`
	RedundancyCount            int                         `json:"Redundancy@odata.count,omitempty"`
	SparePartNumber            string                      `json:"SparePartNumber,omitempty"`
	ManagerDiagnosticData      *Link                       `json:"ManagerDiagnosticData,omitempty"`
	ServiceIdentification      string                      `json:"ServiceIdentification,omitempty"`
	AdditionalFirmwareVersions *AdditionalFirmwareVersions `json:"AdditionalFirmwareVersions,omitempty"`
}

Manager is the redfish Manager model according to the 2020.3 release Refer to Manager.v1_17_0.json of the redfish spec for more details

type ManagerAccount

type ManagerAccount struct {
	ODataContext           string       `json:"@odata.context,omitempty"`
	ODataEtag              string       `json:"@odata.etag,omitempty"`
	ODataID                string       `json:"@odata.id"`
	ODataType              string       `json:"@odata.type"`
	ID                     string       `json:"Id"`
	Name                   string       `json:"Name"`
	Description            string       `json:"Description,omitempty"`
	UserName               string       `json:"UserName,omitempty"`
	Password               string       `json:"Password,omitempty"`
	RoleID                 string       `json:"RoleId,omitempty"`
	Enabled                bool         `json:"Enabled,omitempty"`
	Locked                 bool         `json:"Locked,omitempty"`
	PasswordChangeRequired bool         `json:"PasswordChangeRequired,omitempty"`
	PasswordExpiration     string       `json:"PasswordExpiration,omitempty"`
	AccountExpiration      string       `json:"AccountExpiration,omitempty"`
	Links                  AccountLinks `json:"Links,omitempty"`
	AccountTypes           string       `json:"AccountTypes,omitempty"`
	Keys                   *Collection  `json:"Keys,omitempty"`
}

ManagerAccount the supported properties of manager account schema, this structure should be updated once ODIMRA supports more properties

type ManagerActions

type ManagerActions struct {
	ManagerForceFailover       *ForceFailover       `json:"ManagerForceFailover,omitempty"`
	ManagerModifyRedundancySet *ModifyRedundancySet `json:"ManagerModifyRedundancy,omitempty"`
	ManagerReset               *Reset               `json:"ManagerReset,omitempty"`
	ManagerResetToDefaults     *ResetToDefaults     `json:"ManagerResetToDefaults,omitempty"`
	Oem                        *Oem                 `json:"Oem,omitempty"`
}

ManagerActions property shall contain the available actions for this resource.

type ManagerLinks struct {
	ActiveSoftwareImage     *Link       `json:"ActiveSoftwareImage,omitempty"`
	ManagedBy               []Link      `json:"ManagedBy,omitempty"`
	ManagerByCount          int         `json:"ManagedBy@odata.count,omitempty"`
	ManagerForChassis       []Link      `json:"ManagerForChassis,omitempty"`
	ManagerForChassisCount  int         `json:"ManagerForChassis@odata.count,omitempty"`
	ManagerForManagers      []Link      `json:"ManagerForManagers,omitempty"`
	ManagerForManagersCount int         `json:"ManagerForManagers@odata.count,omitempty"`
	ManagerForServers       []Link      `json:"ManagerForServers,omitempty"`
	ManagerForServersCount  int         `json:"ManagerForServers@odata.count,omitempty"`
	ManagerForSwitches      []Link      `json:"ManagerForSwitches,omitempty"`
	ManagerForSwitchesCount int         `json:"ManagerForSwitches@odata.count,omitempty"`
	ManagerInChassis        []Link      `json:"ManagerInChassis,omitempty"`
	ManagerInChassisCount   int         `json:"ManagerInChassis@odata.count,omitempty"`
	Oem                     interface{} `json:"Oem,omitempty"`
	SoftwareImages          *Link       `json:"SoftwareImages,omitempty"`
}

ManagerLinks ...

type ManagerStatus

type ManagerStatus struct {
	Conditions   []*Conditions `json:"Conditions,omitempty"`
	Name         string        `json:"Name,omitempty"`
	Health       string        `json:"Health,omitempty"`
	HealthRollup string        `json:"HealthRollup,omitempty"`
	State        string        `json:"State,omitempty"`
	Oem          *Oem          `json:"Oem,omitempty"`
}

ManagerStatus property shall contain any status or health properties of the resource

type ManagerType

type ManagerType string

ManagerType The type of manager that this resource represents.

const (

	// ManagerTypeManagementController - "ManagementController": "A controller that primarily monitors or manages the operation of a device or system."
	ManagerTypeManagementController ManagerType = "ManagementController"

	// ManagerTypeEnclosureManager - "EnclosureManager": "A controller that provides management functions for a chassis or group of devices or systems."
	ManagerTypeEnclosureManager ManagerType = "EnclosureManager"

	// ManagerTypeBMC - "BMC": "A controller that provides management functions for a single computer system."
	ManagerTypeBMC ManagerType = "BMC"

	// ManagerTypeRackManager - "RackManager": "A controller that provides management functions for a whole or part of a rack."
	ManagerTypeRackManager ManagerType = "RackManager"

	//ManagerTypeAuxiliaryController - "AuxiliaryController": "A controller that provides management functions for a particular subsystem or group of devices."
	ManagerTypeAuxiliaryController ManagerType = "AuxiliaryController"

	// ManagerTypeService - "Service": "A software-based service that provides management functions."
	ManagerTypeService ManagerType = "Service"
)

type Mapping

type Mapping struct {
	Entity               string             `json:"Entity,omitempty"`
	OperationMap         OperationMap       `json:"OperationMap,omitempty"`
	PropertyOverrides    TargetPrivilegeMap `json:"PropertyOverrides,omitempty"`
	ResourceURIOverrides TargetPrivilegeMap `json:"ResourceURIOverrides,omitempty"`
	SubordinateOverrides TargetPrivilegeMap `json:"SubordinateOverrides,omitempty"`
}

Mapping redfish structure

type MaxPrefix

type MaxPrefix struct {
	MaxPrefixNumber             int     `json:"MaxPrefixNumber,omitempty"`
	RestartTimerSeconds         int     `json:"RestartTimerSeconds,omitempty"`
	ShutdownThresholdPercentage float64 `json:"ShutdownThresholdPercentage,omitempty"`
	ThresholdWarningOnlyEnabled bool    `json:"ThresholdWarningOnlyEnabled,omitempty"`
}

MaxPrefix redfish model

type Members

type Members struct {
	ODataContext            string                   `json:"@odata.context,omitempty"`
	ODataEtag               string                   `json:"@odata.etag,omitempty"`
	ODataID                 string                   `json:"@odata.id"`
	ODataType               string                   `json:"@odata.type"`
	Actions                 *OemActions              `json:"actions,omitempty"`
	AuthNoneRoleID          string                   `json:"authNoneRoleId,omitempty"`
	AuthenticationModes     []string                 `json:"authenticationModes,omitempty"` //enum
	CredentialBootstrapping *CredentialBootstrapping `json:"credentialBootstrapping,omitempty"`
	Description             string                   `json:"description,omitempty"`
	ExternallyAccessible    bool                     `json:"externallyAccessible,omitempty"`
	FirmwareAuthEnabled     bool                     `json:"firmwareAuthEnabled,omitempty"`
	FirmwareAuthRoleID      string                   `json:"firmwareAuthRoleId,omitempty"`
	HostEthernetInterfaces  *HostInterfaces          `json:"hostEthernetInterfaces,omitempty"`
	HostInterfaceType       string                   `json:"hostInterfaceType,omitempty"` //enum
	ID                      string                   `json:"id,omitempty"`
	InterfaceEnabled        bool                     `json:"interfaceEnabled,omitempty"`
	KernelAuthEnabled       bool                     `json:"kernelAuthEnabled,omitempty"`
	KernelAuthRoleID        string                   `json:"kernelAuthRoleId,omitempty"`
	Links                   *Links                   `json:"links,omitempty"`
	Name                    string                   `json:"name,omitempty"`
	Oem                     *Oem                     `json:"Oem,omitempty"`
	Status                  []*Conditions            `json:"status,omitempty"`
}

Members property shall contain an array of links to the members of this collection

type Memory

type Memory struct {
	Oid                                     string                  `json:"@odata.id"`
	Ocontext                                string                  `json:"@odata.context,omitempty"`
	Oetag                                   string                  `json:"@odata.etag,omitempty"`
	Otype                                   string                  `json:"@odata.type"`
	Description                             string                  `json:"description,omitempty"`
	ID                                      string                  `json:"ID"`
	Name                                    string                  `json:"Name"`
	Oem                                     Oem                     `json:"Oem,omitempty"`
	AllocationAlignmentMiB                  int                     `json:"AllocationAlignmentMiB,omitempty"`
	AllocationIncrementMiB                  int                     `json:"AllocationIncrementMiB,omitempty"`
	AllowedSpeedsMHz                        []int                   `json:"AllowedSpeedsMHz,omitempty"`
	Assembly                                Assembly                `json:"Assembly,omitempty"`
	BaseModuleType                          string                  `json:"BaseModuleType,omitempty"` //enum
	BusWidthBits                            int                     `json:"BusWidthBits,omitempty"`
	CacheSizeMiB                            int                     `json:"CacheSizeMiB,omitempty"`
	CapacityMiB                             int                     `json:"CapacityMiB,omitempty"`
	ConfigurationLocked                     bool                    `json:"ConfigurationLocked,omitempty"`
	DataWidthBits                           int                     `json:"DataWidthBits,omitempty"`
	DeviceID                                string                  `json:"DeviceID,omitempty"`
	DeviceLocator                           string                  `json:"DeviceLocator,omitempty"`
	ErrorCorrection                         string                  `json:"ErrorCorrection,omitempty"` //enum
	FirmwareAPIVersion                      string                  `json:"FirmwareApiVersion,omitempty"`
	FirmwareRevision                        string                  `json:"FirmwareRevision,omitempty"`
	FunctionClasses                         []string                `json:"FunctionClasses,omitempty"`
	IsRankSpareEnabled                      bool                    `json:"IsRankSpareEnabled,omitempty"`
	IsSpareDeviceEnabled                    bool                    `json:"IsSpareDeviceEnabled,omitempty"`
	Links                                   Links                   `json:"Links,omitempty"`
	Location                                Location                `json:"Location,omitempty"`
	LogicalSizeMiB                          int                     `json:"LogicalSizeMiB,omitempty"`
	Manufacturer                            string                  `json:"Manufacturer,omitempty"`
	MaxTDPMilliWatts                        []int                   `json:"MaxTDPMilliWatts,omitempty"`
	MemoryDeviceType                        string                  `json:"MemoryDeviceType,omitempty"` //enum
	MemoryLocation                          MemoryLocation          `json:"MemoryLocation,omitempty"`
	MemoryMedia                             []string                `json:"MemoryMedia,omitempty"` //enum
	MemorySubsystemControllerManufacturerID string                  `json:"MemorySubsystemControllerManufacturerID,omitempty"`
	MemorySubsystemControllerProductID      string                  `json:"MemorySubsystemControllerProductID,omitempty"`
	MemoryType                              string                  `json:"MemoryType,omitempty"` //enum
	Metrics                                 Metrics                 `json:"Metrics,omitempty"`
	ModuleManufacturerID                    string                  `json:"ModuleManufacturerID,omitempty"`
	ModuleProductID                         string                  `json:"ModuleProductID,omitempty"`
	NonVolatileSizeMiB                      int                     `json:"NonVolatileSizeMiB,omitempty"`
	OperatingMemoryModes                    []string                `json:"OperatingMemoryModes,omitempty"` //enum
	OperatingSpeedMhz                       int                     `json:"OperatingSpeedMhz,omitempty"`
	PartNumber                              string                  `json:"PartNumber,omitempty"`
	PersistentRegionNumberLimit             int                     `json:"PersistentRegionNumberLimit,omitempty"`
	PersistentRegionSizeLimitMiB            int                     `json:"PersistentRegionSizeLimitMiB,omitempty"`
	PersistentRegionSizeMaxMiB              int                     `json:"PersistentRegionSizeMaxMiB,omitempty"`
	PowerManagementPolicy                   PowerManagementPolicy   `json:"PowerManagementPolicy,omitempty"`
	RankCount                               int                     `json:"RankCount,omitempty"`
	Regions                                 []Region                `json:"Regions,omitempty"`
	SecurityCapabilities                    SecurityCapabilities    `json:"SecurityCapabilities,omitempty"`
	SecurityState                           string                  `json:"SecurityState,omitempty"` //enum
	SerialNumber                            string                  `json:"SerialNumber,omitempty"`
	SpareDeviceCount                        int                     `json:"SpareDeviceCount,omitempty"`
	Status                                  Status                  `json:"Status,omitempty"`
	SubsystemDeviceID                       string                  `json:"SubsystemDeviceID,omitempty"`
	SubsystemVendorID                       string                  `json:"SubsystemVendorID,omitempty"`
	VendorID                                string                  `json:"VendorID,omitempty"`
	VolatileRegionNumberLimit               int                     `json:"VolatileRegionNumberLimit,omitempty"`
	VolatileRegionSizeLimitMiB              int                     `json:"VolatileRegionSizeLimitMiB,omitempty"`
	VolatileRegionSizeMaxMiB                int                     `json:"VolatileRegionSizeMaxMiB,omitempty"`
	VolatileSizeMiB                         int                     `json:"VolatileSizeMiB,omitempty"`
	Log                                     *Link                   `json:"Log,omitempty"`
	OperatingSpeedRangeMHz                  *OperatingSpeedRangeMHz `json:"OperatingSpeedRangeMHz,omitempty"`
	Certificates                            Certificates            `json:"Certificates,omitempty"`
	Enabled                                 bool                    `json:"Enabled,omitempty"`
	EnvironmentMetrics                      *Link                   `json:"EnvironmentMetrics,omitempty"`
	LocationIndicatorActive                 bool                    `json:"LocationIndicatorActive,omitempty"`
	Measurements                            []*Link                 `json:"Measurements,omitempty"` // Deprecated in version v1.14.0
	Model                                   string                  `json:"Model,omitempty"`
	SparePartNumber                         string                  `json:"SparePartNumber,omitempty"`
	Batteries                               []*Link                 `json:"Batteries,omitempty"`
}

Memory redfish structure

type MemoryChunks

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

MemoryChunks redfish structure

type MemoryDomains

type MemoryDomains struct {
	Oid                       string                   `json:"@odata.id"`
	Ocontext                  string                   `json:"@odata.context,omitempty"`
	Oetag                     string                   `json:"@odata.etag,omitempty"`
	Otype                     string                   `json:"@odata.type,omitempty"`
	Description               string                   `json:"description,omitempty"`
	ID                        string                   `json:"ID,omitempty"`
	Name                      string                   `json:"Name,omitempty"`
	Oem                       Oem                      `json:"Oem,omitempty"`
	AllowsBlockProvisioning   bool                     `json:"AllowsBlockProvisioning,omitempty"`
	AllowsMemoryChunkCreation bool                     `json:"AllowsMemoryChunkCreation,omitempty"`
	AllowsMirroring           bool                     `json:"AllowsMirroring,omitempty"`
	AllowsSparing             bool                     `json:"AllowsSparing,omitempty"`
	InterleavableMemorySets   []InterleavableMemorySet `json:"InterleavableMemorySets,omitempty"`
	MemoryChunks              MemoryChunks             `json:"MemoryChunks,omitempty"`
	Actions                   *OemActions              `json:"Actions,omitempty"`
	Links                     Link                     `json:"Links,omitempty"`
}

MemoryDomains redfish structure

type MemoryLocation

type MemoryLocation struct {
	Channel          int `json:"Channel,omitempty"`
	MemoryController int `json:"MemoryController"`
	Slot             int `json:"Slot"`
	Socket           int `json:"Socket"`
}

MemoryLocation in place object

type MemoryMirroring

type MemoryMirroring string

MemoryMirroring - The ability and type of memory mirroring that this computer system supports

type MemorySummary

type MemorySummary struct {
	MemoryMirroring                string  `json:"MemoryMirroring"` //enum
	Metrics                        Metrics `json:"Metrics,omitempty"`
	TotalSystemMemoryGiB           int     `json:"TotalSystemMemoryGiB"`
	TotalSystemPersistentMemoryGiB int     `json:"TotalSystemPersistentMemoryGiB"`
	Status                         Status  `json:"Status"` //deprecated
}

MemorySummary in place object The memory of the system in general detail This type shall contain properties that describe the central memory for a system

type MemorySummaryDetails

type MemorySummaryDetails struct {
	ECCModeEnabled     bool    `json:"ECCModeEnabled,omitempty"`
	Metrics            Metrics `json:"Metrics,omitempty"`
	TotalCacheSizeMiB  int     `json:"TotalCacheSizeMiB,omitempty"`
	TotalMemorySizeMiB int     `json:"TotalMemorySizeMiB,omitempty"`
}

MemorySummaryDetails in place object

type Message

type Message struct {
	Message           string   `json:"Message,omitempty"`
	MessageArgs       []string `json:"MessageArgs,omitempty"`
	MessageID         string   `json:"MessageId"`
	Oem               Oem      `json:"Oem,omitempty"`
	RelatedProperties []string `json:"RelatedProperties,omitempty"`
	Resolution        string   `json:"Resolution,omitempty"`
	Severity          string   `json:"Severity,omitempty"`
}

Message - This type shall contain a message that the Redfish service returns, as described in the Redfish Specification.

type MessageSeverity

type MessageSeverity string

MessageSeverity - The severity of the message in this event. This property 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.

type Metric

type Metric struct {
	CollectionDuration  string   `json:"CollectionDuration,omitempty"`
	CollectionFunction  string   `json:"CollectionFunction,omitempty"`
	CollectionTimeScope string   `json:"CollectionTimeScope,omitempty"`
	MetricID            string   `json:"MetricId,omitempty"`
	MetricProperties    []string `json:"MetricProperties,omitempty"`
	Oem                 *Oem     `json:"Oem,omitempty"`
}

Metric defines the list of metrics to include in the metric report. The metrics might include metric properties or calculations applied to a metric property

type MetricDefinitions

type MetricDefinitions struct {
	ODataID                 string             `json:"@odata.id"`
	ODataType               string             `json:"@odata.type"`
	ID                      string             `json:"Id"`
	Name                    string             `json:"Name"`
	Accuracy                int                `json:"Accuracy,omitempty"`
	Calculable              string             `json:"Calculable,omitempty"`
	CalculationAlgorithm    string             `json:"CalculationAlgorithm,omitempty"`
	CalculationParameters   []CalculationParam `json:"CalculationParameters,omitempty"`
	CalculationTimeInterval string             `json:"CalculationTimeInterval,omitempty"`
	Calibration             int                `json:"Calibration,omitempty"`
	DiscreteValues          []string           `json:"DiscreteValues,omitempty"`
	Implementation          string             `json:"Implementation,omitempty"`
	IsLinear                bool               `json:"IsLinear,omitempty"`
	MaxReadingRange         int                `json:"MaxReadingRange,omitempty"`
	MetricDataType          string             `json:"MetricDataType,omitempty"`
	MetricProperties        []string           `json:"MetricProperties,omitempty"`
	MetricType              string             `json:"MetricType,omitempty"`
	MinReadingRange         int                `json:"MinReadingRange,omitempty"`
	OEMCalculationAlgorithm string             `json:"OEMCalculationAlgorithm,omitempty"`
	PhysicalContext         string             `json:"PhysicalContext,omitempty"`
	Precision               int                `json:"Precision,omitempty"`
	SensingInterval         string             `json:"SensingInterval,omitempty"`
	TimestampAccuracy       string             `json:"TimestampAccuracy,omitempty"`
	Units                   string             `json:"Units,omitempty"`
	Wildcards               []WildCard         `json:"Wildcards,omitempty"`
	Actions                 *OemActions        `json:"Actions,omitempty"`
	Oem                     *Oem               `json:"Oem,omitempty"`
	LogicalContexts         []string           `json:"LogicalContexts,omitempty"`
}

MetricDefinitions schema describes the metadata information for a metric

type MetricLink struct {
	Oem           *Oem  `json:"Oem,omitempty"`
	Triggers      []Oid `json:"Triggers,omitempty"`
	TriggersCount int   `json:"Triggers@odata.count,omitempty"`
}

MetricLink defines the links to other resources that are related to MetricReportDefinition resource

type MetricReportDefinitions

type MetricReportDefinitions struct {
	ODataID                       string     `json:"@odata.id"`
	ODataType                     string     `json:"@odata.type"`
	ID                            string     `json:"Id"`
	Name                          string     `json:"Name"`
	AppendLimit                   int        `json:"AppendLimit,omitempty"`
	Links                         MetricLink `json:"Links,omitempty"`
	MetricProperties              []string   `json:"MetricProperties,omitempty"`
	MetricReport                  Oid        `json:"MetricReport,omitempty"`
	MetricReportDefinitionEnabled bool       `json:"MetricReportDefinitionEnabled,omitempty"`
	MetricReportDefinitionType    string     `json:"MetricReportDefinitionType,omitempty"`
	MetricReportHeartbeatInterval string     `json:"MetricReportHeartbeatInterval,omitempty"`
	Metrics                       []Metric   `json:"Metrics,omitempty"`
	ReportActions                 []string   `json:"ReportActions,omitempty"`
	ReportTimespan                string     `json:"ReportTimespan,omitempty"`
	ReportUpdates                 string     `json:"ReportUpdates,omitempty"`
	Schedule                      Schedule   `json:"Schedule,omitempty"`
	Status                        Status     `json:"Status,omitempty"`
	SuppressRepeatedMetricValue   bool       `json:"SuppressRepeatedMetricValue,omitempty"`
	Wildcards                     []WildCard `json:"Wildcards,omitempty"`
	Description                   string     `json:"Description,omitempty"`
	Oem                           *Oem       `json:"Oem,omitempty"`
}

MetricReportDefinitions schema describes set of metrics that are collected into a metric report

type MetricReports

type MetricReports struct {
	ODataID                string        `json:"@odata.id"`
	ODataType              string        `json:"@odata.type"`
	ODataContext           string        `json:"@odata.context,omitempty"`
	ID                     string        `json:"Id"`
	Name                   string        `json:"Name"`
	Description            string        `json:"Description,omitempty"`
	Context                string        `json:"Context,omitempty"`
	MetricReportDefinition Oid           `json:"MetricReportDefinition,omitempty"`
	MetricValues           []MetricValue `json:"MetricValues,omitempty"`
	ReportSequence         string        `json:"ReportSequence,omitempty"`
	Timestamp              string        `json:"Timestamp,omitempty"`
	Actions                *OemActions   `json:"Actions,omitempty"`
}

MetricReports schema represents a set of collected metrics

type MetricValue

type MetricValue struct {
	MetricDefinition Oid    `json:"MetricDefinition,omitempty"`
	MetricID         string `json:"MetricId,omitempty"`
	MetricProperty   string `json:"MetricProperty,omitempty"`
	MetricValue      string `json:"MetricValue,omitempty"`
	Oem              *Oem   `json:"Oem,omitempty"`
	Timestamp        string `json:"Timestamp,omitempty"`
}

MetricValue defines an array of metric values for the metered items of this metric report.

type Metrics

type Metrics struct {
	Oid                          string             `json:"@odata.id"`
	Ocontext                     string             `json:"@odata.context,omitempty"`
	Oetag                        string             `json:"@odata.etag,omitempty"`
	Otype                        string             `json:"@odata.type"`
	Actions                      Actions            `json:"Actions,omitempty"`
	AverageFrequencyMHz          float32            `json:"AverageFrequencyMHz,omitempty"`
	BandwidthPercent             float32            `json:"BandwidthPercent,omitempty"`
	CacheMetrics                 *CacheMetrics      `json:"CacheMetrics,omitempty"`
	CacheMetricsTotal            *CacheMetricsTotal `json:"CacheMetricsTotal,omitempty"`
	ConsumedPowerWatt            float32            `json:"ConsumedPowerWatt,omitempty"`
	CorrectableCoreErrorCount    int                `json:"CorrectableCoreErrorCount,omitempty"`
	CorrectableOtherErrorCount   int                `json:"CorrectableOtherErrorCount,omitempty"`
	Description                  string             `json:"Description,omitempty"`
	FrequencyRatio               float32            `json:"FrequencyRatio,omitempty"`
	KernelPercent                float32            `json:"KernelPercent,omitempty"`
	LocalMemoryBandwidthBytes    int                `json:"LocalMemoryBandwidthBytes,omitempty"`
	ID                           string             `json:"ID"`
	Name                         string             `json:"Name"`
	Oem                          Oem                `json:"Oem,omitempty"`
	OperatingSpeedMHz            int                `json:"OperatingSpeedMHz,omitempty"`
	PowerLimitThrottleDuration   string             `json:"PowerLimitThrottleDuration,omitempty"`
	RemoteMemoryBandwidthBytes   int                `json:"RemoteMemoryBandwidthBytes,omitempty"`
	TemperatureCelsius           float32            `json:"TemperatureCelsius,omitempty"`
	ThermalLimitThrottleDuration string             `json:"ThermalLimitThrottleDuration,omitempty"`
	ThrottlingCelsius            float32            `json:"ThrottlingCelsius,omitempty"`
	UncorrectableCoreErrorCount  int                `json:"UncorrectableCoreErrorCount,omitempty"`
	UncorrectableOtherErrorCount int                `json:"UncorrectableOtherErrorCount,omitempty"`
	UserPercent                  float32            `json:"UserPercent,omitempty"`
}

Metrics redfish structure

type MicrosoftAuthenticator

type MicrosoftAuthenticator struct {
	Enabled      bool   `json:"Enabled,omitempty"`
	SecretKey    string `json:"SecretKey,omitempty"`
	SecretKeySet bool   `json:"SecretKeySet,omitempty"`
}

MicrosoftAuthenticator redfish structure Various settings for Microsoft Authenticator multi-factor authentication This type shall contain settings for Microsoft Authenticator multi-factor authentication

type Mode

type Mode string

Mode -

type ModifyRedundancySet

type ModifyRedundancySet struct {
	Target string `json:"Target,omitempty"`
	Title  string `json:"Title,omitempty"`
}

ModifyRedundancySet operation shall add members to or remove members from a redundant group of managers

type MultiFactorAuth

type MultiFactorAuth struct {
	ClientCertificate      *ClientCertificate      `json:"ClientCertificate,omitempty"`
	GoogleAuthenticator    *GoogleAuthenticator    `json:"GoogleAuthenticator,omitempty"`
	MicrosoftAuthenticator *MicrosoftAuthenticator `json:"MicrosoftAuthenticator,omitempty"`
	SecurID                *SecurID                `json:"SecurID,omitempty"`
}

MultiFactorAuth redfish structure Multi-factor authentication settings This type shall contain multi-factor authentication settings

type MultiplePaths

type MultiplePaths struct {
	MaximumPaths            int  `json:"MaximumPaths,omitempty"`
	UseMultiplePathsEnabled bool `json:"UseMultiplePathsEnabled,omitempty"`
}

MultiplePaths redfish model

type NLinks struct {
	NetworkDeviceFunctions []*Link `json:"NetworkDeviceFunctions,omitempty"`
	NetworkPorts           []*Link `json:"NetworkPorts,omitempty"`
	Oem                    *Oem    `json:"Oem,omitempty"`
	PCIeDevices            []*Link `json:"PCIeDevices,omitempty"`
	Ports                  []*Link `json:"Ports,omitempty"`
}

NLinks is links to other resources that are related to this resource

type NPAR

type NPAR struct {
	NparCapable interface{} `json:"NparCapable"`
	NparEnabled interface{} `json:"NparEnabled"`
}

NPAR is NIC Partitioning (NPAR) capabilities for this controller

type NPIV

type NPIV struct {
	MaxDeviceLogins interface{} `json:"MaxDeviceLogins"`
	MaxPortLogins   interface{} `json:"MaxPortLogins"`
}

NPIV is N_Port ID Virtualization (NPIV) capabilities for this controller

type NVMeControllerAttributes

type NVMeControllerAttributes struct {
	ReportsNamespaceGranularity                 bool `json:"ReportsNamespaceGranularity,omitempty"`
	ReportsUUIDList                             bool `json:"ReportsUUIDList,omitempty"`
	Supports128BitHostID                        bool `json:"Supports128BitHostId,omitempty"`
	SupportsEnduranceGroups                     bool `json:"SupportsEnduranceGroups,omitempty"`
	SupportsExceedingPowerOfNonOperationalState bool `json:"SupportsExceedingPowerOfNonOperationalState,omitempty"`
	SupportsPredictableLatencyMode              bool `json:"SupportsPredictableLatencyMode,omitempty"`
	SupportsReadRecoveryLevels                  bool `json:"SupportsReadRecoveryLevels,omitempty"`
	SupportsSQAssociations                      bool `json:"SupportsSQAssociations,omitempty"`
	SupportsTrafficBasedKeepAlive               bool `json:"SupportsTrafficBasedKeepAlive,omitempty"`
}

NVMeControllerAttributes struct is to define the NVMeControllerAttributes of the Storage

type NVMeControllerProperties

type NVMeControllerProperties struct {
	ControllerType            string                     `json:"ControllerType,omitempty"`
	MaxQueueSize              int                        `json:"MaxQueueSize,omitempty"`
	NVMeVersion               string                     `json:"NVMeVersion,omitempty"`
	ANACharacteristics        *ANACharacteristics        `json:"ANACharacteristics,omitempty"`
	NVMeControllerAttributes  *NVMeControllerAttributes  `json:"NVMeControllerAttributes,omitempty"`
	NVMeSMARTCriticalWarnings *NVMeSMARTCriticalWarnings `json:"NVMeSMARTCriticalWarnings,omitempty"`
	AllocatedSubmissionQueues int                        `json:"AllocatedSubmissionsQueues,omitempty"`
	AllocatedCompletionQueues int                        `json:"AllocatedCompletionQueues,omitempty"`
}

NVMeControllerProperties struct is to define the NVMeControllerProperties of the Storage

type NVMeNamespaceProperties

type NVMeNamespaceProperties struct {
	FormattedLBASize                  string             `json:"FormattedLBASize,omitempty"`
	IsShareable                       bool               `json:"IsShareable,omitempty"`
	MetadataTransferredAtEndOfDataLBA bool               `json:"MetadataTransferredAtEndOfDataLBA,omitempty"`
	NamespaceFeatures                 *NamespaceFeatures `json:"NamespaceFeatures,omitempty"`
	NamespaceID                       string             `json:"NamespaceId,omitempty"`
	NumberLBAFormats                  int                `json:"NumberLBAFormats,omitempty"`
	NVMeVersion                       string             `json:"NVMeVersion,omitempty"`
}

NVMeNamespaceProperties represents volume NVMe Namespace.

type NVMeSMARTCriticalWarnings

type NVMeSMARTCriticalWarnings struct {
	MediaInReadOnly          bool `json:"MediaInReadOnly,omitempty"`
	OverallSubsystemDegraded bool `json:"OverallSubsystemDegraded,omitempty"`
	PMRUnreliable            bool `json:"PMRUnreliable,omitempty"`
	PowerBackupFailed        bool `json:"PowerBackupFailed,omitempty"`
	SpareCapacityWornOut     bool `json:"SpareCapacityWornOut,omitempty"`
}

NVMeSMARTCriticalWarnings struct is to define the NVMeSMARTCriticalWarnings of the Storage

type NamespaceFeatures

type NamespaceFeatures struct {
	SupportsAtomicTransactionSize         bool `json:"SupportsAtomicTransactionSize,omitempty"`
	SupportsDeallocatedOrUnwrittenLBError bool `json:"SupportsDeallocatedOrUnwrittenLBError,omitempty"`
	SupportsIOPerformanceHints            bool `json:"SupportsIOPerformanceHints,omitempty"`
	SupportsNGUIDReuse                    bool `json:"SupportsNGUIDReuse,omitempty"`
	SupportsThinProvisioning              bool `json:"SupportsThinProvisioning,omitempty"`
}

NamespaceFeatures property contains a set of Namespace Features

type NetDevFuncMaxBWAlloc

type NetDevFuncMaxBWAlloc struct {
	MaxBWAllocPercent     int   `json:"MaxBWAllocPercent,omitempty"`
	NetworkDeviceFunction *Link `json:"NetworkDeviceFunction,omitempty"`
}

NetDevFuncMaxBWAlloc contains the information of maximum bandwidth allocation percentages for the network device functions associated with the newtwork port.

type NetDevFuncMinBWAlloc

type NetDevFuncMinBWAlloc struct {
	MinBWAllocPercent     int   `json:"MinBWAllocPercent,omitempty"`
	NetworkDeviceFunction *Link `json:"NetworkDeviceFunction,omitempty"`
}

NetDevFuncMinBWAlloc contains the information of minimum bandwidth allocation percentages for the network device functions associated with the newtwork port.

type NetworkAdapter

type NetworkAdapter struct {
	ODataContext           string                 `json:"@odata.context,omitempty"`
	ODataEtag              string                 `json:"@odata.etag,omitempty"`
	ODataID                string                 `json:"@odata.id"`
	ODataType              string                 `json:"@odata.type"`
	ID                     string                 `json:"Id"`
	Name                   string                 `json:"Name"`
	Actions                *NetworkAdapterActions `json:"Actions,omitempty"`
	Assembly               *Link                  `json:"Assembly,omitempty"`
	Certificates           *Link                  `json:"Certificates,omitempty"`
	Controllers            []Controllers          `json:"Controllers,omitempty"`
	Description            string                 `json:"Description,omitempty"`
	EnvironmentMetrics     *Link                  `json:"EnvironmentMetrics,omitempty"`
	Identifiers            *Identifier            `json:"Identifiers,omitempty"`
	Location               *Location              `json:"Location,omitempty"`
	LLDPEnabled            bool                   `json:"LLDPEnabled,omitempty"`
	Manufacturer           interface{}            `json:"Manufacturer"`
	Measurements           []*Link                `json:"Measurements,omitempty"` // Deprecated in version v1.9.0
	Metrics                *Link                  `json:"Metrics,omitempty"`
	Model                  interface{}            `json:"Model"`
	NetworkDeviceFunctions *Link                  `json:"NetworkDeviceFunctions,omitempty"`
	NetworkPorts           *Link                  `json:"NetworkPorts,omitempty"`
	Oem                    *Oem                   `json:"Oem,omitempty"`
	PartNumber             interface{}            `json:"PartNumber"`
	Ports                  *Link                  `json:"Ports,omitempty"`
	Processors             *Link                  `json:"Processors,omitempty"`
	SerialNumber           interface{}            `json:"SerialNumber"`
	SKU                    interface{}            `json:"SKU"`
	Status                 *Status                `json:"Status,omitempty"`
}

NetworkAdapter is the redfish network adapter model

type NetworkAdapterActions

type NetworkAdapterActions struct {
	ResetSettings interface{} `json:"#NetworkAdapter.ResetSettingsToDefault,omitempty"`
	Oem           *Oem        `json:"Oem,omitempty"`
}

NetworkAdapterActions is available actions for this resource

type NetworkAdapters

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

NetworkAdapters redfish structure

type NetworkDeviceFunctions

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

NetworkDeviceFunctions redfish structure

type NetworkInterfaces

type NetworkInterfaces struct {
	Oid                    string                 `json:"@odata.id"`
	Ocontext               string                 `json:"@odata.context,omitempty"`
	Oetag                  string                 `json:"@odata.etag,omitempty"`
	Otype                  string                 `json:"@odata.type,omitempty"`
	Description            string                 `json:"description,omitempty"`
	ID                     string                 `json:"ID,omitempty"`
	Name                   string                 `json:"Name,omitempty"`
	Oem                    Oem                    `json:"Oem,omitempty"`
	Links                  Links                  `json:"Links,omitempty"`
	NetworkDeviceFunctions NetworkDeviceFunctions `json:"NetworkDeviceFunctions,omitempty"`
	NetworkPorts           NetworkPorts           `json:"NetworkPorts,omitempty"`
	Status                 Status                 `json:"Status,omitempty"`
	Actions                *OemActions            `json:"Actions,omitempty"`
	Ports                  *Link                  `json:"Ports,omitempty"`
}

NetworkInterfaces get

NetworkInterface 1.1.2

A NetworkInterface contains references linking NetworkAdapter, NetworkPort, and NetworkDeviceFunction resources and represents the functionality available to the containing system. URIs: /redfish/v1/Systems/{ComputerSystemId}/NetworkInterfaces/{NetworkInterfaceId}

type NetworkPort

type NetworkPort struct {
	ODataContext                  string                      `json:"@odata.context,omitempty"`
	ODataEtag                     string                      `json:"@odata.etag,omitempty"`
	ODataID                       string                      `json:"@odata.id"`
	ODataType                     string                      `json:"@odata.type"`
	ID                            string                      `json:"Id"`
	Name                          string                      `json:"Name"`
	ActiveLinkTechnology          string                      `json:"ActiveLinkTechnology,omitempty"`
	AssociatedNetworkAddresses    []string                    `json:"AssociatedNetworkAddresses,omitempty"`
	CurrentLinkSpeedMbps          int                         `json:"CurrentLinkSpeedMbps,omitempty"`
	Description                   string                      `json:"Description,omitempty"`
	EEEEnabled                    *bool                       `json:"EEEEnabled,omitempty"`
	FCFabricName                  string                      `json:"FCFabricName,omitempty"`
	FCPortConnectionType          string                      `json:"FCPortConnectionType,omitempty"`
	FlowControlConfiguration      string                      `json:"FlowControlConfiguration,omitempty"`
	FlowControlStatus             string                      `json:"FlowControlStatus,omitempty"`
	LinkStatus                    string                      `json:"LinkStatus,omitempty"`
	MaxFrameSize                  int                         `json:"MaxFrameSize,omitempty"`
	NetDevFuncMaxBWAlloc          []NetDevFuncMaxBWAlloc      `json:"NetDevFuncMaxBWAlloc,omitempty"`
	NetDevFuncMinBWAlloc          []NetDevFuncMinBWAlloc      `json:"NetDevFuncMinBWAlloc,omitempty"`
	NumberDiscoveredRemotePorts   int                         `json:"NumberDiscoveredRemotePorts,omitempty"`
	Oem                           *Oem                        `json:"Oem,omitempty"`
	PhysicalPortNumber            string                      `json:"PhysicalPortNumber,omitempty"`
	PortMaximumMTU                int                         `json:"PortMaximumMTU,omitempty"`
	SignalDetected                *bool                       `json:"SignalDetected,omitempty"`
	Status                        *Status                     `json:"Status,omitempty"`
	SupportedEthernetCapabilities []string                    `json:"SupportedEthernetCapabilities,omitempty"`
	SupportedLinkCapabilities     []SupportedLinkCapabilities `json:"SupportedLinkCapabilities,omitempty"`
	VendorID                      string                      `json:"VendorId,omitempty"`
	WakeOnLANEnabled              *bool                       `json:"WakeOnLANEnabled,omitempty"`
}

NetworkPort is the redfish network port model

type NetworkPorts

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

NetworkPorts redfish structure

type NumberRange

type NumberRange struct {
	Lower int `json:"Lower,omitempty"`
	Upper int `json:"Upper,omitempty"`
}

NumberRange is a common structure ASNumberRange, ESINumberRange, EVINumberRange, etc

type NumericThresholds

type NumericThresholds struct {
	LowerCritical Threshold `json:"LowerCritical,omitempty"`
	LowerWarning  Threshold `json:"LowerWarning,omitempty"`
	UpperCritical Threshold `json:"UpperCritical,omitempty"`
	UpperWarning  Threshold `json:"UpperWarning,omitempty"`
}

NumericThresholds defines when a numeric metric triggers

type OAuth2Service

type OAuth2Service struct {
	Audience                []string `json:"Audience,omitempty"`
	Issuer                  string   `json:"Issuer,omitempty"`
	Mode                    string   `json:"Mode,omitempty"` //enum
	OAuthServiceSigningKeys string   `json:"OAuthServiceSigningKeys,omitempty"`
}

OAuth2Service redfish structure Various settings to parse an OAuth 2.0 service This type shall contain settings for parsing an OAuth 2.0 service

type Oem

type Oem interface{}

Oem holds the vendor specific details which is addtional to redfish contents

type OemActions

type OemActions struct {
	Oem *Oem `json:"Oem,omitempty"`
}

OemActions redfish model

type Oid

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

Oid defines the odata id link

type OperatingSpeedRangeMHz

type OperatingSpeedRangeMHz struct {
	AllowableMax           float32   `json:"AllowableMax,omitempty"`
	AllowableMin           float32   `json:"AllowableMin,omitempty"`
	AllowableNumericValues []float32 `json:"AllowableNumericValues,omitempty"`
	ControlMode            string    `json:"ControlMode,omitempty"`
	DataSourceURI          string    `json:"DataSourceUri,omitempty"`
	Reading                float32   `json:"Reading,omitempty"`
	ReadingUnits           string    `json:"ReadingUnits,omitempty"`
	SettingMax             float32   `json:"SettingMax,omitempty"`
	SettingMin             float32   `json:"SettingMin,omitempty"`
}

OperatingSpeedRangeMHz redfish structure

type OperationMap

type OperationMap struct {
	DELETE OperationPrivilege `json:"DELETE,omitempty"`
	GET    OperationPrivilege `json:"GET,omitempty"`
	HEAD   OperationPrivilege `json:"HEAD,omitempty"`
	POST   OperationPrivilege `json:"POST,omitempty"`
	PUT    OperationPrivilege `json:"PUT,omitempty"`
	PATCH  OperationPrivilege `json:"PATCH,omitempty"`
}

OperationMap redfish structure

type OperationPrivilege

type OperationPrivilege struct {
	Privilege []string `json:"Privilege,omitempty"`
}

OperationPrivilege redfish structure

type OverWritePolicy

type OverWritePolicy string

OverWritePolicy - This property shall contain the overwrite policy for completed tasks. This property shall indicate if the task service overwrites completed task information.

const (
	// Completed tasks are not automatically overwritten.
	OverWritePolicyManual OverWritePolicy = "Manual"
	// Oldest completed tasks are overwritten.
	OverWritePolicyOldest OverWritePolicy = "Oldest"
)

Below constants represents the overwrite policies

type PCIeDevice

type PCIeDevice struct {
	Oid                string         `json:"@odata.id"`
	Ocontext           string         `json:"@odata.context,omitempty"`
	Oetag              string         `json:"@odata.etag,omitempty"`
	Otype              string         `json:"@odata.type"`
	Description        string         `json:"description,omitempty"`
	ID                 string         `json:"ID"`
	Name               string         `json:"Name"`
	Oem                Oem            `json:"Oem,omitempty"`
	Assembly           *Assembly      `json:"Assembly,omitempty"`
	AssetTag           string         `json:"AssetTag,omitempty"`
	DeviceType         string         `json:"DeviceType,omitempty"` //enum
	FirmwareVersion    string         `json:"FirmwareVersion,omitempty"`
	Links              *Links         `json:"Links,omitempty"`
	Manufacturer       string         `json:"Manufacturer,omitempty"`
	Model              string         `json:"Model,omitempty"`
	PartNumber         string         `json:"PartNumber,omitempty"`
	PCIeInterface      *PCIeInterface `json:"PCIeInterface,omitempty"`
	SerialNumber       string         `json:"SerialNumber,omitempty"`
	SKU                string         `json:"SKU,omitempty"`
	Status             *Status        `json:"Status,omitempty"`
	Actions            *OemActions    `json:"Actions,omitempty"`
	EnvironmentMetrics *Link          `json:"EnvironmentMetrics,omitempty"`
	PCIeFunctions      *Link          `json:"PCIeFunctions,omitempty"`
	ReadyToRemove      bool           `json:"ReadyToRemove,omitempty"`
	SparePartNumber    string         `json:"SparePartNumber,omitempty"`
	UUID               string         `json:"UUID,omitempty"`
	Slot               *Slot          `json:"Slot,omitempty"`
	PCIeErrors         *PCIeErrors    `json:"PCIeErrors,omitempty"`
}

PCIeDevice 1.3.1

This resource shall be used to represent a PCIeDevice attached to a System. URIs: /redfish/v1/Chassis/{ChassisId}/PCIeDevices/{PCIeDeviceId} /redfish/v1/Systems/{ComputerSystemId}/PCIeDevices/{PCIeDeviceId}

type PCIeErrors

type PCIeErrors struct {
	CorrectableErrorCount int `json:"CorrectableErrorCount,omitempty"`
	FatalErrorCount       int `json:"FatalErrorCount,omitempty"`
	L0ToRecoveryCount     int `json:"L0ToRecoveryCount,omitempty"`
	NAKReceivedCount      int `json:"NAKReceivedCount,omitempty"`
	NAKSentCount          int `json:"NAKSentCount,omitempty"`
	NonFatalErrorCount    int `json:"NonFatalErrorCount,omitempty"`
	ReplayCount           int `json:"ReplayCount,omitempty"`
	ReplayRolloverCount   int `json:"ReplayRolloverCount,omitempty"`
}

PCIeErrors - The PCIe errors associated with this device

type PCIeFunction

type PCIeFunction struct {
	Oid               string      `json:"@odata.id"`
	Ocontext          string      `json:"@odata.context,omitempty"`
	Oetag             string      `json:"@odata.etag,omitempty"`
	Otype             string      `json:"@odata.type"`
	Description       string      `json:"description,omitempty"`
	ID                string      `json:"ID"`
	Name              string      `json:"Name"`
	Oem               Oem         `json:"Oem,omitempty"`
	ClassCode         string      `json:"ClassCode,omitempty"`
	DeviceClass       string      `json:"DeviceClass,omitempty"` //enum
	DeviceID          string      `json:"DeviceID,omitempty"`
	FunctionID        int         `json:"FunctionID,omitempty"`
	FunctionType      string      `json:"FunctionType,omitempty"` //enum
	Links             *Links      `json:"Links,omitempty"`
	RevisionID        string      `json:"RevisionID,omitempty"`
	Status            *Status     `json:"Status,omitempty"`
	SubsystemID       string      `json:"SubsystemID,omitempty"`
	SubsystemVendorID string      `json:"SubsystemVendorID,omitempty"`
	VendorID          string      `json:"VendorID,omitempty"`
	Actions           *OemActions `json:"Actions,omitempty"`
	Enabled           bool        `json:"Enabled,omitempty"`
}

PCIeFunction 1.2.2 This resource shall be used to represent a PCIeFunction attached to a System. URIs: /redfish/v1/Chassis/{ChassisId}/PCIeDevices/{PCIeDeviceId}/PCIeFunctions/{PCIeFunctionId} /redfish/v1/Systems/{ComputerSystemId}/PCIeDevices/{PCIeDeviceId}/PCIeFunctions/{PCIeFunctionId}

type PCIeInterface

type PCIeInterface struct {
	LanesInUse  int    `json:"LanesInUse,omitempty"`
	MaxLanes    int    `json:"MaxLanes,omitempty"`
	MaxPCIeType string `json:"MaxPCIeType,omitempty"` //enum
	Oem         Oem    `json:"Oem,omitempty"`
	PCIeType    string `json:"PCIeType,omitempty"` //enum
}

PCIeInterface in place object

type PCIeSlots

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

PCIeSlots redfish structure

type PartLocation

type PartLocation struct {
	Orientation          string `json:"Orientation,omitempty"`
	Reference            string `json:"Reference,omitempty"`
	LocationOrdinalValue int    `json:"LocationOrdinalValue"`
	LocationType         string `json:"LocationType,omitempty"`
	ServiceLabel         string `json:"ServiceLabel,omitempty"`
}

PartLocation holds the part location information

type PasswordExchangeProtocols

type PasswordExchangeProtocols string

PasswordExchangeProtocols - Indicates the allowed TACACS+ password exchange protocols.

type Payload

type Payload struct {
	HTTPHeaders   []string `json:"HttpHeaders,omitempty"`
	HTTPOperation string   `json:"HttpOperation,omitempty"`
	JSONBody      string   `json:"JsonBody,omitempty"`
	TargetURI     string   `json:"TargetUri,omitempty"`
}

Payload - This type shall contain information detailing the HTTP and JSON payload information for executing this task. This property shall not be included in the response if the HidePayload property is `true`.

type PciID

type PciID struct {
	ClassCode         string `json:"ClassCode,omitempty"`
	DeviceID          string `json:"DeviceId,omitempty"`
	FunctionNumber    int    `json:"FunctionNumber,omitempty"`
	SubsystemID       string `json:"SubsystemId,omitempty"`
	SubsystemVendorID string `json:"SubsystemVendorId,omitempty"`
	VendorID          string `json:"VendorId,omitempty"`
}

PciID for Endpoint

type PhysicalLocation

type PhysicalLocation struct {
	PartLocation *PartLocation `json:"PartLocation,omitempty"`
}

PhysicalLocation holds the location information of the drive

type PhysicalSecurity

type PhysicalSecurity struct {
	IntrusionSensor       string
	IntrusionSensorNumber int
	IntrusionSensorReArm  string
}

PhysicalSecurity redfish structure

type Placement

type Placement struct {
	AdditionalInfo  string `json:"AdditionalInfo,omitempty"`
	Rack            string `json:"Rack,omitempty"`
	RackOffset      int    `json:"RackOffset,omitempty"`
	RackOffsetUnits string `json:"RackOffsetUnits,omitempty"`
	Row             string `json:"Row,omitempty"`
}

Placement holds the Placement information

type Port

type Port struct {
	ODataContext            string               `json:"@odata.context,omitempty"`
	ODataEtag               string               `json:"@odata.etag,omitempty"`
	ODataID                 string               `json:"@odata.id"`
	ODataType               string               `json:"@odata.type"`
	Actions                 *OemActions          `json:"Actions,omitempty"`
	Description             string               `json:"Description,omitempty"`
	ID                      string               `json:"Id"`
	Links                   *PortLinks           `json:"Links,omitempty"`
	Name                    string               `json:"Name"`
	Oem                     interface{}          `json:"Oem,omitempty"`
	Status                  *Status              `json:"Status,omitempty"`
	ActiveWidth             int                  `json:"ActiveWidth,omitempty"`
	CurrentSpeedGbps        float64              `json:"CurrentSpeedGbps,omitempty"`
	Ethernet                *PortEthernet        `json:"Ethernet,omitempty"`
	FibreChannel            *FibreChannel        `json:"FibreChannel,omitempty"`
	GenZ                    *GenZ                `json:"GenZ,omitempty"`
	InterfaceEnabled        bool                 `json:"InterfaceEnabled,omitempty"`
	LinkConfiguration       []*LinkConfiguration `json:"LinkConfiguration,omitempty"`
	LinkNetworkTechnology   string               `json:"LinkNetworkTechnology,omitempty"`
	LinkState               string               `json:"LinkState,omitempty"`
	LinkStatus              string               `json:"LinkStatus,omitempty"`
	LinkTransitionIndicator string               `json:"LinkTransitionIndicator,omitempty"`
	LocationIndicatorActive bool                 `json:"LocationIndicatorActive,omitempty"`
	MaxFrameSize            int                  `json:"MaxFrameSize,omitempty"`
	MaxSpeedGbps            float64              `json:"MaxSpeedGbps,omitempty"`
	Metrics                 *Link                `json:"Metrics,omitempty"`
	PortMedium              string               `json:"PortMedium,omitempty"`
	PortProtocol            string               `json:"PortProtocol,omitempty"`
	PortType                string               `json:"PortType,omitempty"`
	PortID                  string               `json:"PortId,omitempty"`
	SignalDetected          bool                 `json:"SignalDetected,omitempty"`
	Width                   int                  `json:"Width,omitempty"`
	CapableProtocolVersions []string             `json:"CapableProtocolVersions,omitempty"`
	CurrentProtocolVersion  string               `json:"CurrentProtocolVersion,omitempty"`
	Enabled                 bool                 `json:"Enabled,omitempty"`
	EnvironmentMetrics      *Link                `json:"EnvironmentMetrics,omitempty"`
	FunctionMaxBandwidth    []*FunctionBandwidth `json:"FunctionMaxBandwidth,omitempty"`
	FunctionMinBandwidth    []*FunctionBandwidth `json:"FunctionMinBandwidth,omitempty"`
	Location                interface{}          `json:"Location,omitempty"`
	SFP                     SFP                  `json:"SFP,omitempty"`
	CXL                     *CXL                 `json:"CXL,omitempty"`
	InfiniBand              *InfiniBand          `json:"InfiniBand,omitempty"`
	RemotePortId            string               `json:"RemotePortId,omitempty"`
}

Port is the redfish Port model according to the 2020.3 release

type PortEthernet

type PortEthernet struct {
	FlowControlConfiguration      string   `json:"FlowControlConfiguration,omitempty"`
	FlowControlStatus             string   `json:"FlowControlStatus,omitempty"`
	SupportedEthernetCapabilities string   `json:"SupportedEthernetCapabilities,omitempty"`
	WakeOnLANEnabled              bool     `json:"WakeOnLANEnabled,omitempty"`
	EEEEnabled                    bool     `json:"EEEEnabled,omitempty"`
	LLDPTransmit                  *LLDP    `json:"LLDPTransmit,omitempty"`
	LLDPReceive                   *LLDP    `json:"LLDPReceive,omitempty"`
	LLDPEnabled                   bool     `json:"LLDPEnabled,omitempty"`
	AssociatedMACAddresses        []string `json:"AssociatedMACAddresses,omitempty"`
}

PortEthernet redfish model

type PortLinks struct {
	AssociatedEndpoints       []Link      `json:"AssociatedEndpoints,omitempty"`
	ConnectedPorts            []Link      `json:"ConnectedPorts,omitempty"`
	ConnectedSwitches         []Link      `json:"ConnectedSwitches,omitempty"`
	ConnectedSwitchPorts      []Link      `json:"ConnectedSwitchPorts,omitempty"`
	Oem                       interface{} `json:"Oem,omitempty"`
	Cables                    []Link      `json:"Cables,omitempty"`
	AssociatedEndpointsCount  int         `json:"AssociatedEndpoints@odata.count,omitempty"`
	CablesCount               int         `json:"Cables@odata.count,omitempty"`
	ConnectedPortsCount       int         `json:"ConnectedPorts@odata.count,omitempty"`
	ConnectedSwitchPortsCount int         `json:"ConnectedSwitchPorts@odata.count,omitempty"`
	ConnectedSwitchesCount    int         `json:"ConnectedSwitches@odata.count,omitempty"`
	EthernetInterfaces        []Link      `json:"EthernetInterfaces,omitempty"`
}

PortLinks Port link redfish model

type PostalAddress

type PostalAddress struct {
	AdditionalCode         string `json:"AdditionalCode,omitempty"`
	AdditionalInfo         string `json:"AdditionalInfo,omitempty"`
	Building               string `json:"Building,omitempty"`
	City                   string `json:"City,omitempty"`
	Community              string `json:"Community,omitempty"`
	Country                string `json:"Country,omitempty"`
	District               string `json:"District,omitempty"`
	Division               string `json:"Division,omitempty"`
	Floor                  string `json:"Floor,omitempty"`
	GPSCoords              string `json:"GPSCoords,omitempty"`
	HouseNumber            int    `json:"HouseNumber,omitempty"`
	HouseNumberSuffix      string `json:"HouseNumberSuffix,omitempty"`
	Landmark               string `json:"Landmark,omitempty"`
	LeadingStreetDirection string `json:"LeadingStreetDirection,omitempty"`
	Location               string `json:"Location,omitempty"`
	Name                   string `json:"Name,omitempty"`
	Neighborhood           string `json:"Neighborhood,omitempty"`
	PlaceType              string `json:"PlaceType,omitempty"`
	POBox                  string `json:"POBox,omitempty"`
	PostalCode             string `json:"PostalCode,omitempty"`
	Road                   string `json:"Road,omitempty"`
	RoadBranch             string `json:"RoadBranch,omitempty"`
	RoadPostModifier       string `json:"RoadPostModifier,omitempty"`
	RoadPreModifier        string `json:"RoadPreModifier,omitempty"`
	RoadSection            string `json:"RoadSection,omitempty"`
	RoadSubBranch          string `json:"RoadSubBranch,omitempty"`
	Room                   string `json:"Room,omitempty"`
	Seat                   string `json:"Seat,omitempty"`
	Street                 string `json:"Street,omitempty"`
	StreetSuffix           string `json:"StreetSuffix,omitempty"`
	Territory              string `json:"Territory,omitempty"`
	TrailingStreetSuffix   string `json:"TrailingStreetSuffix,omitempty"`
	Unit                   string `json:"Unit,omitempty"`
}

PostalAddress holds the PostalAddress information

type Power

type Power struct {
	ODataContext       string          `json:"@odata.context,omitempty"`
	ODataEtag          string          `json:"@odata.etag,omitempty"`
	ODataID            string          `json:"@odata.id"`
	ODataType          string          `json:"@odata.type"`
	Actions            *OemActions     `json:"Actions,omitempty"`
	Description        string          `json:"Description,omitempty"`
	ID                 string          `json:"Id"`
	Name               string          `json:"Name"`
	Oem                interface{}     `json:"Oem,omitempty"`
	Status             *Status         `json:"Status,omitempty"`
	PowerControl       []*PowerControl `json:"PowerControl,omitempty"`
	PowerSupplies      []*PowerControl `json:"PowerSupplies,omitempty"`
	Redundancy         []Redundancy    `json:"Redundancy,omitempty"`
	Voltages           []*Voltages     `json:"Voltages,omitempty"`
	PowerControlCount  int             `json:"PowerControl@odata.count,omitempty"`
	PowerSuppliesCount int             `json:"PowerSupplies@odata.count,omitempty"`
	RedundancyCount    int             `json:"Redundancy@odata.count,omitempty"`
	VoltagesCount      int             `json:"Voltages@odata.count,omitempty"`
}

Power is the redfish Power model according to the 2020.3 release

type PowerControl

type PowerControl struct {
	ODataID             string        `json:"@odata.id"`
	Actions             *OemActions   `json:"Actions,omitempty"`
	MemberID            string        `json:"MemberId"`
	Name                string        `json:"Name,omitempty"`
	Oem                 interface{}   `json:"Oem,omitempty"`
	PhysicalContext     string        `json:"PhysicalContext,omitempty"`
	PowerAllocatedWatts float64       `json:"PowerAllocatedWatts,omitempty"`
	PowerAvailableWatts float64       `json:"PowerAvailableWatts,omitempty"`
	PowerCapacityWatts  float64       `json:"PowerCapacityWatts,omitempty"`
	PowerConsumedWatts  float64       `json:"PowerConsumedWatts,omitempty"`
	PowerLimit          *PowerLimit   `json:"PowerLimit,omitempty"`
	PowerMetrics        *PowerMetrics `json:"PowerMetrics,omitempty"`
	PowerRequestedWatts float64       `json:"PowerRequestedWatts,omitempty"`
	RelatedItem         []Link        `json:"RelatedItem,omitempty"`
	Status              *Status       `json:"Status,omitempty"`
	RelatedItemCount    int           `json:"RelatedItem@odata.count,omitempty"`
}

PowerControl redfish model

type PowerLimit

type PowerLimit struct {
	CorrectionInMs interface{} `json:"CorrectionInMs"` // omitempty is not added to make value as null if it's not present
	LimitException interface{} `json:"LimitException"` // omitempty is not added to make value as null if it's not present
	LimitInWatts   interface{} `json:"LimitInWatts"`   // omitempty is not added to make value as null if it's not present
}

PowerLimit redfish model

type PowerManagementPolicy

type PowerManagementPolicy struct {
	AveragePowerBudgetMilliWatts int  `json:"AveragePowerBudgetMilliWatts"`
	MaxTDPMilliWatts             int  `json:"MaxTDPMilliWatts"`
	PeakPowerBudgetMilliWatts    int  `json:"PeakPowerBudgetMilliWatts"`
	PolicyEnabled                bool `json:"PolicyEnabled"`
}

PowerManagementPolicy in place object

type PowerMetrics

type PowerMetrics struct {
	AverageConsumedWatts float64 `json:"AverageConsumedWatts,omitempty"`
	IntervalInMin        int     `json:"IntervalInMin,omitempty"`
	MaxConsumedWatts     float64 `json:"MaxConsumedWatts,omitempty"`
	MinConsumedWatts     float64 `json:"MinConsumedWatts,omitempty"`
}

PowerMetrics redfish model

type PowerMode

type PowerMode string

PowerMode - The power mode setting of the computer system

type PowerRestorePolicyTypes

type PowerRestorePolicyTypes string

PowerRestorePolicyTypes -The desired power state of the system when power is restored after a power loss

type PowerState

type PowerState string

PowerState This property shall contain the power state of the manager

const (
	// PowerStateOn - "On": "The resource is powered on."
	PowerStateOn PowerState = "On"

	// PowerStateOff - "Off": "The resource is powered off.  The components within the resource might continue to have AUX power."
	PowerStateOff PowerState = "Off"

	// PowerStatePoweringOn - "PoweringOn": "A temporary state between off and on.  The components within the resource can take time to process the power on action."
	PowerStatePoweringOn PowerState = "PoweringOn"

	// PowerStatePoweringOff - "PoweringOff": "A temporary state between on and off.  The components within the resource can take time to process the power off action."
	PowerStatePoweringOff PowerState = "PoweringOff"

	// PowerStatePaused - "Paused": "The resource is paused."
	PowerStatePaused PowerState = "Paused"
)

type PowerSupplies

type PowerSupplies struct {
	ODataID              string         `json:"@odata.id"`
	Actions              *OemActions    `json:"Actions,omitempty"`
	Assembly             *Link          `json:"Assembly,omitempty"`
	Name                 string         `json:"Name,omitempty"`
	Oem                  interface{}    `json:"Oem,omitempty"`
	Status               *Status        `json:"Status,omitempty"`
	EfficiencyPercent    float64        `json:"EfficiencyPercent,omitempty"`
	FirmwareVersion      string         `json:"FirmwareVersion,omitempty"`
	HotPluggable         bool           `json:"HotPluggable,omitempty"`
	IndicatorLED         string         `json:"IndicatorLED,omitempty"`
	InputRanges          []*InputRanges `json:"InputRanges,omitempty"`
	LastPowerOutputWatts float64        `json:"LastPowerOutputWatts,omitempty"`
	LineInputVoltage     float64        `json:"LineInputVoltage,omitempty"`
	LineInputVoltageType string         `json:"LineInputVoltageType,omitempty"`
	Location             interface{}    `json:"Location,omitempty"`
	Manufacturer         string         `json:"Manufacturer,omitempty"`
	MemberID             string         `json:"MemberId"`
	Model                string         `json:"Model,omitempty"`
	PartNumber           string         `json:"PartNumber,omitempty"`
	PowerCapacityWatts   float64        `json:"PowerCapacityWatts,omitempty"`
	PowerInputWatts      float64        `json:"PowerInputWatts,omitempty"`
	PowerOutputWatts     float64        `json:"PowerOutputWatts,omitempty"`
	PowerSupplyType      string         `json:"PowerSupplyType,omitempty"`
	Redundancy           []Redundancy   `json:"Redundancy,omitempty"`
	RelatedItem          []Link         `json:"RelatedItem,omitempty"`
	SerialNumber         string         `json:"SerialNumber,omitempty"`
	SparePartNumber      string         `json:"SparePartNumber,omitempty"`
	RedundancyCount      int            `json:"Redundancy@odata.count,omitempty"`
	RelatedItemCount     int            `json:"RelatedItem@odata.count,omitempty"`
}

PowerSupplies redfish model

type PrivilegeMap

type PrivilegeMap struct {
	ODataType         string      `json:"@odata.type"`
	Actions           *OemActions `json:"Actions,omitempty"`
	Description       string      `json:"Description,omitempty"`
	ID                string      `json:"Id"`
	Mapping           *Mapping    `json:"Mapping,omitempty"`
	Name              string      `json:"Name"`
	OEMPrivilegesUsed []string    `json:"OEMPrivilegesUsed,omitempty"`
	Oem               Oem         `json:"Oem,omitempty"`
	PrivilegesUsed    []string    `json:"PrivilegesUsed,omitempty"` //enum
}

PrivilegeMap redfish structure

type PrivilegeType

type PrivilegeType string

PrivilegeType - The set of restricted Redfish privileges

type ProcessorID

type ProcessorID struct {
	EffectiveFamily               string `json:"EffectiveFamily,omitempty"`
	EffectiveModel                string `json:"EffectiveModel,omitempty"`
	IdentificationRegisters       string `json:"IdentificationRegisters,omitempty"`
	MicrocodeInfo                 string `json:"MicrocodeInfo,omitempty"`
	Step                          string `json:"Step,omitempty"`
	VendorID                      string `json:"VendorId,omitempty"`
	ProtectedIdentificationNumber string `json:"ProtectedIdentificationNumber,omitempty"`
}

ProcessorID in place object

type ProcessorMemory

type ProcessorMemory struct {
	CapacityMiB      int    `json:"CapacityMiB"`
	IntegratedMemory bool   `json:"IntegratedMemory"`
	MemoryType       string `json:"MemoryType"` //enum
	SpeedMHz         int    `json:"SpeedMHz"`
}

ProcessorMemory in place object

type ProcessorSummary

type ProcessorSummary struct {
	CoreCount             int     `json:"CoreCount,omitempty"`
	Count                 int     `json:"Count"`
	LogicalProcessorCount int     `json:"LogicalProcessorCount"`
	Model                 string  `json:"Model"`
	Metrics               Metrics `json:"Metrics"`
	Status                Status  `json:"Status"` //deprecated
	ThreadingEnabled      bool    `json:"ThreadingEnabled,omitempty"`
}

ProcessorSummary redfish structure The central processors of the system in general detail This type shall contain properties that describe the central processors for a system.

Processors described by this type shall be limited to the processors that execute system code,

and shall not include processors used for offload functionality

type Processors

type Processors struct {
	Oid                        string                      `json:"@odata.id"`
	Ocontext                   string                      `json:"@odata.context,omitempty"`
	Oetag                      string                      `json:"@odata.etag,omitempty"`
	Otype                      string                      `json:"@odata.type"`
	Description                string                      `json:"description,omitempty"`
	ID                         string                      `json:"ID"`
	Name                       string                      `json:"Name"`
	Oem                        Oem                         `json:"Oem,omitempty"`
	AccelerationFunctions      AccelerationFunctions       `json:"AccelerationFunctions,omitempty"`
	Assembly                   Assembly                    `json:"Assembly,omitempty"`
	FPGA                       FPGA                        `json:"FPGA,omitempty"`
	InstructionSet             string                      `json:"InstructionSet,omitempty"` //enum
	Links                      Links                       `json:"Links,omitempty"`
	Location                   Location                    `json:"Location,omitempty"`
	Manufacturer               string                      `json:"Manufacturer,omitempty"`
	MaxSpeedMHz                int                         `json:"MaxSpeedMHz,omitempty"`
	MaxTDPWatts                int                         `json:"MaxTDPWatts,omitempty"`
	Metrics                    Metrics                     `json:"Metrics,omitempty"`
	Model                      string                      `json:"Model,omitempty"`
	ProcessorArchitecture      string                      `json:"ProcessorArchitecture,omitempty"` //enum
	ProcessorID                ProcessorID                 `json:"ProcessorID,omitempty"`
	ProcessorMemory            []ProcessorMemory           `json:"ProcessorMemory,omitempty"`
	ProcessorType              string                      `json:"ProcessorType,omitempty"` //enum
	Socket                     string                      `json:"Socket,omitempty"`
	Status                     Status                      `json:"Status,omitempty"`
	SubProcessors              SubProcessors               `json:"SubProcessors,omitempty"`
	TDPWatts                   int                         `json:"TDPWatts,omitempty"`
	TotalCores                 int                         `json:"TotalCores,omitempty"`
	TotalEnabledCores          int                         `json:"TotalEnabledCores,omitempty"`
	TotalThreads               int                         `json:"TotalThreads,omitempty"`
	UUID                       string                      `json:"UUID,omitempty"`
	OperatingSpeedRangeMHz     *OperatingSpeedRangeMHz     `json:"OperatingSpeedRangeMHz,omitempty"`
	Ports                      *Link                       `json:"Ports,omitempty"`
	Actions                    *OemActions                 `json:"Actions,omitempty"`
	BaseSpeedMHz               int                         `json:"BaseSpeedMHz,omitempty"`
	BaseSpeedPriorityState     string                      `json:"BaseSpeedPriorityState,omitempty"`
	Certificates               Certificates                `json:"Certificates,omitempty"`
	Enabled                    bool                        `json:"Enabled,omitempty"`
	EnvironmentMetrics         *Link                       `json:"EnvironmentMetrics,omitempty"`
	FirmwareVersion            string                      `json:"FirmwareVersion,omitempty"`
	HighSpeedCoreIDs           []int                       `json:"HighSpeedCoreIDs,omitempty"`
	LocationIndicatorActive    bool                        `json:"LocationIndicatorActive,omitempty"`
	Measurements               []*Link                     `json:"Measurements,omitempty"`
	MemorySummary              *MemorySummaryDetails       `json:"MemorySummary,omitempty"`
	MinSpeedMHz                int                         `json:"MinSpeedMHz,omitempty"`
	OperatingConfigs           *Link                       `json:"OperatingConfigs,omitempty"`
	OperatingSpeedMHz          int                         `json:"OperatingSpeedMHz,omitempty"`
	PartNumber                 string                      `json:"PartNumber,omitempty"`
	SerialNumber               string                      `json:"SerialNumber,omitempty"`
	SparePartNumber            string                      `json:"SparePartNumber,omitempty"`
	SpeedLimitMHz              int                         `json:"SpeedLimitMHz,omitempty"`
	SpeedLocked                bool                        `json:"SpeedLocked,omitempty"`
	SystemInterface            SystemInterface             `json:"SystemInterface,omitempty"`
	TurboState                 string                      `json:"TurboState,omitempty"`
	Version                    string                      `json:"Version,omitempty"`
	AdditionalFirmwareVersions *AdditionalFirmwareVersions `json:"AdditionalFirmwareVersions,omitempty"`
}

Processors 1.5.0

This resource shall be used to represent a single processor contained within a system. URIs: /redfish/v1/Systems/{ComputerSystemId}/Processors/{ProcessorId} /redfish/v1/Systems/{ComputerSystemId}/Processors/{ProcessorId}/SubProcessors/{ProcessorId2}

type Product

type Product struct{}

Product redfish structure

type ProtocolFeaturesSupported

type ProtocolFeaturesSupported struct {
	ExcerptQuery    bool         `json:"ExcerptQuery"`
	ExpandQuery     *ExpandQuery `json:"ExpandQuery:omitempty"`
	FilterQuery     bool         `json:"FilterQuery"`
	OnlyMemberQuery bool         `json:"OnlyMemberQuery"`
	SelectQuery     bool         `json:"SelectQuery"`
}

ProtocolFeaturesSupported redfish structure

type QoSTelemetryCapabilities

type QoSTelemetryCapabilities struct {
	EgressPortBackpressureSupported       bool `json:"EgressPortBackpressureSupported,omitempty"`
	TemporaryThroughputReductionSupported bool `json:"TemporaryThroughputReductionSupported,omitempty"`
}

QoSTelemetryCapabilities redfish structure

type ReconfigurationSlot

type ReconfigurationSlot struct {
	AccelerationFunction AccelerationFunction `json:"AccelerationFunction"`
	ProgrammableFromHost bool                 `json:"ProgrammableFromHost"`
	SlotID               string               `json:"SlotID"`
	UUID                 string               `json:"UUID"`
}

ReconfigurationSlot in place object

type Redundancy

type Redundancy struct {
	Oid                string      `json:"@odata.id,omitempty"`
	Actions            *OemActions `json:"Actions,omitempty"`
	MaxNumSupported    int         `json:"MaxNumSupported,omitempty"`
	MemberID           string      `json:"MemberId,omitempty"`
	MinNumNeeded       int         `json:"MinNumNeeded,omitempty"`
	Mode               string      `json:"Mode,omitempty"`
	Name               string      `json:"Name,omitempty"`
	Oem                interface{} `json:"Oem,omitempty"`
	RedundancyEnabled  bool        `json:"RedundancyEnabled,omitempty"`
	RedundancySet      []*Link     `json:"RedundancySet,omitempty"`
	Status             *Status     `json:"Status,omitempty"`
	RedundancySetCount int         `json:"RedundancySet@odata.count,omitempty"`
}

Redundancy redfish Redundancy model according to the 2020.3 release

type Region

type Region struct {
	MemoryClassification string `json:"MemoryClassification"` //enum
	OffsetMiB            int    `json:"OffsetMiB"`
	PassphraseEnabled    bool   `json:"PassphraseEnabled"`
	PassphraseState      bool   `json:"PassphraseState"`
	RegionID             string `json:"RegionID"`
	SizeMiB              int    `json:"SizeMiB"`
}

Region in place object

type RemoveResourceBlock

type RemoveResourceBlock struct {
	Target string `json:"Target,omitempty"`
	Title  string `json:"Title,omitempty"`
}

RemoveResourceBlock redfish structure This action removes a resource block from a system This action shall remove a resource block from a system

type ReplicaInfo

type ReplicaInfo struct {
}

ReplicaInfo describes this storage volume in its role as a target replica

type Reset

type Reset struct {
	Target string `json:"Target,omitempty"`
	Title  string `json:"Title,omitempty"`
}

Reset redfish Structure This action resets the system. This action shall reset the system represented by the resource.

For systems that implement ACPI Power Button functionality, the PushPowerButton value

shall perform or emulate an ACPI Power Button Push, and the ForceOff value shall perform an ACPI Power Button Override, commonly known as a four-second hold of the power button

type ResetToDefaults

type ResetToDefaults struct {
	Target string `json:"Target,omitempty"`
	Title  string `json:"Title,omitempty"`
}

ResetToDefaults resets the manager settings to factory defaults. This can cause the manager to reset

type RestrictedPrivileges

type RestrictedPrivileges string

RestrictedPrivileges - The set of restricted Redfish privileges

type ResumeSubscription

type ResumeSubscription struct {
	Target string `json:"target,omitempty"`
	Title  string `json:"title,omitempty"`
}

ResumeSubscription - This action shall resume a suspended event subscription, which affects the subscription status. The service may deliver buffered events when the subscription is resumed. Reference : EventDestination.v1_12_0.json

type Role

type Role struct {
	ODataContext       string   `json:"@odata.context,omitempty"`
	ODataEtag          string   `json:"@odata.etag,omitempty"`
	ODataID            string   `json:"@odata.id"`
	ODataType          string   `json:"@odata.type"`
	ID                 string   `json:"Id"`
	Name               string   `json:"Name"`
	Description        string   `json:"Description,omitempty"`
	AlternateRoleID    string   `json:"AlternateRoleId,omitempty"`
	AssignedPrivileges []string `json:"AssignedPrivileges,omitempty"`
	IsPredefined       bool     `json:"IsPredefined,omitempty"`
	Restricted         bool     `json:"Restricted,omitempty"`
	RoleID             string   `json:"RoleId,omitempty"`
}

Role the supported properties of role schema, this structure should be updated once ODIMRA supports more properties

type RoleMapping

type RoleMapping struct {
	LocalRole   string     `json:"LocalRole,omitempty"`
	MFABypass   *MFABypass `json:"MFABypass,omitempty"`
	Oem         *Oem       `json:"Oem,omitempty"`
	RemoteGroup string     `json:"RemoteGroup,omitempty"`
	RemoteUser  string     `json:"RemoteUser,omitempty"`
}

RoleMapping redfish structure The mapping rules that are used to convert the external account providers account information to the local Redfish role This type shall contain mapping rules that are used to convert the external account providers account information to the local Redfish role

type SFP

type SFP struct {
	FiberConnectionType string   `json:"FiberConnectionType,omitempty"`
	Manufacturer        string   `json:"Manufacturer,omitempty"`
	MediumType          string   `json:"MediumType,omitempty"`
	PartNumber          string   `json:"PartNumber,omitempty"`
	SerialNumber        string   `json:"SerialNumber,omitempty"`
	Status              Status   `json:"Status,omitempty"`
	SupportedSFPTypes   []string `json:"SupportedSFPTypes,omitempty"`
	Type                string   `json:"Type,omitempty"`
}

SFP redfish structure

type SMTPAuthentication

type SMTPAuthentication string

SMTPAuthentication - This property shall contain the authentication method for the SMTP server.

type SMTPConnectionProtocol

type SMTPConnectionProtocol string

SMTPConnectionProtocol - This property shall contain the connection type to the outgoing SMTP server.

type SMTPSettings

type SMTPSettings struct {
	Authentication     SMTPAuthentication     `json:"Authentication,omitempty"`
	ConnectionProtocol SMTPConnectionProtocol `json:"ConnectionProtocol,omitempty"`
	FromAddress        string                 `json:"FromAddress,omitempty"`
	Password           string                 `json:"Password,omitempty"`
	Port               int                    `json:"Port,omitempty"`
	ServerAddress      string                 `json:"ServerAddress,omitempty"`
	ServiceEnabled     string                 `json:"ServiceEnabled,omitempty"`
	Username           string                 `json:"Username,omitempty"`
}

SMTPSettings - This type shall contain settings for SMTP event delivery. Reference : EventService.v1_8_0.json

type SNMPAuthenticationProtocols

type SNMPAuthenticationProtocols string

SNMPAuthenticationProtocols - The authentication protocol for SNMPv3.

type SNMPEncryptionProtocols

type SNMPEncryptionProtocols string

SNMPEncryptionProtocols - the SNMPv3 encryption protocol.

type SNMPSettings

type SNMPSettings struct {
	AuthenticationKey      string                      `json:"AuthenticationKey,omitempty"`
	AuthenticationKeySet   bool                        `json:"AuthenticationKeySet,omitempty"`
	AuthenticationProtocol SNMPAuthenticationProtocols `json:"AuthenticationProtocol,omitempty"`
	EncryptionKey          string                      `json:"EncryptionKey,omitempty"`
	EncryptionKeySet       bool                        `json:"EncryptionKeySet,omitempty"`
	EncryptionProtocol     SNMPEncryptionProtocols     `json:"EncryptionProtocol,omitempty"`
	TrapCommunity          string                      `json:"TrapCommunity,omitempty"`
}

SNMPSettings - This type shall contain the settings for an SNMP event destination. Reference : EventDestination.v1_12_0.json

type SRIOV

type SRIOV struct {
	SRIOVVEPACapable interface{} `json:"SRIOVVEPACapable"`
}

SRIOV is Single-root input/output virtualization (SR-IOV) capabilities

type SSEFilterPropertiesSupported

type SSEFilterPropertiesSupported struct {
	EventFormatType         bool `json:"EventFormatType,omitempty"`
	EventType               bool `json:"EvenType,omitempty"`
	MessageIds              bool `json:"MessageIds,omitempty"`
	MetricReportDefinitions bool `json:"MetricReportDefinitions,omitempty"`
	OriginResource          bool `json:"OriginResource,omitempty"`
	RegistryPrefix          bool `json:"RegistryPrefix,omitempty"`
	ResourceType            bool `json:"ResourceType,omitempty"`
	SubordinateResources    bool `json:"SubordinateResources,omitempty"`
}

SSEFilterPropertiesSupported - The type shall contain a set of properties that are supported in the `$filter` query parameter for the URI indicated by the ServerSentEventUri property, as described by the Redfish Specification. Reference : EventService.v1_8_0.json

type Schedule

type Schedule struct {
	EnabledDaysOfMonth  []string `json:"EnabledDaysOfMonth,omitempty"`
	EnabledDaysOfWeek   []string `json:"EnabledDaysOfWeek,omitempty"`
	EnabledIntervals    []string `json:"EnabledIntervals,omitempty"`
	EnabledMonthsOfYear []string `json:"EnabledMonthsOfYear,omitempty"`
	InitialStartTime    string   `json:"InitialStartTime,omitempty"`
	Lifetime            string   `json:"Lifetime,omitempty"`
	MaxOccurrences      int      `json:"MaxOccurrences,omitempty"`
	Name                string   `json:"Name,omitempty"`
	RecurrenceInterval  string   `json:"RecurrenceInterval,omitempty"`
}

Schedule defines a series of occurrences

type SecurID

type SecurID struct {
	Certificates    *Certificates `json:"Certificates,omitempty"`
	ClientID        string        `json:"ClientID,omitempty"`
	ClientSecret    string        `json:"ClientSecret,omitempty"`
	ClientSecretSet bool          `json:"ClientSecretSet,omitempty"`
	Enabled         bool          `json:"Enabled,omitempty"`
	ServerURI       string        `json:"ServerURI,omitempty"`
}

SecurID redfish structure Various settings for RSA SecurID multi-factor authentication This type shall contain settings for RSA SecurID multi-factor authentication

type SecureBoot

type SecureBoot struct {
	Oid                   string      `json:"@odata.id"`
	Ocontext              string      `json:"@odata.context,omitempty"`
	Oetag                 string      `json:"@odata.etag,omitempty"`
	Otype                 string      `json:"@odata.type"`
	Description           string      `json:"description,omitempty"`
	ID                    string      `json:"ID"`
	Name                  string      `json:"Name"`
	Oem                   Oem         `json:"Oem,omitempty"`
	SecureBootCurrentBoot string      `json:"SecureBootCurrentBoot,omitempty"`
	SecureBootEnable      bool        `json:"SecureBootEnable,omitempty"`
	SecureBootMode        string      `json:"SecureBootMode,omitempty"`
	Actions               *OemActions `json:"Actions,omitempty"`
	SecureBootDatabases   *Link       `json:"SecureBootDatabases,omitempty"`
}

SecureBoot redfish structure

type SecureBootDatabase

type SecureBootDatabase struct {
	Oid          string `json:"@odata.id"`
	Ocontext     string `json:"@odata.context,omitempty"`
	Oetag        string `json:"@odata.etag,omitempty"`
	Otype        string `json:"@odata.type"`
	Actions      string `json:"Actions,omitempty"`
	Certificates string `json:"Certificates,omitempty"`
	DatabaseID   string `json:"DatabaseID,omitempty"`
	Description  string `json:"Description,omitempty"`
	ID           string `json:"ID"`
	Name         string `json:"Name"`
	Oem          string `json:"Oem,omitempty"`
	Signatures   string `json:"Signatures,omitempty"`
}

SecureBootDatabase This resource shall be used to represent a UEFI Secure Boot database for a Redfish implementation.

type SecureBootDatabaseCollection

type SecureBootDatabaseCollection struct {
	Oid                  string `json:"@odata.id"`
	Ocontext             string `json:"@odata.context,omitempty"`
	Oetag                string `json:"@odata.etag,omitempty"`
	Otype                string `json:"@odata.type"`
	Description          string `json:"Description,omitempty"`
	Members              string `json:"Members"`
	MembersCount         int    `json:"Members@odata.count"`
	MembersODataNextLink string `json:"Members@odata.nextLink,omitempty"`
	Name                 string `json:"Name"`
	Oem                  *Oem   `json:"Oem,omitempty"`
}

SecureBootDatabaseCollection This resource shall represent a resource collection of SecureBootDatabase instances for a Redfish implementation.

type SecurityCapabilities

type SecurityCapabilities struct {
	ConfigurationLockCapable bool     `json:"ConfigurationLockCapable"`
	DataLockCapable          bool     `json:"DataLockCapable"`
	MaxPassphraseCount       int      `json:"MaxPassphraseCount"`
	PassphraseCapable        bool     `json:"PassphraseCapable"`
	PassphraseLockLimit      int      `json:"PassphraseLockLimit"`
	SecurityStates           []string `json:"SecurityStates"` //enum
}

SecurityCapabilities in place object

type Sensors

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

Sensors redfish structure

type SerialConsole

type SerialConsole struct {
	IPMI                  interface{} `json:"IPMI,omitempty"`
	MaxConcurrentSessions int         `json:"MaxConcurrentSessions,omitempty"`
	SSH                   interface{} `json:"SSH,omitempty"`
	Telnet                interface{} `json:"Telnet,omitempty"`
}

SerialConsole redfish structure The information about the serial console services that this system provides. This type shall describe the serial console services for a computer system

type SerialConsoleProtocol

type SerialConsoleProtocol struct {
	ConsoleEntryCommand   string `json:"ConsoleEntryCommand,omitempty"`
	HotKeySequenceDisplay string `json:"HotKeySequenceDisplay,omitempty"`
	Port                  int    `json:"Port,omitempty"`
	ServiceEnabled        bool   `json:"ServiceEnabled,omitempty"`
	SharedWithManagerCLI  bool   `json:"SharedWithManagerCLI,omitempty"`
}

SerialConsoleProtocol redfish structure The information about a serial console service that this system provides This type shall describe a serial console service for a computer system

type ServiceRoot

type ServiceRoot struct {
	ODataContext              string                     `json:"@odata.context,omitempty"`
	ODataID                   string                     `json:"@odata.id,omitempty"`
	ODataEtag                 string                     `json:"@odata.etag,omitempty"`
	ODataType                 string                     `json:"@odata.type,omitempty"`
	AccountService            *Link                      `json:"AccountService,omitempty"`
	Chassis                   *Link                      `json:"Chassis,omitempty"`
	CompositionService        *Link                      `json:"CompositionService,omitempty"`
	Description               string                     `json:"Description,omitempty"`
	EventService              *Link                      `json:"EventService,omitempty"`
	Fabrics                   *Link                      `json:"Fabrics,omitempty"`
	ID                        string                     `json:"Id"`
	JSONSchemas               *Link                      `json:"JsonSchemas,omitempty"`
	Links                     Links                      `json:"Links"`
	Managers                  *Link                      `json:"Managers,omitempty"`
	Name                      string                     `json:"Name"`
	OEM                       *Oem                       `json:"Oem,omitempty"`
	Product                   *Product                   `json:"Product,omitempty"`
	ProtocolFeaturesSupported *ProtocolFeaturesSupported `json:"ProtocolFeaturesSupported,omitempty"`
	RedfishVersion            string                     `json:"RedfishVersion,omitempty"`
	Registries                *Link                      `json:"Registries,omitempty"`
	SessionService            *Link                      `json:"SessionService,omitempty"`
	StorageServices           *Link                      `json:"StorageServices,omitempty"`
	StorageSystems            *Link                      `json:"StorageSystems,omitempty"`
	Systems                   *Link                      `json:"Systems,omitempty"`
	Tasks                     *Link                      `json:"Tasks,omitempty"`
	UpdateService             *Link                      `json:"UpdateService,omitempty"`
	UUID                      string                     `json:"UUID,omitempty"`
	AggregationService        *Link                      `json:"AggregationService,omitempty"`
	Cables                    *Link                      `json:"Cables,omitempty"`
	CertificateService        *Link                      `json:"CertificateService,omitempty"`
	Facilities                *Link                      `json:"Facilities,omitempty"`
	JobService                *Link                      `json:"JobService,omitempty"`
	KeyService                *Link                      `json:"KeyService,omitempty"`
	NVMeDomains               *Link                      `json:"NVMeDomains,omitempty"`
	ResourceBlocks            *Link                      `json:"ResourceBlocks,omitempty"`
	Storage                   Storage                    `json:"Storage,omitempty"`
	TelemetryService          *Link                      `json:"TelemetryService,omitempty"`
	Vendor                    string                     `json:"Vendor,omitempty"`
	ServiceIdentification     string                     `json:"ServiceIdentification,omitempty"`
	MultipleHTTPRequests      bool                       `json:"MultipleHTTPRequests,omitempty"`
	ComponentIntegrity        *Link                      `json:"ComponentIntegrity,omitempty"`
	RegisteredClients         *Link                      `json:"RegisteredClients,omitempty"`
	ServiceConditions         *Link                      `json:"ServiceConditions,omitempty"`
	LicenseService            *Link                      `json:"LicenseService,omitempty"`
}

ServiceRoot a defines redfish service root

type SetDefaultBootOrder

type SetDefaultBootOrder struct {
	Target string `json:"Target,omitempty"`
	Title  string `json:"Title,omitempty"`
}

SetDefaultBootOrder redfish Structure This action sets the BootOrder to the default settings This action shall set the BootOrder array to the default settings

type SimpleStorage

type SimpleStorage struct {
	Oid            string      `json:"@odata.id"`
	Ocontext       string      `json:"@odata.context,omitempty"`
	Oetag          string      `json:"@odata.etag,omitempty"`
	Otype          string      `json:"@odata.type"`
	Description    string      `json:"description,omitempty"`
	ID             string      `json:"ID"`
	Name           string      `json:"Name"`
	Oem            Oem         `json:"Oem,omitempty"`
	Devices        []Device    `json:"Devices,omitempty"`
	Links          Link        `json:"Links,omitempty"`
	Status         Status      `json:"Status,omitempty"`
	UefiDevicePath string      `json:"UefiDevicePath,omitempty"`
	Actions        *OemActions `json:"Actions,omitempty"`
}

SimpleStorage redfish structure

type SimpleUpdate

type SimpleUpdate struct {
	ImageURI                  string   `json:"ImageURI"`
	Password                  string   `json:"Password,omitempty"`
	Targets                   []string `json:"Targets,omitempty"`
	TransferProtocol          string   `json:"TransferProtocol,omitempty"`
	Username                  string   `json:"Username,omitempty"`
	RedfishOperationApplyTime string   `json:"@Redfish.OperationApplyTime,omitempty"`
}

SimpleUpdate struct defines the received request body for update action

type Slot

type Slot struct {
	LaneSplitting string `json:"LaneSplitting,omitempty"`
	Lanes         int    `json:"Lanes,omitempty"`
	PCIeType      string `json:"PCIeType,omitempty"`
	SlotType      string `json:"SlotType,omitempty"`
}

Slot Information about the slot for this PCIe device.

type State

type State string

State - The known state of the resource, such as, enabled. This property shall indicate whether and why this component is available.

const (
	// This function or resource is enabled.
	StateEnabled State = "Enabled"
	// This function or resource is disabled.
	StateDisabled State = "Disabled"
	// This function or resource is enabled but awaits an external action
	// to activate it.
	StateStandbyOffline State = "StandbyOffline"
	// This function or resource is part of a redundancy set and awaits a
	// failover or other external action to activate it.
	StateStandbySpare State = "StandbySpare"
	// This function or resource is undergoing testing, or is in the process
	// of capturing information for debugging.
	StateInTest State = "InTest"
	//This function or resource is starting.
	StateStarting State = "Starting"
	// This function or resource is either not present or detected.
	StateAbsent State = "Absent"
	// This function or resource is present but cannot be used.
	StateUnavailableOffline State = "UnavailableOffline"
	// The element does not process any commands but queues new requests.
	StateDeferring State = "Deferring"
	// The element is enabled but only processes a restricted set of commands.
	StateQuiesced State = "Quiesced"
	// The element is updating and might be unavailable or degraded.
	StateUpdating State = "Updating"
	//The element quality is within the acceptable range of operation.
	StateQualified State = "Qualified"
)

Below constants represents the states that a resource can have

type StatelessAddressAutoConfig

type StatelessAddressAutoConfig struct {
	IPv4AutoConfigEnabled bool `json:"IPv4AutoConfigEnabled"`
	IPv6AutoConfigEnabled bool `json:"IPv6AutoConfigEnabled"`
}

StatelessAddressAutoConfig in place object

type Status

type Status struct {
	Oid          string `json:"@odata.id,omitempty"`
	Ocontext     string `json:"@odata.context,omitempty"`
	Oetag        string `json:"@odata.etag,omitempty"`
	Otype        string `json:"@odata.type,omitempty"`
	Description  string `json:"description,omitempty"`
	ID           string `json:"Id,omitempty"`
	Name         string `json:"Name,omitempty"`
	Health       string `json:"Health,omitempty"`
	HealthRollup string `json:"HealthRollup,omitempty"`
	State        string `json:"State,omitempty"`
	Oem          *Oem   `json:"Oem,omitempty"`
}

Status redfish structure

type StopBootOnFault

type StopBootOnFault string

StopBootOnFault - If the boot should stop on a fault

type Storage

type Storage struct {
	Oid                     string                `json:"@odata.id"`
	ODataContext            string                `json:"@odata.context,omitempty"`
	ODataEtag               string                `json:"@odata.etag,omitempty"`
	ODataType               string                `json:"@odata.type"`
	Description             string                `json:"Description,omitempty"`
	ID                      string                `json:"Id"`
	Name                    string                `json:"Name"`
	Oem                     *Oem                  `json:"Oem,omitempty"`
	Drives                  []*Link               `json:"Drives,omitempty"`
	Links                   *StorageLinks         `json:"Links,omitempty"`
	Redundancy              []*Redundancy         `json:"Redundancy,omitempty"`
	Status                  *Status               `json:"Status,omitempty"`
	StorageControllers      []*StorageControllers `json:"StorageControllers,omitempty"` //StorageControllers Deprecated in version Storage.v1.13.0
	Volumes                 *Link                 `json:"Volumes,omitempty"`
	ConsistencyGroups       *Link                 `json:"ConsistencyGroups,omitempty"`
	Controllers             *Link                 `json:"Controllers,omitempty"`
	EndpointGroups          *Link                 `json:"EndpointGroups,omitempty"`
	FileSystems             *Link                 `json:"FileSystems,omitempty"`
	Identifiers             *Identifier           `json:"Identifiers,omitempty"`
	StorageGroups           *Link                 `json:"StorageGroups,omitempty"`
	StoragePools            *Link                 `json:"StoragePools,omitempty"`
	DrivesCount             int                   `json:"Drives@odata.count,omitempty"`
	RedundancyCount         int                   `json:"Redundancy@odata.count,omitempty"`
	StorageControllersCount int                   `json:"StorageControllers@odata.count,omitempty"`
}

Storage redfish structure

type StorageControllers

type StorageControllers struct {
	Oid                          string                    `json:"@odata.id"`
	ODataContext                 string                    `json:"@odata.context,omitempty"`
	ODataEtag                    string                    `json:"@odata.etag,omitempty"`
	ODataType                    string                    `json:"@odata.type,omitempty"`
	AssetTag                     string                    `json:"AssetTag,omitempty"`
	FirmwareVersion              string                    `json:"FirmwareVersion,omitempty"`
	Manufacturer                 string                    `json:"Manufacturer,omitempty"`
	MemberID                     string                    `json:"MemberId,omitempty"`
	Model                        string                    `json:"Model,omitempty"`
	Name                         string                    `json:"Name,omitempty"`
	PartNumber                   string                    `json:"PartNumber,omitempty"`
	SerialNumber                 string                    `json:"SerialNumber,omitempty"`
	SKU                          string                    `json:"SKU,omitempty"`
	SpeedGbps                    int                       `json:"SpeedGbps,omitempty"`
	SupportedControllerProtocols []string                  `json:"SupportedControllerProtocols,omitempty"` //enum
	SupportedDeviceProtocols     []string                  `json:"SupportedDeviceProtocols,omitempty"`     //enum
	SupportedRAIDTypes           []string                  `json:"SupportedRAIDTypes,omitempty"`           //enum
	Actions                      *Actions                  `json:"Actions,omitempty"`
	Assembly                     *Assembly                 `json:"Assembly,omitempty"`
	CacheSummary                 *CacheSummary             `json:"CacheSummary,omitempty"`
	ControllerRates              *ControllerRates          `json:"ControllerRates,omitempty"`
	Identifiers                  []*Identifier             `json:"Identifiers,omitempty"`
	Links                        *StorageControllersLinks  `json:"Links,omitempty"`
	Location                     *Location                 `json:"Location,omitempty"`
	NVMeControllerProperties     *NVMeControllerProperties `json:"NVMeControllerProperties,omitempty"`
	Oem                          *Oem                      `json:"Oem,omitempty"`
	PCIeInterface                *PCIeInterface            `json:"PCIeInterface,omitempty"`
	Ports                        *Link                     `json:"Ports,omitempty"`
	Status                       *StorageStatus            `json:"Status,omitempty"`
	Certificates                 *Certificates             `json:"Certificates,omitempty"`
	Batteries                    []*Link                   `json:"Batteries,omitempty"`
	Measurements                 []*Link                   `json:"Measurements,omitempty"` // Deprecated in version v1.5.0
}

StorageControllers redfish structure

type StorageControllersLinks struct {
	PCIeFunctions   *Link   `json:"PCIeFunctions,omitempty"`
	Oem             *Oem    `json:"Oem,omitempty"`
	Endpoints       []*Link `json:"Enclosures,omitempty"`
	StorageServices []*Link `json:"StorageServices,omitempty"`
}

StorageControllersLinks struct is for smart storage Links schema

type StorageLinks struct {
	Enclosures      []*Link `json:"Enclosures,omitempty"`
	SimpleStorage   *Link   `json:"SimpleStorage,omitempty"`
	StorageServices []*Link `json:"StorageServices,omitempty"`
	Oem             *Oem    `json:"Oem,omitempty"`
}

StorageLinks struct is for storage Links schema

type StorageServices

type StorageServices struct {
	Oid                  string `json:"@odata.id"`
	Ocontext             string `json:"@odata.context,omitempty"`
	Oetag                string `json:"@odata.etag,omitempty"`
	Otype                string `json:"@odata.type"`
	Description          string `json:"Description,omitempty"`
	Members              string `json:"Members"`
	MembersCount         int    `json:"Members@odata.count"`
	MembersODataNextLink string `json:"Members@odata.nextLink,omitempty"`
	Name                 string `json:"Name"`
	Oem                  *Oem   `json:"Oem,omitempty"`
}

StorageServices redfish structure

type StorageStatus

type StorageStatus struct {
	State  string `json:"State,omitempty"`
	Health string `json:"Health,omitempty"`
}

StorageStatus struct is to define the status of the Storage

type SubProcessors

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

SubProcessors redfish structure

type SubmitTestEvent

type SubmitTestEvent struct {
	EventGroupID      int             `json:"EventGroupId,omitempty"`
	EventID           string          `json:"EventId,omitempty"`
	EventTimestamp    string          `json:"EventTimestamp,omitempty"`
	EventType         EventType       `json:"EventType,omitempty"`
	Message           string          `json:"Message,omitempty"`
	MessageArgs       []string        `json:"MessageArgs,omitempty"`
	MessageID         string          `json:"MessageId"`
	OriginOfCondition string          `json:"OriginOfCondition,omitempty"`
	Severity          MessageSeverity `json:"Severity,omitempty"`
}

SubmitTestEvent - This action shall add a test event to the event service with the event data specified in the action parameter action parameters. Then, this message should be sent to any appropriate event destinations. Reference : EventService.v1_8_0.json

type SubscriptionType

type SubscriptionType string

SubscriptionType - The subscription type for events.

func (SubscriptionType) IsSubscriptionTypeSupported

func (subscriptionType SubscriptionType) IsSubscriptionTypeSupported() bool

IsSubscriptionTypeSupported method return true if subscription type is RedfishEvent

func (SubscriptionType) IsValidSubscriptionType

func (subscriptionType SubscriptionType) IsValidSubscriptionType() bool

IsValidSubscriptionType validate subscription type is valid,

func (SubscriptionType) ToString

func (subscriptionType SubscriptionType) ToString() string

ToString - converts SubscriptionType to string type

type SupportedAccountTypes

type SupportedAccountTypes string

SupportedAccountTypes - The account types supported by the service

type SupportedLinkCapabilities

type SupportedLinkCapabilities struct {
	AutoSpeedNegotiation  *bool  `json:"AutoSpeedNegotiation,omitempty"`
	CapableLinkSpeedMbps  []int  `json:"CapableLinkSpeedMbps,omitempty"`
	LinkNetworkTechnology string `json:"LinkNetworkTechnology,omitempty"`
	LinkSpeedMbps         int    `json:"LinkSpeedMbps,omitempty"`
}

SupportedLinkCapabilities contains the information of Ethernet capabilities that the network port support

type SuspendSubscription

type SuspendSubscription struct {
	Target string `json:"target,omitempty"`
	Title  string `json:"title,omitempty"`
}

SuspendSubscription - This action shall suspend an event subscription. No events shall be sent to the event destination until invocation of the ResumeSubscription action. The value of the State property within Status shall contain `Disabled` for a suspended subscription. The service may buffer events while the subscription is suspended. Reference : EventDestination.v1_12_0.json

type Switch

type Switch struct {
	ODataContext            string       `json:"@odata.context,omitempty"`
	ODataEtag               string       `json:"@odata.etag,omitempty"`
	ODataID                 string       `json:"@odata.id"`
	ODataType               string       `json:"@odata.type"`
	Actions                 *OemActions  `json:"Actions,omitempty"`
	Description             string       `json:"Description,omitempty"`
	ID                      string       `json:"Id"`
	Links                   *SwitchLinks `json:"Links,omitempty"`
	Name                    string       `json:"Name"`
	Oem                     interface{}  `json:"Oem,omitempty"`
	Status                  *Status      `json:"Status,omitempty"`
	AssetTag                string       `json:"AssetTag,omitempty"`
	CurrentBandwidthGbps    float64      `json:"CurrentBandwidthGbps,omitempty"`
	DomainID                string       `json:"DomainID,omitempty"`
	FirmwareVersion         string       `json:"FirmwareVersion,omitempty"`
	IndicatorLED            string       `json:"IndicatorLED,omitempty"`
	IsManaged               bool         `json:"IsManaged"`
	LocationIndicatorActive bool         `json:"LocationIndicatorActive,omitempty"`
	LogServices             *Link        `json:"LogServices,omitempty"`
	Manufacturer            string       `json:"Manufacturer,omitempty"`
	MaxBandwidthGbps        float64      `json:"MaxBandwidthGbps,omitempty"`
	Model                   string       `json:"Model,omitempty"`
	PartNumber              string       `json:"PartNumber,omitempty"`
	Ports                   *Link        `json:"Ports"`
	PowerState              string       `json:"PowerState,omitempty"`
	Redundancy              []Redundancy `json:"Redundancy,omitempty"`
	SerialNumber            string       `json:"SerialNumber,omitempty"`
	SKU                     string       `json:"SKU,omitempty"`
	SupportedProtocols      []string     `json:"SupportedProtocols,omitempty"`
	SwitchType              string       `json:"SwitchType"`
	TotalSwitchWidth        int          `json:"TotalSwitchWidth,omitempty"`
	UUID                    string       `json:"UUID,omitempty"`
	Certificates            Certificates `json:"Certificates,omitempty"`
	Enabled                 bool         `json:"Enabled,omitempty"`
	EnvironmentMetrics      *Link        `json:"EnvironmentMetrics,omitempty"`
	Location                *Link        `json:"Location,omitempty"`
	Measurements            []*Link      `json:"Measurements,omitempty"` //Deprecated in version v1.8.0
	Metrics                 *Link        `json:"Metrics,omitempty"`
}

Switch is the redfish Switch model according to the 2020.3 release

type SwitchLinks struct {
	Chassis   *Link       `json:"Chassis,omitempty"`
	Endpoints []*Link     `json:"Endpoints,omitempty"`
	ManagedBy []*Link     `json:"ManagedBy,omitempty"`
	Oem       interface{} `json:"Oem,omitempty"`
}

SwitchLinks defines the

type SysLog

type SysLog struct {
	LogFacilities  []string `json:"LogFacilities,omitempty"`
	LowestSeverity string   `json:"LowestSeverity,omitempty"`
}

SysLog redfish structure

type SyslogFacility

type SyslogFacility string

SyslogFacility - This property 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. Facility values are described in the RFC5424.

type SyslogFilter

type SyslogFilter struct {
	LogFacilities  SyslogFacility `json:"LogFacilities,omitempty"`
	LowestSeverity SyslogSeverity `json:"LowestSeverity,omitempty"`
}

SyslogFilter - A list of filters applied to syslog messages before sending to a remote syslog server. An empty list indicates all syslog messages are sent. Reference : EventDestination.v1_12_0.json

type SyslogSeverity

type SyslogSeverity string

SyslogSeverity - This property shall contain the types of severity for syslog

type SystemInterface

type SystemInterface struct {
	Ethernet      Ethernet      `json:"Ethernet,omitempty"`
	InterfaceType string        `json:"InterfaceType,omitempty"`
	PCIe          PCIeInterface `json:"PCIe,omitempty"`
}

SystemInterface redfish structure

type SystemType

type SystemType string

SystemType -The type of computer system that this resource represents

type TACACSplusService

type TACACSplusService struct {
	PasswordExchangeProtocols string `json:"PasswordExchangeProtocols,omitempty"` //enum
	PrivilegeLevelArgument    string `json:"PrivilegeLevelArgument,omitempty"`
}

TACACSplusService redfish structure Various settings to parse a TACACS+ service This type shall contain settings for parsing a TACACS+ service

type TargetPrivilegeMap

type TargetPrivilegeMap struct {
	OperationMap OperationMap `json:"OperationMap,omitempty"`
	Targets      []string     `json:"Targets,omitempty"`
}

TargetPrivilegeMap redfish structure

type Task

type Task struct {
	ODataContext      string      `json:"@odata.context,omitempty"`
	ODataEtag         string      `json:"@odata.etag,omitempty"`
	ODataID           string      `json:"@odata.id"`
	ODataType         string      `json:"@odata.type"`
	Actions           *OemActions `json:"Actions,omitempty"`
	Description       string      `json:"Description,omitempty"`
	EndTime           string      `json:"EndTime,omitempty"`
	EstimatedDuration string      `json:"EstimatedDuration,omitempty"`
	HidePayload       bool        `json:"HidePayload,omitempty"`
	ID                string      `json:"Id"`
	Messages          []*Message  `json:"Messages,omitempty"`
	Name              string      `json:"Name"`
	Payload           *Payload    `json:"Payload,omitempty"`
	PercentComplete   int         `json:"PercentComplete,omitempty"`
	StartTime         string      `json:"StartTime,omitempty"`
	SubTasks          *Link       `json:"TaskCollection,omitempty"`
	TaskMonitor       string      `json:"TaskMonitor,omitempty"`
	TaskState         TaskState   `json:"TaskState,omitempty"`
	TaskStatus        Health      `json:"TaskStatus,omitempty"`
}

Task - The Task schema contains information about a task that the Redfish task service schedules or executes. Tasks represent operations that take more time than a client typically wants to wait. Reference : Task.v1_6_1.json

type TaskCollection

type TaskCollection struct {
	ODataContext    string  `json:"@odata.context,omitempty"`
	ODataID         string  `json:"@odata.id"`
	ODataType       string  `json:"@odata.type"`
	ODataETag       string  `json:"@odata.etag"`
	Description     string  `json:"Description,omitempty"`
	Members         []*Link `json:"Members,omitempty"`
	MembersCount    int     `json:"Members@odata.count"`
	MembersNextLink string  `json:"Members@odata.nextLink,omitempty"`
	Name            string  `json:"Name"`
	Oem             Oem     `json:"Oem,omitempty"`
}

TaskCollection - This Resource shall represent a Resource Collection of Task instances for a Redfish implementation. Reference : TTaskCollection.json

type TaskService

type TaskService struct {
	ODataContext                    string             `json:"@odata.context,omitempty"`
	ODataEtag                       string             `json:"@odata.etag,omitempty"`
	ODataID                         string             `json:"@odata.id"`
	ODataType                       string             `json:"@odata.type"`
	Actions                         *OemActions        `json:"Actions,omitempty"`
	CompletedTaskOverWritePolicy    OverWritePolicy    `json:"CompletedTaskOverWritePolicy,omitempty"`
	DateTime                        string             `json:"DateTime,omitempty"`
	Description                     string             `json:"Description,omitempty"`
	ID                              string             `json:"Id"`
	LifeCycleEventOnTaskStateChange bool               `json:"LifeCycleEventOnTaskStateChange,omitempty"`
	Name                            string             `json:"Name"`
	Oem                             Oem                `json:"Oem,omitempty"`
	ServiceEnabled                  bool               `json:"ServiceEnabled,omitempty"`
	Status                          *TaskServiceStatus `json:"Status,omitempty"`
	TaskAutoDeleteTimeoutMinutes    bool               `json:"TaskAutoDeleteTimeoutMinutes,omitempty"`
	Tasks                           *Link              `json:"Tasks,omitempty"`
}

TaskService schema describes a task service that enables management of long-duration operations, includes the properties for the task service itself, and has links to the resource collection of tasks.

type TaskServiceStatus

type TaskServiceStatus struct {
	Conditions   []*Conditions `json:"Conditions,omitempty"`
	Health       Health        `json:"Health,omitempty"`
	HealthRollup Health        `json:"HealthRollup,omitempty"`
	Oem          Oem           `json:"Oem,omitempty"`
	State        State         `json:"State,omitempty"`
}

TaskServiceStatus - This type shall contain any status or health properties of Task service

type TaskState

type TaskState string

TaskState - This property shall indicate the state of the task.

const (
	// This value shall represent that the task is newly created,
	// but has not started.
	TaskStateNew TaskState = "New"
	// This value shall represent that the task is starting.
	TaskStateStarting TaskState = "Starting"
	// This value shall represent that the task is executing.
	TaskStateRunning TaskState = "Running"
	// This value shall represent that the task has been suspended
	// but is expected to restart and is therefore not complete.
	TaskStateSuspended TaskState = "Suspended"
	// This value shall represent that the task has been interrupted
	// but is expected to restart and is therefore not complete.
	TaskStateInterrupted TaskState = "Interrupted"
	// This value shall represent that the task is pending some condition
	// and has not yet begun to execute.
	TaskStatePending TaskState = "Pending"
	// This value shall represent that the task is stopping
	// but is not yet complete.
	TaskStateStopping TaskState = "Stopping"
	// This value shall represent that the task completed successfully
	// or with warnings.
	TaskStateCompleted TaskState = "Completed"
	// This value shall represent that the task is complete
	// because an operator killed it.
	TaskStateKilled TaskState = "Killed"
	// This value shall represent that the task completed with errors.
	TaskStateException TaskState = "Exception"
	// This value shall represent that the task is now running as a service
	// and expected to continue operation until stopped or killed.
	TaskStateService TaskState = "Service"
	// "This value shall represent that the task is in the process of
	// being cancelled.
	TaskStateCancelling TaskState = "Cancelling"
	// This value shall represent that either a DELETE operation
	// on a task monitor or Task resource or by an internal process
	// cancelled the task.
	TaskStateCancelled TaskState = "Cancelled"
)

The below constants are the states that a task can have

type Temperatures

type Temperatures struct {
	ODataID                            string      `json:"@odata.id"`
	Actions                            *OemActions `json:"Actions,omitempty"`
	AdjustedMaxAllowableOperatingValue int         `json:"AdjustedMaxAllowableOperatingValue,omitempty"`
	AdjustedMinAllowableOperatingValue int         `json:"AdjustedMinAllowableOperatingValue,omitempty"`
	DeltaPhysicalContext               string      `json:"DeltaPhysicalContext,omitempty"`
	DeltaReadingCelsius                float64     `json:"DeltaReadingCelsius,omitempty"`
	LowerThresholdCritical             float64     `json:"LowerThresholdCritical,omitempty"`
	LowerThresholdFatal                float64     `json:"LowerThresholdFatal,omitempty"`
	LowerThresholdNonCritical          float64     `json:"LowerThresholdNonCritical,omitempty"`
	LowerThresholdUser                 int         `json:"LowerThresholdUser,omitempty"`
	MaxAllowableOperatingValue         int         `json:"MaxAllowableOperatingValue,omitempty"`
	MaxReadingRangeTemp                float64     `json:"MaxReadingRangeTemp,omitempty"`
	MemberID                           string      `json:"MemberId,omitempty"`
	MinAllowableOperatingValue         int         `json:"MinAllowableOperatingValue,omitempty"`
	MinReadingRangeTemp                float64     `json:"MinReadingRangeTemp,omitempty"`
	Name                               string      `json:"Name,omitempty"`
	Oem                                interface{} `json:"Oem,omitempty"`
	PhysicalContext                    string      `json:"PhysicalContext,omitempty"`
	ReadingCelsius                     float64     `json:"ReadingCelsius,omitempty"`
	RelatedItem                        []Link      `json:"RelatedItem,omitempty"`
	SensorNumber                       int         `json:"SensorNumber,omitempty"`
	Status                             *Status     `json:"Status,omitempty"`
	UpperThresholdCritical             float64     `json:"UpperThresholdCritical,omitempty"`
	UpperThresholdFatal                float64     `json:"UpperThresholdFatal,omitempty"`
	UpperThresholdNonCritical          float64     `json:"UpperThresholdNonCritical,omitempty"`
	UpperThresholdUser                 int         `json:"UpperThresholdUser,omitempty"`
}

Temperatures redfish model

type Thermal

type Thermal struct {
	ODataContext string          `json:"@odata.context,omitempty"`
	ODataEtag    string          `json:"@odata.etag,omitempty"`
	ODataID      string          `json:"@odata.id"`
	ODataType    string          `json:"@odata.type"`
	Actions      *OemActions     `json:"Actions,omitempty"`
	Description  string          `json:"Description,omitempty"`
	ID           string          `json:"Id"`
	Name         string          `json:"Name"`
	Oem          interface{}     `json:"Oem,omitempty"`
	Status       *Status         `json:"Status,omitempty"`
	Fans         []*Fans         `json:"Fans,omitempty"`
	Redundancy   []Redundancy    `json:"Redundancy,omitempty"`
	Temperatures []*Temperatures `json:"Temperatures,omitempty"`
}

Thermal is the redfish Power model according to the 2020.3 release

type Threshold

type Threshold struct {
	Activation string `json:"Activation,omitempty"`
	DwellTime  string `json:"DwellTime,omitempty"`
	Reading    int    `json:"Reading,omitempty"`
}

Threshold schema for numeric threshold

type TriggerLinks struct {
	MetricReportDefinitions      []Oid `json:"MetricReportDefinitions,omitempty"`
	Oem                          *Oem  `json:"Oem,omitempty"`
	MetricReportDefinitionsCount int   `json:"MetricReportDefinitions@odata.count,omitempty"`
}

TriggerLinks defines links to resources associated with Triggers

type Triggers

type Triggers struct {
	ODataID                  string            `json:"@odata.id"`
	ODataType                string            `json:"@odata.type"`
	ID                       string            `json:"Id"`
	Name                     string            `json:"Name"`
	DiscreteTriggerCondition string            `json:"DiscreteTriggerCondition,omitempty"`
	DiscreteTriggers         []DiscreteTrigger `json:"DiscreteTriggers,omitempty"`
	EventTriggers            []string          `json:"EventTriggers,omitempty"`
	Links                    TriggerLinks      `json:"Links,omitempty"`
	MetricProperties         []string          `json:"MetricProperties,omitempty"`
	MetricType               string            `json:"MetricType,omitempty"`
	NumericThresholds        NumericThresholds `json:"NumericThresholds,omitempty"`
	Status                   Status            `json:"Status,omitempty"`
	TriggerActions           []string          `json:"TriggerActions,omitempty"`
	Wildcards                []WildCard        `json:"Wildcards,omitempty"`
	MetricIds                []string          `json:"MetricIds,omitempty"`
	Description              string            `json:"Description,omitempty"`
	Oem                      *Oem              `json:"Oem,omitempty"`
}

Triggers schema describes a trigger that applies to metrics.

type TrustedModule

type TrustedModule struct {
	FirmwareVersion        string `json:"FirmwareVersion"`
	FirmwareVersion2       string `json:"FirmwareVersion2"`
	InterfaceType          string `json:"InterfaceType"`          //enum
	InterfaceTypeSelection string `json:"InterfaceTypeSelection"` //enum
	Oem                    Oem    `json:"Oem"`
	Status                 Status `json:"Status"`
}

TrustedModule redfish structure The Trusted Module installed in the system This type shall describe a Trusted Module for a system

type TrustedModuleRequiredToBoot

type TrustedModuleRequiredToBoot string

TrustedModuleRequiredToBoot - The Trusted Module boot requirement

type VLAN

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

VLAN redfish structure

type VLANs

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

VLANs redfish structure

type VMActions

type VMActions struct {
	EjectMedia  ActionTarget `json:"EjectMedia"`
	InsertMedia ActionTarget `json:"InsertMedia"`
}

VMActions contains the actions property details of virtual media

type VirtualFunction

type VirtualFunction struct {
	DeviceMaxCount         interface{} `json:"DeviceMaxCount"`
	MinAssignmentGroupSize interface{} `json:"MinAssignmentGroupSize"`
	NetworkPortMaxCount    interface{} `json:"NetworkPortMaxCount,"`
}

VirtualFunction is a virtual function of a controller

type VirtualMedia

type VirtualMedia struct {
	ODataContext         string              `json:"@odata.context,omitempty"`
	ODataEtag            string              `json:"@odata.etag,omitempty"`
	ODataID              string              `json:"@odata.id"`
	ODataType            string              `json:"@odata.type"`
	Actions              VMActions           `json:"Actions,omitempty"`
	ConnectedVia         string              `json:"ConnectedVia,omitempty"`
	Description          string              `json:"Description,omitempty"`
	ID                   string              `json:"Id"`
	Image                string              `json:"Image"`
	ImageName            string              `json:"ImageName,omitempty"`
	Inserted             bool                `json:"Inserted"`
	MediaTypes           []string            `json:"MediaTypes,omitempty"`
	Name                 string              `json:"Name"`
	Oem                  interface{}         `json:"Oem,omitempty"`
	Password             string              `json:"Password,omitempty"`
	TransferMethod       string              `json:"TransferMethod,omitempty"`
	TransferProtocolType string              `json:"TransferProtocolType,omitempty"`
	UserName             string              `json:"UserName,omitempty"`
	VerifyCertificate    bool                `json:"VerifyCertificate,omitempty"`
	WriteProtected       bool                `json:"WriteProtected,omitempty"`
	Status               *Status             `json:"Status,omitempty"`
	ClientCertificates   *ClientCertificates `json:"ClientCertificates,omitempty"`
	Certificates         Certificates        `json:"Certificates,omitempty"`
}

VirtualMedia is a redfish virtual media model

type VirtualMediaConfig

type VirtualMediaConfig struct {
	Port           int  `json:"Port,omitempty"`
	ServiceEnabled bool `json:"ServiceEnabled,omitempty"`
}

VirtualMediaConfig redfish structure The information about virtual media service for this system This type shall describe a virtual media service service for a computer system

type VirtualizationOffload

type VirtualizationOffload struct {
	SRIOV           *SRIOV           `json:"SRIOV,omitempty"`
	VirtualFunction *VirtualFunction `json:"VirtualFunction,omitempty"`
}

VirtualizationOffload is Virtualization offload for this controller

type Voltages

type Voltages struct {
	ODataID                   string      `json:"@odata.id"`
	Actions                   *OemActions `json:"Actions,omitempty"`
	Name                      string      `json:"Name,omitempty"`
	Oem                       interface{} `json:"Oem,omitempty"`
	Status                    *Status     `json:"Status,omitempty"`
	RelatedItem               []Link      `json:"RelatedItem,omitempty"`
	LowerThresholdCritical    float64     `json:"LowerThresholdCritical,omitempty"`
	LowerThresholdFatal       float64     `json:"LowerThresholdFatal,omitempty"`
	LowerThresholdNonCritical float64     `json:"LowerThresholdNonCritical,omitempty"`
	MaxReadingRange           float64     `json:"MaxReadingRange,omitempty"`
	MemberID                  string      `json:"MemberId"`
	MinReadingRange           float64     `json:"MinReadingRange,omitempty"`
	PhysicalContext           string      `json:"PhysicalContext,omitempty"`
	ReadingVolts              float64     `json:"ReadingVolts,omitempty"`
	SensorNumber              int         `json:"SensorNumber,omitempty"`
	UpperThresholdCritical    float64     `json:"UpperThresholdCritical,omitempty"`
	UpperThresholdFatal       float64     `json:"UpperThresholdFatal,omitempty"`
	UpperThresholdNonCritical float64     `json:"UpperThresholdNonCritical,omitempty"`
	RelatedItemCount          int         `json:"RelatedItem@odata.count,omitempty"`
}

Voltages redfish model

type Volume

type Volume struct {
	Oid                              string                   `json:"@odata.id"`
	ODataContext                     string                   `json:"@odata.context"`
	ODataEtag                        string                   `json:"@odata.etag"`
	ODataType                        string                   `json:"@odata.type"`
	AccessCapabilities               []string                 `json:"AccessCapabilities,omitempty"`
	CollectionCapabilities           *CollectionCapabilities  `json:"@Redfish.CollectionCapabilities,omitempty"`
	Actions                          *Actions                 `json:"Actions,omitempty"`
	AllocatedPools                   *Link                    `json:"AllocatedPools,omitempty"`
	BlockSizeBytes                   int                      `json:"BlockSizeBytes,omitempty"`
	Capacity                         int                      `json:"Capacity,omitempty"`
	CapacityBytes                    int                      `json:"CapacityBytes,omitempty"`
	CapacitySources                  []*Link                  `json:"CapacitySources,omitempty"`
	Compressed                       bool                     `json:"Compressed,omitempty"`
	Deduplicated                     bool                     `json:"Deduplicated,omitempty"`
	Description                      string                   `json:"Description,omitempty"`
	DisplayName                      string                   `json:"DisplayName,omitempty"`
	Encrypted                        bool                     `json:"Encrypted,omitempty"`
	EncryptionTypes                  []string                 `json:"EncryptionTypes,omitempty"`
	ID                               string                   `json:"Id,omitempty"`
	Identifiers                      []*Identifier            `json:"Identifiers,omitempty"`
	IOPerfModeEnabled                bool                     `json:"IOPerfModeEnabled,omitempty"`
	IOStatistics                     *IOStatistics            `json:"AllocatedIOStatisticsPools,omitempty"`
	Links                            VolumeLinks              `json:"Links"`
	LogicalUnitNumber                int                      `json:"LogicalUnitNumber,omitempty"`
	LowSpaceWarningThresholdPercents []int                    `json:"LowSpaceWarningThresholdPercents,omitempty"`
	Manufacturer                     string                   `json:"Manufacturer,omitempty"`
	MaxBlockSizeBytes                int                      `json:"MaxBlockSizeBytes,omitempty"`
	MediaSpanCount                   int                      `json:"MediaSpanCount,omitempty"`
	Model                            string                   `json:"Model,omitempty"`
	NVMeNamespaceProperties          *NVMeNamespaceProperties `json:"NVMeNamespaceProperties,omitempty"`
	Name                             string                   `json:"Name,omitempty"`
	Oem                              *Oem                     `json:"Oem,omitempty"`
	Operations                       []*VolumeOperations      `json:"Operations,omitempty"`
	OptimumIOSizeBytes               int                      `json:"OptimumIOSizeBytes,omitempty"`
	ProvisioningPolicy               string                   `json:"ProvisioningPolicy,omitempty"`
	RAIDType                         string                   `json:"RAIDType,omitempty"`
	ReadCachePolicy                  string                   `json:"ReadCachePolicy,omitempty"`
	RecoverableCapacitySourceCount   int                      `json:"RecoverableCapacitySourceCount,omitempty"`
	RemainingCapacityPercent         int                      `json:"RemainingCapacityPercent,omitempty"`
	ReplicaInfo                      *ReplicaInfo             `json:"ReplicaInfo,omitempty"`
	ReplicaTargets                   []*Link                  `json:"ReplicaTargets,omitempty"`
	Status                           *StorageStatus           `json:"Status,omitempty"`
	StorageGroups                    *Link                    `json:"StorageGroups,omitempty"`
	StripSizeBytes                   int                      `json:"StripSizeBytes,omitempty"`
	VolumeType                       string                   `json:"VolumeType,omitempty"`
	VolumeUsage                      string                   `json:"VolumeUsage,omitempty"`
	WriteCachePolicy                 string                   `json:"WriteCachePolicy,omitempty"`
	WriteCacheState                  string                   `json:"WriteCacheState,omitempty"`
	WriteHoleProtectionPolicy        string                   `json:"WriteHoleProtectionPolicy,omitempty"`
	CapacitySourcesCount             int                      `json:"CapacitySources@odata.count,omitempty"`
	InitializeMethod                 string                   `json:"InitializeMethod,omitempty"`
	ReplicaTargetsCount              int                      `json:"ReplicaTargets@odata.count,omitempty"`
}

Volume contains the details volume properties

type VolumeCollection

type VolumeCollection struct {
	ODataContext           string                 `json:"@odata.context,omitempty"`
	ODataEtag              string                 `json:"@odata.etag,omitempty"`
	ODataID                string                 `json:"@odata.id"`
	ODataType              string                 `json:"@odata.type"`
	Description            string                 `json:"Description,omitempty"`
	Name                   string                 `json:"Name"`
	Members                []*Link                `json:"Members"`
	MembersCount           int                    `json:"Members@odata.count"`
	Oem                    interface{}            `json:"Oem,omitempty"`
	CollectionCapabilities CollectionCapabilities `json:"@Redfish.CollectionCapabilities"`
}

VolumeCollection - This collection shall contain references to all Volume resource instances sharing the same parent resource.

type VolumeLinks struct {
	ClassOfService        *Link   `json:"ClassOfService,omitempty"`
	ClientEndpoints       []*Link `json:"ClientEndpoints,omitempty"`
	ConsistencyGroups     []*Link `json:"ConsistencyGroups,omitempty"`
	DedicatedSpareDrives  []*Link `json:"DedicatedSpareDrives,omitempty"`
	Drives                []*Link `json:"Drives,omitempty"`
	JournalingMedia       string  `json:"JournalingMedia,omitempty"`
	Oem                   *Oem    `json:"Oem,omitempty"`
	OwningStorageResource *Link   `json:"OwningStorageResource,omitempty"`
	OwningStorageService  *Link   `json:"OwningStorageService,omitempty"`
	ServerEndpoints       []*Link `json:"ServerEndpoints,omitempty"`
	SpareResourceSets     []*Link `json:"SpareResourceSets,omitempty"`
	StorageGroups         []*Link `json:"StorageGroups,omitempty"`
}

VolumeLinks represents volume links

type VolumeOperations

type VolumeOperations struct {
	AssociatedFeaturesRegistry *Link  `json:"AssociatedFeaturesRegistry,omitempty"`
	OperationName              string `json:"OperationName,omitempty"`
	PercentageComplete         int    `json:"PercentageComplete,omitempty"`
}

VolumeOperations represents operations running on volume

type WatchdogTimeoutActions

type WatchdogTimeoutActions string

WatchdogTimeoutActions - The action to perform when the watchdog timer reaches its timeout value

type WatchdogWarningActions

type WatchdogWarningActions string

WatchdogWarningActions - The action to perform when the watchdog timer is close to reaching its timeout value

type WildCard

type WildCard struct {
	Name   string   `json:"Name,omitempty"`
	Values []string `json:"Values,omitempty"`
	Keys   []string `json:"Keys,omitempty"`
}

WildCard defines the wildcards and their substitution values for the entries in the MetricProperties array property.

type Zone

type Zone struct {
	ODataContext          string       `json:"@odata.context,omitempty"`
	ODataEtag             string       `json:"@odata.etag,omitempty"`
	ODataID               string       `json:"@odata.id"`
	ODataType             string       `json:"@odata.type"`
	Actions               *OemActions  `json:"Actions,omitempty"`
	Description           string       `json:"Description,omitempty"`
	ID                    string       `json:"Id"`
	Links                 *ZoneLinks   `json:"Links,omitempty"`
	Name                  string       `json:"Name"`
	Oem                   interface{}  `json:"Oem,omitempty"`
	Status                *Status      `json:"Status,omitempty"`
	DefaultRoutingEnabled bool         `json:"DefaultRoutingEnabled,omitempty"`
	ExternalAccessibility string       `json:"ExternalAccessibility,omitempty"`
	Identifiers           []Identifier `json:"Identifiers,omitempty"`
	ZoneType              string       `json:"ZoneType,omitempty"`
}

Zone is the redfish Zone model according to the 2020.3 release

type ZoneLinks struct {
	AddressPools          []Link      `json:"AddressPools,omitempty"`
	AddressPoolsCount     int         `json:"AddressPools@odata.count,omitempty"`
	ContainedByZones      []Link      `json:"ContainedByZones,omitempty"`
	ContainedByZonesCount int         `json:"ContainedByZones@odata.count,omitempty"`
	ContainsZones         []Link      `json:"ContainsZones,omitempty"`
	ContainsZonesCount    int         `json:"ContainsZones@odata.count,omitempty"`
	Endpoints             []Link      `json:"Endpoints,omitempty"`
	EndpointsCount        int         `json:"Endpoints@odata.count,omitempty"`
	InvolvedSwitches      []Link      `json:"InvolvedSwitches,omitempty"`
	InvolvedSwitchesCount int         `json:"InvolvedSwitches@odata.count,omitempty"`
	Oem                   interface{} `json:"Oem,omitempty"`
	ResourceBlocks        []Link      `json:"ResourceBlocks,omitempty"`
	ResourceBlocksCount   int         `json:"ResourceBlocks@odata.count,omitempty"`
}

ZoneLinks is the struct to links under a zone

Jump to

Keyboard shortcuts

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