sushy.resources package¶
Subpackages¶
- sushy.resources.certificateservice package
- sushy.resources.chassis package
- sushy.resources.compositionservice package
- sushy.resources.eventservice package
- sushy.resources.fabric package
- sushy.resources.manager package
- sushy.resources.oem package
- sushy.resources.registry package
- sushy.resources.sessionservice package
- sushy.resources.system package
- Subpackages
- Submodules
- sushy.resources.system.bios module
- sushy.resources.system.constants module
- sushy.resources.system.ethernet_interface module
- sushy.resources.system.processor module
- sushy.resources.system.secure_boot module
- sushy.resources.system.secure_boot_database module
- sushy.resources.system.simple_storage module
- sushy.resources.system.system module
- Module contents
- sushy.resources.taskservice package
- sushy.resources.updateservice package
Submodules¶
sushy.resources.base module¶
- class sushy.resources.base.AbstractDataReader¶
Bases:
object
- abstract get_data()¶
Based on data source get data and parse to JSON
- set_connection(connector, path)¶
Sets mandatory connection parameters
- Parameters
connector – A Connector instance
path – path of the resource
- class sushy.resources.base.CompositeField(*args, **kwargs)¶
Bases:
collections.abc.Mapping
,sushy.resources.base.Field
Base class for fields consisting of several sub-fields.
- class sushy.resources.base.DictionaryField(*args, **kwargs)¶
Bases:
sushy.resources.base.Field
Base class for fields consisting of dictionary of several sub-fields.
- class sushy.resources.base.Field(path, required=False, default=None, adapter=<function Field.<lambda>>)¶
Bases:
object
Definition for fields fetched from JSON.
- class sushy.resources.base.FieldData(status_code, headers, json_doc)¶
Bases:
object
Contains data to be used when constructing Fields
- property headers¶
The headers
- property json_doc¶
The parsed JSON body
- property status_code¶
The status code
- class sushy.resources.base.JsonArchiveReader(archive_file)¶
Bases:
sushy.resources.base.AbstractDataReader
Gets the data from JSON file in archive
- get_data()¶
Gets JSON file from archive. Currently supporting ZIP only
- class sushy.resources.base.JsonDataReader¶
Bases:
sushy.resources.base.AbstractDataReader
Gets the data from HTTP response given by path
- get_data()¶
Gets JSON file from URI directly
- class sushy.resources.base.JsonPackagedFileReader(resource_package_name)¶
Bases:
sushy.resources.base.AbstractDataReader
Gets the data from packaged file given by path
- get_data()¶
Gets JSON file from packaged file denoted by path
- class sushy.resources.base.JsonPublicFileReader¶
Bases:
sushy.resources.base.AbstractDataReader
Loads the data from the Internet
- get_data()¶
Get JSON file from full URI
- class sushy.resources.base.LinksField(*args, **kwargs)¶
Bases:
sushy.resources.base.CompositeField
Reference to linked resources.
- oem_vendors = <sushy.resources.base.Field object>¶
- class sushy.resources.base.ListField(*args, **kwargs)¶
Bases:
sushy.resources.base.Field
Base class for fields consisting of a list of several sub-fields.
- class sushy.resources.base.MappedField(field, mapping, required=False, default=None)¶
Bases:
sushy.resources.base.Field
Field taking real value from a mapping.
- class sushy.resources.base.MappedListField(field, mapping, required=False, default=None)¶
Bases:
sushy.resources.base.Field
Field taking a list of values with a mapping for the values
Given JSON {‘field’:[‘xxx’, ‘yyy’]}, a sushy resource definition and mapping {‘xxx’:’a’, ‘yyy’:’b’}, the sushy object to come out will be like resource.field = [‘a’, ‘b’]
- class sushy.resources.base.MessageListField(*args, **kwargs)¶
Bases:
sushy.resources.base.ListField
List of messages with details of settings update status
- message = <sushy.resources.base.Field object>¶
Human readable message, if provided
- message_args = <sushy.resources.base.Field object>¶
List of message substitution arguments for the message referenced by message_id from the message registry
- message_id = <sushy.resources.base.Field object>¶
The key for this message which can be used to look up the message in a message registry
- resolution = <sushy.resources.base.Field object>¶
Used to provide suggestions on how to resolve the situation that caused the error
- severity = <sushy.resources.base.MappedField object>¶
Severity of the error
- class sushy.resources.base.MutableResourceCollectionBase(connector, path, redfish_version=None, registries=None, root=None)¶
Bases:
sushy.resources.base.ResourceCollectionBase
- delete_member(identity)¶
Delete the given member of the collection.
- class sushy.resources.base.ResourceBase(connector, path='', redfish_version=None, registries=None, reader=None, json_doc=None, root=None)¶
Bases:
object
- clone_resource(new_resource, path='')¶
Instantiate given resource using existing BMC connection context
- get_oem_extension(vendor)¶
Get the OEM extension instance for this resource by OEM vendor
- Parameters
vendor – the OEM vendor string which is the vendor-specific extensibility identifier. Examples are ‘Contoso’, ‘Hpe’. Possible value can be got from
oem_vendors
attribute.- Returns
the Redfish resource OEM extension instance.
- Raises
OEMExtensionNotFoundError
- invalidate(force_refresh=False)¶
Mark the resource as stale, prompting refresh() before getting used.
If
force_refresh
is set to True, then it invokesrefresh()
on the resource.- Parameters
force_refresh – will invoke refresh on the resource, if set to True.
- Raises
ResourceNotFoundError
- Raises
ConnectionError
- Raises
HTTPError
- property json¶
- links = <sushy.resources.base.LinksField object>¶
- property oem_vendors¶
- property path¶
- redfish_version = None¶
The Redfish version
- refresh(force=True, json_doc=None)¶
Refresh the resource
Freshly retrieves/fetches the resource attributes and invokes
_parse_attributes()
method on successful retrieval. It is recommended not to override this method in concrete ResourceBase classes. Resource classes can place their refresh specific operations in_do_refresh()
method, if needed. This method represents the template method in the paradigm of Template design pattern.- Parameters
force – if set to False, will only refresh if the resource is marked as stale, otherwise neither it nor its subresources will be refreshed.
json_doc – parsed JSON document in form of Python types.
- Raises
ResourceNotFoundError
- Raises
ConnectionError
- Raises
HTTPError
- property registries¶
- property resource_name¶
- property root¶
- class sushy.resources.base.ResourceCollectionBase(connector, path, redfish_version=None, registries=None, root=None)¶
Bases:
sushy.resources.base.ResourceLinksBase
- members_identities = <sushy.resources.base.Field object>¶
A tuple with the members identities
- name = <sushy.resources.base.Field object>¶
The name of the collection
- class sushy.resources.base.ResourceLinksBase(connector, path, redfish_version=None, registries=None, root=None)¶
Bases:
sushy.resources.base.ResourceBase
- get_member(identity)¶
Given the identity return a
_resource_type
object- Parameters
identity – The identity of the
_resource_type
- Returns
The
_resource_type
object- Raises
ResourceNotFoundError
- get_members()¶
Return a list of
_resource_type
objects present in collection- Returns
A list of
_resource_type
objects
- abstract property members_identities¶
A sequence with members identities
- sushy.resources.base.get_reader(connector, path, reader=None)¶
Create and configure the reader.
- Parameters
connector – A Connector instance
path – sub-URI path to the resource.
reader – Reader to use to fetch JSON data.
- Returns
the reader
sushy.resources.common module¶
- class sushy.resources.common.ActionField(*args, **kwargs)¶
Bases:
sushy.resources.base.CompositeField
- operation_apply_time_support = <sushy.resources.common.OperationApplyTimeSupportField object>¶
- target_uri = <sushy.resources.base.Field object>¶
- class sushy.resources.common.IdRefField(*args, **kwargs)¶
Bases:
sushy.resources.base.CompositeField
Reference to the resource odata identity field.
- resource_uri = <sushy.resources.base.Field object>¶
The unique identifier for a resource
- class sushy.resources.common.IdentifiersListField(*args, **kwargs)¶
Bases:
sushy.resources.base.ListField
This type describes any additional identifiers for a resource.
- durable_name = <sushy.resources.base.Field object>¶
This indicates the world wide, persistent name of the resource.
- durable_name_format = <sushy.resources.base.MappedField object>¶
This represents the format of the DurableName property.
- class sushy.resources.common.InitializeActionField(*args, **kwargs)¶
Bases:
sushy.resources.common.ActionField
- allowed_values = <sushy.resources.base.Field object>¶
- class sushy.resources.common.OperationApplyTimeSupportField¶
Bases:
sushy.resources.base.CompositeField
- maintenance_window_duration_in_seconds = <sushy.resources.base.Field object>¶
The expiry time of maintenance window in seconds
- maintenance_window_start_time = <sushy.resources.base.Field object>¶
The start time of a maintenance window
- mapped_supported_values = <sushy.resources.base.MappedListField object>¶
The types of apply times that the client is allowed request when performing a create, delete, or action operation returned as a mapped list
- supported_values = <sushy.resources.base.Field object>¶
The types of apply times that the client is allowed request when performing a create, delete, or action operation returned as an unmapped list
Deprecated: Use mapped_supported_values.
- class sushy.resources.common.ResetActionField(*args, **kwargs)¶
Bases:
sushy.resources.common.ActionField
- allowed_values = <sushy.resources.base.Field object>¶
- class sushy.resources.common.StatusField(*args, **kwargs)¶
Bases:
sushy.resources.base.CompositeField
This Field describes the status of a resource and its children.
This field shall contain any state or health properties of a resource.
- health = <sushy.resources.base.MappedField object>¶
Represents health of resource w/o considering its dependent resources
- health_rollup = <sushy.resources.base.MappedField object>¶
Represents health state of resource and its dependent resources
- state = <sushy.resources.base.MappedField object>¶
Indicates the known state of the resource, such as if it is enabled.
sushy.resources.constants module¶
- class sushy.resources.constants.ApplyTime(value)¶
Bases:
enum.Enum
Apply time constants
- AT_MAINTENANCE_WINDOW_START = 'AtMaintenanceWindowStart'¶
Apply during a maintenance window as specified by an administrator.
- IMMEDIATE = 'Immediate'¶
Apply immediately.
- IN_MAINTENANCE_WINDOW_ON_RESET = 'InMaintenanceWindowOnReset'¶
Apply after a reset but within maintenance window as specified by an administrator.
- ON_RESET = 'OnReset'¶
Apply on a reset.
- class sushy.resources.constants.DurableNameFormat(value)¶
Bases:
enum.Enum
Durable name format constants
- EUI = 'EUI'¶
The IEEE-defined 64-bit Extended Unique Identifier (EUI).
- FC_WWN = 'FC_WWN'¶
The Fibre Channel (FC) World Wide Name (WWN).
- NAA = 'NAA'¶
The Name Address Authority (NAA) format.
- NGUID = 'NGUID'¶
The Namespace Globally Unique Identifier (NGUID).
- NQN = 'NQN'¶
The NVMe Qualified Name (NQN).
- NSID = 'NSID'¶
The NVM Namespace Identifier (NSID).
- UUID = 'UUID'¶
The Universally Unique Identifier (UUID).
- iQN = 'iQN'¶
The iSCSI Qualified Name (iQN).
- class sushy.resources.constants.Health(value)¶
Bases:
enum.Enum
Health related constants.
- CRITICAL = 'Critical'¶
A critical condition requires immediate attention.
- OK = 'OK'¶
Normal.
- WARNING = 'Warning'¶
A condition requires attention.
- class sushy.resources.constants.IndicatorLED(value)¶
Bases:
enum.Enum
Indicator LED Constants
- BLINKING = 'Blinking'¶
The Indicator LED is blinking
- LIT = 'Lit'¶
The Indicator LED is lit
- OFF = 'Off'¶
The Indicator LED is off
- UNKNOWN = 'Unknown'¶
The state of the Indicator LED cannot be determine
- class sushy.resources.constants.PowerState(value)¶
Bases:
enum.Enum
System PowerState constants
- OFF = 'Off'¶
The resource is powered off, although some components may continue to have AUX power such as management controller
- ON = 'On'¶
The resource is powered on
- PAUSED = 'Paused'¶
The resource is paused.
- POWERING_OFF = 'PoweringOff'¶
A temporary state between On and Off. The power off action can take time while the OS is in the shutdown process
- POWERING_ON = 'PoweringOn'¶
A temporary state between Off and On. This temporary state can be very short
- class sushy.resources.constants.Protocol(value)¶
Bases:
enum.Enum
Protocol type constants
- AHCI = 'AHCI'¶
Advanced Host Controller Interface (AHCI).
- DISPLAY_PORT = 'DisplayPort'¶
DisplayPort.
- DVI = 'DVI'¶
- ETHERNET = 'Ethernet'¶
Ethernet.
- FC = 'FC'¶
Fibre Channel.
- FCP = 'FCP'¶
Fibre Channel Protocol for SCSI.
- FCoE = 'FCoE'¶
Fibre Channel over Ethernet (FCoE).
- FICON = 'FICON'¶
FIbre CONnection (FICON).
- FTP = 'FTP'¶
File Transfer Protocol (FTP).
- GEN_Z = 'GenZ'¶
GenZ.
- HDMI = 'HDMI'¶
HDMI.
- HTTP = 'HTTP'¶
Hypertext Transport Protocol (HTTP).
- HTTPS = 'HTTPS'¶
Hypertext Transfer Protocol Secure (HTTPS).
- I2C = 'I2C'¶
Inter-Integrated Circuit Bus.
- INFINI_BAND = 'InfiniBand'¶
InfiniBand.
- MULTI_PROTOCOL = 'MultiProtocol'¶
Multiple Protocols.
- NFSv3 = 'NFSv3'¶
Network File System (NFS) version 3.
- NFSv4 = 'NFSv4'¶
Network File System (NFS) version 4.
- NVLINK = 'NVLink'¶
NVLink.
- NVMe = 'NVMe'¶
Non-Volatile Memory Express (NVMe).
- NVMe_OVER_FABRICS = 'NVMeOverFabrics'¶
NVMe over Fabrics.
- OEM = 'OEM'¶
OEM-specific.
- PCIe = 'PCIe'¶
PCI Express.
- RoCE = 'RoCE'¶
RDMA over Converged Ethernet Protocol.
- RoCEv2 = 'RoCEv2'¶
RDMA over Converged Ethernet Protocol Version 2.
- SAS = 'SAS'¶
Serial Attached SCSI.
- SATA = 'SATA'¶
Serial AT Attachment.
- SFTP = 'SFTP'¶
SSH File Transfer Protocol (SFTP).
- SMB = 'SMB'¶
Server Message Block (SMB). Also known as the Common Internet File System (CIFS).
- TCP = 'TCP'¶
Transmission Control Protocol (TCP).
- TFTP = 'TFTP'¶
Trivial File Transfer Protocol (TFTP).
- UDP = 'UDP'¶
User Datagram Protocol (UDP).
- UHCI = 'UHCI'¶
Universal Host Controller Interface (UHCI).
- USB = 'USB'¶
Universal Serial Bus (USB).
- VGA = 'VGA'¶
VGA.
- iSCSI = 'iSCSI'¶
Internet SCSI.
- iWARP = 'iWARP'¶
Internet Wide Area RDMA Protocol (iWARP).
- class sushy.resources.constants.ResetType(value)¶
Bases:
enum.Enum
Reset action constants
- FORCE_OFF = 'ForceOff'¶
Turn off the unit immediately (non-graceful shutdown).
- FORCE_ON = 'ForceOn'¶
Turn on the unit immediately.
- FORCE_RESTART = 'ForceRestart'¶
Shut down immediately and non-gracefully and restart the system.
- GRACEFUL_RESTART = 'GracefulRestart'¶
Shut down gracefully and restart the system.
- GRACEFUL_SHUTDOWN = 'GracefulShutdown'¶
Shut down gracefully and power off.
- NMI = 'Nmi'¶
Generate a diagnostic interrupt, which is usually an NMI on x86 systems, to stop normal operations, complete diagnostic actions, and, typically, halt the system.
- ON = 'On'¶
Turn on the unit.
- PAUSE = 'Pause'¶
Pause execution on the unit but do not remove power. This is typically a feature of virtual machine hypervisors.
- POWER_CYCLE = 'PowerCycle'¶
Power cycle the unit. Behaves like a full power removal, followed by a power restore to the resource.
- PUSH_POWER_BUTTON = 'PushPowerButton'¶
Simulate the pressing of the physical power button on this unit.
- RESUME = 'Resume'¶
Resume execution on the paused unit. This is typically a feature of virtual machine hypervisors.
- SUSPEND = 'Suspend'¶
Write the state of the unit to disk before powering off. This allows for the state to be restored when powered back on.
- sushy.resources.constants.Severity¶
alias of
sushy.resources.constants.Health
- class sushy.resources.constants.State(value)¶
Bases:
enum.Enum
State related constants.
- ABSENT = 'Absent'¶
This function or resource is either not present or detected.
- DEFERRING = 'Deferring'¶
The element does not process any commands but queues new requests.
- DISABLED = 'Disabled'¶
This function or resource is disabled.
- ENABLED = 'Enabled'¶
This function or resource is enabled.
- IN_TEST = 'InTest'¶
This function or resource is undergoing testing, or is in the process of capturing information for debugging.
- QUALIFIED = 'Qualified'¶
The element quality is within the acceptable range of operation.
- QUIESCED = 'Quiesced'¶
The element is enabled but only processes a restricted set of commands.
- STANDBY_OFFLINE = 'StandbyOffline'¶
This function or resource is enabled but awaits an external action to activate it.
- STANDBY_SPARE = 'StandbySpare'¶
This function or resource is part of a redundancy set and awaits a failover or other external action to activate it.
- STARTING = 'Starting'¶
This function or resource is starting.
- UNAVAILABLE_OFFLINE = 'UnavailableOffline'¶
This function or resource is present but cannot be used.
- UPDATING = 'Updating'¶
The element is updating and might be unavailable or degraded.
sushy.resources.ipaddresses module¶
- class sushy.resources.ipaddresses.AddressState(value)¶
Bases:
enum.Enum
An enumeration.
- DEPRECATED = 'Deprecated'¶
This address is currently within its valid lifetime but is now outside its RFC4862-defined preferred lifetime.
- FAILED = 'Failed'¶
This address has failed Duplicate Address Detection (DAD) testing, as defined in RFC4862, section 5.4, and is not currently in use.
- PREFERRED = 'Preferred'¶
This address is currently within both its RFC4862-defined valid and preferred lifetimes.
- TENTATIVE = 'Tentative'¶
This address is currently undergoing Duplicate Address Detection (DAD) testing, as defined in RFC4862, section 5.4.
- class sushy.resources.ipaddresses.IPv4AddressOrigin(value)¶
Bases:
enum.Enum
An enumeration.
- BOOTP = 'BOOTP'¶
A BOOTP service-provided address.
- DHCP = 'DHCP'¶
A DHCPv4 service-provided address.
- LINK_LOCAL = 'IPv4LinkLocal'¶
The address is valid for only this network segment, or link.
- STATIC = 'Static'¶
A user-configured static address.
- class sushy.resources.ipaddresses.IPv6AddressOrigin(value)¶
Bases:
enum.Enum
An enumeration.
- DHCP = 'DHCPv6'¶
A DHCPv6 service-provided address.
- LINK_LOCAL = 'LinkLocal'¶
The address is valid for only this network segment, or link.
- SLAAC = 'SLAAC'¶
A stateless autoconfiguration (SLAAC) service-provided address.
- STATIC = 'Static'¶
A static user-configured address.
sushy.resources.settings module¶
- class sushy.resources.settings.MaintenanceWindowField(*args, **kwargs)¶
Bases:
sushy.resources.base.CompositeField
- maintenance_window_duration_in_seconds = <sushy.resources.base.Field object>¶
The expiry time of maintenance window in seconds
- maintenance_window_start_time = <sushy.resources.base.Field object>¶
The start time of a maintenance window
- sushy.resources.settings.NO_UPDATES = 4¶
No updates made
- class sushy.resources.settings.SettingsApplyTimeField¶
Bases:
sushy.resources.base.CompositeField
- apply_time = <sushy.resources.base.Field object>¶
When the future configuration should be applied
- apply_time_allowable_values = <sushy.resources.base.Field object>¶
The list of allowable ApplyTime values
- maintenance_window_duration_in_seconds = <sushy.resources.base.Field object>¶
The expiry time of maintenance window in seconds
- maintenance_window_start_time = <sushy.resources.base.Field object>¶
The start time of a maintenance window
- class sushy.resources.settings.SettingsField¶
Bases:
sushy.resources.base.CompositeField
The settings of a resource
Represents the future state and configuration of the resource. The field is added to resources that support future state and configuration.
This field includes several properties to help clients monitor when the resource is consumed by the service and determine the results of applying the values, which may or may not have been successful.
- commit(connector, value)¶
Commits new settings values
The new values will be applied when the system or a service restarts.
- Parameters
connector – A Connector instance
value – Value representing JSON whose structure is specific to each resource and the caller must format it correctly
- get_status(registries)¶
Determines the status of last update based
Uses message id-s and severity to determine the status.
- Parameters
registries – registries to use to parse message
- Returns
SettingsUpdate
object containing status and any messages
- property maintenance_window¶
MaintenanceWindow field
Indicates if a given resource has a maintenance window assignment for applying settings or operations
- messages = <sushy.resources.base.MessageListField object>¶
Represents the results of the last time the values of the Settings resource were applied to the server
- property operation_apply_time_support¶
OperationApplyTimeSupport field
Indicates if a client is allowed to request for a specific apply time of a create, delete, or action operation of a given resource
- property resource_uri¶
- time = <sushy.resources.base.Field object>¶
Indicates the time the settings were applied to the server
- class sushy.resources.settings.SettingsUpdate(status, messages)¶
Bases:
object
Contains Settings update status and details of the update
- property messages¶
List of
MessageListField
with messages from the update
- property status¶
The status of the update
- sushy.resources.settings.UPDATE_FAILURE = 2¶
Update encountered errors
- sushy.resources.settings.UPDATE_PENDING = 3¶
Update waiting for being applied
- sushy.resources.settings.UPDATE_SUCCESS = 1¶
Update was successful
- sushy.resources.settings.UPDATE_UNKNOWN = 0¶
Update status unknown