PythonOpenStackSDK/ClassDesignDiscussion
Introduction
In order to help make this SDK easy to develop, maintain, and test, a clean class design with clearly separated responsibilities is important. This is just one possibility, based on work done on the python-novaclient library.
Here is a general overview of the proposed class relationships:
NOTE: For this discussion, I have used the term 'Client' to refer to the class that acts as the interface between the application code and the SDK. This is not a universally-loved term, and changing it to something else will not affect the design itself.