The sushy.resources.base Module

class sushy.resources.base.AbstractJsonReader

Bases: object

abstract get_json()

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.JsonArchiveReader(archive_file)

Bases: sushy.resources.base.AbstractJsonReader

Gets the data from JSON file in archive

get_json()

Gets JSON file from archive. Currently supporting ZIP only

class sushy.resources.base.JsonDataReader

Bases: sushy.resources.base.AbstractJsonReader

Gets the data from HTTP response given by path

get_json()

Gets JSON file from URI directly

class sushy.resources.base.JsonPackagedFileReader(resource_package_name)

Bases: sushy.resources.base.AbstractJsonReader

Gets the data from packaged file given by path

get_json()

Gets JSON file from packaged file denoted by path

class sushy.resources.base.JsonPublicFileReader

Bases: sushy.resources.base.AbstractJsonReader

Loads the data from the Internet

get_json()

Get JSON file from full URI

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.ResourceBase(connector, path='', redfish_version=None, registries=None, reader=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 invokes refresh() on the resource.

Parameters

force_refresh – will invoke refresh on the resource, if set to True.

Raises

ResourceNotFoundError

Raises

ConnectionError

Raises

HTTPError

property json
oem_vendors = <sushy.resources.base.Field object>

The list of OEM extension names for this resource.

property path
redfish_version = None

The Redfish version

refresh(force=True)

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.

Raises

ResourceNotFoundError

Raises

ConnectionError

Raises

HTTPError

property registries
property resource_name
class sushy.resources.base.ResourceCollectionBase(connector, path, redfish_version=None, registries=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

members_identities = <sushy.resources.base.Field object>

A tuple with the members identities

name = <sushy.resources.base.Field object>

The name of the collection