solidfire.common package

Submodules

solidfire.common.model module

class solidfire.common.model.DataObject(**kwargs)[source]

Bases: solidfire.common.model.ModelProperty

DataObject is the base type for all generated types, including the MetaData properties, as described from the api descriptors.

classmethod extract(data, strict=False)[source]

Converts json to a DataObject.

Parameters:
  • data (str) – json data to be deserialized back to a DataObject
  • strict (bool) – If True, missing values will raise an error, otherwise, missing values will None or empty.
Returns:

a class deserialized from the data provided.

get_properties()[source]

Exposes the type properties for a Data Object.

Returns:the dictionary of property names and thier type information.
Return type:dict
to_json()[source]

Converts DataObject to json.

Returns:the DataObject as a json structure.
class solidfire.common.model.MetaDataObject(name, bases, classdict)[source]

Bases: type

MetaDataObject defines a method for attributing ModelProperties to a type.

class solidfire.common.model.ModelProperty(member_name, member_type, array=False, optional=False, documentation=None, dictionaryType=None)[source]

Bases: object

ModelProperty metadata container for API data type information.

ModelProperty constructor.

Parameters:
  • member_name (str) – the name of the property.
  • member_type (str) – the type of the property.
  • array (bool) – is the property an array.
  • optional (bool) – is the property optional.
  • documentation (str) – documentation for the property.
array()[source]
Returns:is the property an array
documentation()[source]
Returns:the property documentation
extend_json(out, data)[source]

Serialize the property as json-like structure.

Parameters:
  • out – the resulting output.
  • data – the data to be converted.
extract_from(data)[source]

Deserialize the property from json.

Parameters:data – the data to be converted.
Returns:the extracted data.
known_default()[source]

Helps convert a property to a default value.

Returns:a known default for a type.
member_name()[source]
Returns:the member name.
member_type()[source]
Returns:the member type.
optional()[source]
Returns:is the property optional
solidfire.common.model.extract(typ, src)[source]

DataObject value type converter.

Parameters:
  • typ – the type to extract.
  • src – the source to extract as type typ.
Returns:

if the type has the ability to extract (convert), otherwise the original version is returned.

solidfire.common.model.property(member_name, member_type, array=False, optional=False, documentation=None, dictionaryType=None)[source]

Constructs the type for a DataObject property.

Parameters:
  • member_name (str) – the name of the property.
  • member_type (type) – the type of the property.
  • array (bool) – is the property an array.
  • optional (bool) – is the property optional.
  • documentation (str or NoneType) – documentation for the property.
Returns:

the constructed type of a property

solidfire.common.model.serialize(val)[source]

DataObject serializer value based on MetaData attributes.

Parameters:val – any value
Returns:the serialized value

Module contents

API Common Library

exception solidfire.common.ApiConnectionError(message)[source]

Bases: exceptions.Exception

exception solidfire.common.ApiMethodVersionError(method_name, api_version, since, deprecated=None)[source]

Bases: exceptions.Exception

An ApiMethodVersionError occurs when a service method is not compatible with the version of the connected server.

ApiMethodVersionError constructor.

Parameters:
  • method_name (str) – name of the service method where the error occurred.
  • api_version (str or float) – the version of API used to instantiate the connection to the server.
  • since (str or float) – the earliest version of the API a service method is compatible.
  • deprecated (str or float) – the latest version of the API that a method is compatible.
api_version

The version of the Element API Service

deprecated

The version a service was deprecated

method_name

The name of the service method causing the error.

since

The version a service was introduced

exception solidfire.common.ApiParameterVersionError(method_name, api_version, params)[source]

Bases: exceptions.Exception

An ApiParameterVersionError occurs when a parameter supplied to a service method is not compatible with the version of the connected server.

ApiParameterVersionError constructor.

Parameters:
  • method_name (str) – name of the service method where the error occurred.
  • api_version (str or float) – the version of API used to instantiate the connection to the server.
  • params (list of tuple) – the list of incompatible parameters provided to a service method call. This tuple should include name, value, since, and deprecated values for each offending parameter.
api_version

The version of the Element API Service

method_name

The name of the service method causing the error.

params

The parameters checked with a service call

violations

The parameters violated with the service call

exception solidfire.common.ApiServerError(method_name, err_json)[source]

Bases: exceptions.Exception

ApiServerError is an exception that occurs on the server and is passes as a response back to the sdk.

ApiServerError constructor.

Parameters:
  • method_name (str) – name of the service method where the error occurred.
  • err_json (str) – the json formatted error received from the service.
error_code

The numeric code for this error.

error_name

The name of the error.

message

A user-friendly message returned from the server.

method_name

The name of the service method causing the error.

exception solidfire.common.ApiVersionExceededError(api_version, current_version)[source]

Bases: exceptions.Exception

An ApiVersionExceededError occurs when connecting to a server with a version lower then the provided api_version.

ApiVersionExceededError constructor.

Parameters:
  • api_version (str or float) – the version of API used to instantiate the connection to the server.
  • current_version (float) – the current version of the server.
api_version

The version of the Element API Service

current_version

The current version of the connected Element OS

exception solidfire.common.ApiVersionUnsupportedError(api_version, supported_versions)[source]

Bases: exceptions.Exception

An ApiVersionUnsupportedError occurs when connecting to a server unable to support the provided api_version.

ApiVersionUnsupportedError constructor.

Parameters:
  • api_version (str or float) – the version of API used to instantiate the connection to the server.
  • supported_versions (float[]) – the list of supported versions provided by a server.
api_version

The version of the Element API Service

supported_versions

The versions supported by the connected Element OS

class solidfire.common.CurlDispatcher(endpoint, username, password, verify_ssl)[source]

Bases: object

The CurlDispatcher is responsible for connecting, sending, and receiving data to a server.

The CurlDispatcher constructor.

Parameters:
  • endpoint (str) – the server URL
  • username (str) – the username for authentication
  • password (str) – the password for authentication
  • verify_ssl (bool) – If True, ssl errors will cause an exception to be raised, otherwise, if False, they are ignored.
connect_timeout(timeout_in_sec)[source]

Set the time to wait for a connection to be established before timeout.

Parameters:timeout_in_sec (int) – the connection timeout in seconds.
Raises:ValueError – if timeout_in_sec is less than 0
post(data)[source]

Post data to the associated endpoint and await the server’s response.

Parameters:data (str or json) – the data to be posted.
restore_timeout_defaults()[source]

Restores the Connection and Read Timeout to their original durations of 30 seconds for connection timeout and 300 seconds (5 minutes) for read timeout.

timeout(timeout_in_sec)[source]

Set the time to wait for a response before timeout.

Parameters:timeout_in_sec (int) – the read timeout in seconds.
Raises:ValueError – if timeout_in_sec is less than 0
exception solidfire.common.SdkOperationError(*args, **kwargs)[source]

Bases: exceptions.Exception

class solidfire.common.ServiceBase(mvip=None, username=None, password=None, api_version=8.0, verify_ssl=True, dispatcher=None)[source]

Bases: object

The base type for API services. This performs the sending, encoding and decoding of requests.

Constructor for initializing a connection to an instance of Element OS

Parameters:
  • mvip (str) – the management IP (IP or hostname)
  • username (str) – username use to connect to the Element OS instance.
  • password (str) – authentication for username
  • api_version (float) – specific version of Element OS to connect.
  • verify_ssl (bool) – disable to avoid ssl connection errors especially when using an IP instead of a hostname
  • dispatcher – a prebuilt or custom http dispatcher
Returns:

a configured connection to an Element OS instance

api_version

Returns the version of the Element API

Returns:the version of the Element API
Return type:float
connect_timeout(timeout_in_sec)[source]

Set the time to wait for a connection to be established before timeout.

Parameters:timeout_in_sec (int) – the connection timeout in seconds.
Raises:ValueError – if timeout_in_sec is less than 0
restore_timeout_defaults()[source]

Restores the Connection and Read Timeout to their original durations of 300 seconds (5 minutes) each.

send_request(method_name, result_type, params=None, since=None, deprecated=None, return_response_raw=False)[source]
Parameters:
  • method_name (str) – the name of the API method to call
  • result_type (DataObject) – the type of the result object returned from the API method called.
  • params (dict) – the parameters supplied to the API call.
  • since (str or float) – the first version this service was available
  • deprecated (str or float) – the final version this service was available
Returns:

the result of the API service call

Return type:

DataObject

timeout(timeout_in_sec)[source]

Set the time to wait for a response before timeout.

Parameters:timeout_in_sec (int) – the read timeout in seconds.
Raises:ValueError – if timeout_in_sec is less than 0
solidfire.common.setLogLevel(level)[source]

Set the logging level of Element logger and all handlers.

>>> from logging
>>> from solidfire import common
>>> common.setLogLevel(logging.DEBUG)
Parameters:level – level must be an int or a str.