sushy.resources.base.
AbstractDataReader
¶Bases: object
get_data
()¶Based on data source get data and parse to JSON
set_connection
(connector, path)¶Sets mandatory connection parameters
connector – A Connector instance
path – path of the resource
sushy.resources.base.
CompositeField
(*args, **kwargs)¶Bases: collections.abc.Mapping
, sushy.resources.base.Field
Base class for fields consisting of several sub-fields.
sushy.resources.base.
DictionaryField
(*args, **kwargs)¶Bases: sushy.resources.base.Field
Base class for fields consisting of dictionary of several sub-fields.
sushy.resources.base.
Field
(path, required=False, default=None, adapter=<function Field.<lambda>>)¶Bases: object
Definition for fields fetched from JSON.
sushy.resources.base.
FieldData
(status_code, headers, json_doc)¶Bases: object
Contains data to be used when constructing Fields
headers
¶The headers
json_doc
¶The parsed JSON body
status_code
¶The status code
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
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
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
sushy.resources.base.
JsonPublicFileReader
¶Bases: sushy.resources.base.AbstractDataReader
Loads the data from the Internet
get_data
()¶Get JSON file from full URI
sushy.resources.base.
LinksField
(*args, **kwargs)¶Bases: sushy.resources.base.CompositeField
Reference to linked resources.
oem_vendors
= <sushy.resources.base.Field object>¶sushy.resources.base.
ListField
(*args, **kwargs)¶Bases: sushy.resources.base.Field
Base class for fields consisting of a list of several sub-fields.
sushy.resources.base.
MappedField
(field, mapping, required=False, default=None)¶Bases: sushy.resources.base.Field
Field taking real value from a mapping.
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’]
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
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.
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
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.
the Redfish resource OEM extension instance.
OEMExtensionNotFoundError
invalidate
(force_refresh=False)¶Mark the resource as stale, prompting refresh() before getting used.
If force_refresh
is set to True, then it invokes refresh()
on the resource.
force_refresh – will invoke refresh on the resource, if set to True.
ResourceNotFoundError
ConnectionError
HTTPError
json
¶links
= <sushy.resources.base.LinksField object>¶oem_vendors
¶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.
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.
ResourceNotFoundError
ConnectionError
HTTPError
registries
¶resource_name
¶root
¶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
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
identity – The identity of the _resource_type
The _resource_type
object
ResourceNotFoundError
get_members
()¶Return a list of _resource_type
objects present in collection
A list of _resource_type
objects
members_identities
¶A sequence with members identities
sushy.resources.base.
get_reader
(connector, path, reader=None)¶Create and configure the reader.
connector – A Connector instance
path – sub-URI path to the resource.
reader – Reader to use to fetch JSON data.
the reader
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>¶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
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.
sushy.resources.common.
InitializeActionField
(*args, **kwargs)¶Bases: sushy.resources.common.ActionField
allowed_values
= <sushy.resources.base.Field object>¶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.
sushy.resources.common.
ResetActionField
(*args, **kwargs)¶Bases: sushy.resources.common.ActionField
allowed_values
= <sushy.resources.base.Field object>¶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.
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.
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).
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.
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
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
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).
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
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.
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.
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.
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.
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
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
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.
connector – A Connector instance
value – Value representing JSON whose structure is specific to each resource and the caller must format it correctly
Response object
get_status
(registries)¶Determines the status of last update based
Uses message id-s and severity to determine the status.
registries – registries to use to parse message
SettingsUpdate
object containing status
and any messages
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
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
resource_uri
¶time
= <sushy.resources.base.Field object>¶Indicates the time the settings were applied to the server
sushy.resources.settings.
SettingsUpdate
(status, messages)¶Bases: object
Contains Settings update status and details of the update
messages
¶List of MessageListField
with messages from the update
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
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.