{ "info": { "author": "ECS", "author_email": "ecs@dell.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "================\npython-ecsclient\n================\n\n|Build_Status| |Docs| |Python| |Version| |Coverage|\n\nThis library is the Python Software Development Kit (SDK) for `Dell EMC\nElastic Cloud Storage (ECS) `_.\nIt allows developers to interact with the ECS Management API. You can find\nthe ECS API specification `here `_.\n\nThis library is the successor of `ECS Minion\n`_.\n\n\n.. |Build_Status| image:: https://travis-ci.org/EMCECS/python-ecsclient.svg?branch=master\n :target: https://travis-ci.org/EMCECS/python-ecsclient\n :alt: Build Status\n.. |Docs| image:: https://readthedocs.org/projects/python-ecsclient/badge/?version=latest&style=flat\n :target: https://python-ecsclient.readthedocs.io/en/latest/\n :alt: Read the docs\n.. |Version| image:: https://img.shields.io/pypi/v/python-ecsclient.svg\n :target: https://pypi.python.org/pypi/python-ecsclient/\n :alt: Version\n.. |Python| image:: https://img.shields.io/pypi/pyversions/python-ecsclient.svg\n :target: https://pypi.python.org/pypi/python-ecsclient/\n :alt: Python Versions\n.. |Coverage| image:: https://coveralls.io/repos/github/EMCECS/python-ecsclient/badge.svg?branch=master\n :target: https://coveralls.io/github/EMCECS/python-ecsclient?branch=master\n :alt: Coverage\n.. |License| image:: http://img.shields.io/pypi/l/python-ecsclient.svg?style=flat\n :target: https://github.com/EMCECS/python-ecsclient/blob/master/LICENSE\n :alt: License\n.. _`documentation`: https://python-ecsclient.readthedocs.io/en/latest/\n.. _`v2`: https://www.emc.com/techpubs/api/ecs/v2-2-1-0/index.htm\n.. _`v3`: https://www.emc.com/techpubs/api/ecs/v3-0-0-0/index.htm\n\nQuick Start\n-----------\n\nYou can install ``python-ecsclient`` using pip.\n\n.. code-block:: sh\n\n $ pip install python-ecsclient\n\nCreating an instance of the ECSClient class allows the following\narguments:\n\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| Name | Required | Default Value | Description |\n+=======================+============+========================+===============================================================================================================================================+\n| ``version`` | Yes | None | Version of the target ECS system. Options are ``2`` and ``3`` |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``username`` | No | None | The username used to fetch the ECS token |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``password`` | No | None | The password used to fetch the ECS token |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``token`` | No | None | Pass a token to ECSClient (username/password are ignored then) |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``ecs_endpoint`` | Yes | None | The ECS API endpoint, ex: ``https://192.168.0.149:4443`` |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``token_endpoint`` | No | None | The ECS API endpoint, ex: ``https://192.168.0.149:4443/login`` |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``verify_ssl`` | No | False | Whether to check a host's SSL certificate |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``token_path`` | No | ``/tmp/ecsclient.tkn`` | The location to store the temporary token file |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``request_timeout`` | No | 15.0 | Stop waiting for a response after a given number of seconds, this is a decimal value. Ex: 10.0 is ten seconds |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n| ``cache_token`` | No | True | Whether to cache the token, by default this is true you should only switch this to false when you want to directly fetch a token for a user |\n+-----------------------+------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\n\nThis is how you can instantiate the ``Client`` class and use the library.\n\n.. code-block:: python\n\n from ecsclient.client import Client\n\n client = Client('3',\n username='ecsadmin@internal',\n password='PASSWORD',\n token_endpoint='https://192.168.0.149:4443/login',\n ecs_endpoint='https://192.168.0.149:4443')\n\n print(client.user_info.whoami())\n\nTake a look at our `documentation`_ to find a list of all supported ECS endpoints and services.\n\nSupply a token\n~~~~~~~~~~~~~~\nYou can pass an authentication token directly to the client which means you\ndon't need to supply a username/password.\n\n.. code-block:: python\n\n client = Client('3',\n token='ALAcbGZtbjh6eVB3eUF1TzFEZWNmc0M2VVl2QjBVPQM',\n ecs_endpoint='https://192.168.1.146:4443')\n\n\nToken caching\n~~~~~~~~~~~~~\nBy default, the client caches the auth token. But you can disable caching\nby setting the ``cache_token`` parameter to false.\n\n.. code-block:: python\n\n client = Client('3',\n username='someone',\n password='password',\n token_endpoint='https://192.168.1.146:4443/login',\n ecs_endpoint='https://192.168.1.146:4443',\n cache_token=False)\n\nAlternatively, when token caching is enabled, you may want to force the client\nto obtain a new token on the next call. To do so, you can remove the cached token.\n\n.. code-block:: python\n\n client.remove_cached_token()\n\n\nSupported endpoints\n-------------------\n\nThe following table shows the supported endpoints per API version.\n\n+--------------------------+---------+---------+\n| | `v2`_ | `v3`_ |\n+==========================+=========+=========+\n| **Configuration** |\n+--------------------------+---------+---------+\n| Certificate | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Configuration Properties | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| Licensing | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Feature | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Syslog | | \u2713* |\n+--------------------------+---------+---------+\n| Snmp | | \u2713* |\n+--------------------------+---------+---------+\n| **CAS** |\n+--------------------------+---------+---------+\n| CAS User Profile | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| **File System Access** |\n+--------------------------+---------+---------+\n| NFS | \u2717 | \u2717 |\n+--------------------------+---------+---------+\n| **Metering** |\n+--------------------------+---------+---------+\n| Billing | ~ | ~ |\n+--------------------------+---------+---------+\n| **Migration** |\n+--------------------------+---------+---------+\n| Transformation | \u2717 | \u2717 |\n+--------------------------+---------+---------+\n| **Monitoring** |\n+--------------------------+---------+---------+\n| Capacity | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Dashboard | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| Events | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| Alerts | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| **Multi-tenancy** |\n+--------------------------+---------+---------+\n| Namespace | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| **Geo-Replication** |\n+--------------------------+---------+---------+\n| Replication Group | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Temporary Failed Zone | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| **Provisioning** |\n+--------------------------+---------+---------+\n| Base URL | \u2713* | \u2713* |\n+--------------------------+---------+---------+\n| Bucket | \u2713* | \u2713 |\n+--------------------------+---------+---------+\n| Data Store | \u2713* | \u2713 |\n+--------------------------+---------+---------+\n| Node | ~ | ~ |\n+--------------------------+---------+---------+\n| Storage Pool | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Virtual Data Center | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| VDC Keystore | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| **Support** |\n+--------------------------+---------+---------+\n| Call Home | \u2717 | \u2717 |\n+--------------------------+---------+---------+\n| **User Management** |\n+--------------------------+---------+---------+\n| Authentication Provider | ~ | ~ |\n+--------------------------+---------+---------+\n| Password Group (Swift) | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Secret Key | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| Secret Key Self-Service | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| User (Object) | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n| User (Management) | \u2713* | \u2713 |\n+--------------------------+---------+---------+\n| **Other** |\n+--------------------------+---------+---------+\n| Who am I | \u2713 | \u2713 |\n+--------------------------+---------+---------+\n\n**Legend:**\n\n+-------+-------------------------------------+\n| \u2713 | Supported and tested |\n+-------+-------------------------------------+\n| \u2713* | Supported but not tested yet |\n+-------+-------------------------------------+\n| ~ | Partially supported |\n+-------+-------------------------------------+\n| \u2717 | Not supported yet |\n+-------+-------------------------------------+\n| | Not available in this API version |\n+-------+-------------------------------------+\n\nDevelopment\n-----------\n\nGetting Started\n~~~~~~~~~~~~~~~\nAssuming that you have Python and ``virtualenv`` installed, set up your\nenvironment and install the required dependencies like this instead of\nthe ``pip install python-ecsclient`` defined above:\n\n.. code-block:: sh\n\n $ git clone https://github.com/EMCECS/python-ecsclient.git\n $ cd python-ecsclient\n $ virtualenv venv\n ...\n $ . venv/bin/activate\n $ pip install -r requirements.txt\n\nRunning Tests\n~~~~~~~~~~~~~\nYou can run tests in all supported Python versions using ``tox``. By default,\nit will run all of the unit tests, but you can also specify your own\n``nosetests`` options. Note that this requires that you have all supported\nversions of Python installed, otherwise you must pass ``-e`` or run the\n``nosetests`` command directly:\n\n.. code-block:: sh\n\n $ tox\n $ tox -e py27,py35 tests/functional\n\nYou can also run individual tests with your default Python version:\n\n.. code-block:: sh\n\n $ nosetests tests/unit\n\nLicense\n-------\n\nThis software library is released to you under the Apache License 2.0. See\n`LICENSE `__\nfor more information.\n\n----------\n\n`ECS `__ is an Dell EMC product,\ntrademarked, copyrighted, etc.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/EMCECS/python-ecsclient", "keywords": "ecsclient", "license": "", "maintainer": "", "maintainer_email": "", "name": "python-ecsclient", "package_url": "https://pypi.org/project/python-ecsclient/", "platform": "", "project_url": "https://pypi.org/project/python-ecsclient/", "project_urls": { "Homepage": "https://github.com/EMCECS/python-ecsclient" }, "release_url": "https://pypi.org/project/python-ecsclient/1.1.9/", "requires_dist": null, "requires_python": "", "summary": "A library for interacting with the ECS Management API", "version": "1.1.9" }, "last_serial": 3736959, "releases": { "0.7.6": [], "0.7.7": [ { "comment_text": "", "digests": { "md5": "f012e79b2eff8a951a0a66bdf455aa09", "sha256": "8ea7d871a225ac553283e445c0cc556c204c1039a96d0be289b7d44013844d38" }, "downloads": -1, "filename": "python-ecsclient-0.7.7.tar.gz", "has_sig": false, "md5_digest": "f012e79b2eff8a951a0a66bdf455aa09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29701, "upload_time": "2017-01-24T09:59:51", "url": "https://files.pythonhosted.org/packages/1d/66/eadb36621b2324d8f71aa83947fff83e3544e621119c0bb7a6d95709842a/python-ecsclient-0.7.7.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "0898cb7b923a275eaed6ea7025eef82a", "sha256": "b9dbd47bbeeb062f38791afa44b5ba3f49ce4791aab8272e9efd1018178ff517" }, "downloads": -1, "filename": "python-ecsclient-1.0.0.tar.gz", "has_sig": false, "md5_digest": "0898cb7b923a275eaed6ea7025eef82a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43635, "upload_time": "2017-02-21T11:30:12", "url": "https://files.pythonhosted.org/packages/08/3f/8c502573909403cebf4e0664c33a2bd2ac9b688a233a968ff39922397840/python-ecsclient-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b57006bfb6e8ea69e5949f1bfd48f032", "sha256": "2b9575aefa00b1e6dd0c87f82ec95186628f3e572f0a39f884eb1385edea2bf4" }, "downloads": -1, "filename": "python-ecsclient-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b57006bfb6e8ea69e5949f1bfd48f032", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52646, "upload_time": "2017-03-06T14:36:28", "url": "https://files.pythonhosted.org/packages/e5/64/ad0225289b91a5b19326025537afb4c40b312e1cfc47b2e5cb6265274e18/python-ecsclient-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "47ca4b344a4dc57e5e0da521857ffbd1", "sha256": "52d21992c1341bde8590c66a47fb1e9f00cd2b811ebe38ccdd75809808c48cd2" }, "downloads": -1, "filename": "python-ecsclient-1.1.1.tar.gz", "has_sig": false, "md5_digest": "47ca4b344a4dc57e5e0da521857ffbd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56002, "upload_time": "2017-03-22T16:41:42", "url": "https://files.pythonhosted.org/packages/a8/29/80a7defe5afcc3fabd699dafede48b4299e113acde89b900e9d3f92b689e/python-ecsclient-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "557daa52ba436562a5c96f1e65128c68", "sha256": "32ba7248608a2c77aa5738a06049a7f821e73570597322637e67265496efb944" }, "downloads": -1, "filename": "python-ecsclient-1.1.2.tar.gz", "has_sig": false, "md5_digest": "557daa52ba436562a5c96f1e65128c68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55383, "upload_time": "2017-03-30T10:10:50", "url": "https://files.pythonhosted.org/packages/e0/15/c97e2e6329772b8eef3a1833034139fbdfe6edd64d9e8f902ce0e5cd31ab/python-ecsclient-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "482c30bdd550cca35b2734ec7664afd7", "sha256": "c499b0d55e3bcf467a0995b55964dadbfac74a081ff74baeec8ca912712970fd" }, "downloads": -1, "filename": "python-ecsclient-1.1.3.tar.gz", "has_sig": false, "md5_digest": "482c30bdd550cca35b2734ec7664afd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56131, "upload_time": "2017-06-05T12:41:18", "url": "https://files.pythonhosted.org/packages/9b/a0/1bee7a5be49c8075026443505754c06ec19b5eb90c809c87782605bd0cdc/python-ecsclient-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "2b52332f98d12985cf72d8361ce17f38", "sha256": "9658c640f78db0dc6a162c0ba7bb8ca29cddda049df334d644ce67ae9177230c" }, "downloads": -1, "filename": "python-ecsclient-1.1.4.tar.gz", "has_sig": false, "md5_digest": "2b52332f98d12985cf72d8361ce17f38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57035, "upload_time": "2017-06-07T15:34:18", "url": "https://files.pythonhosted.org/packages/1c/fe/e65df6e25b7e2ba0004f4816a944427da1dcf89fe07f757c7c2163546050/python-ecsclient-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "c018f99a6f11176356ddf286676381b8", "sha256": "a36454a593a140fd72f83935982e8fd1d96bc0071ee0e914333cc8399cb31fe9" }, "downloads": -1, "filename": "python-ecsclient-1.1.5.tar.gz", "has_sig": false, "md5_digest": "c018f99a6f11176356ddf286676381b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57748, "upload_time": "2017-09-26T15:36:57", "url": "https://files.pythonhosted.org/packages/4e/6d/03b8908d88a3989678143604b4aeadce27160d365e9c351c2daf41329f74/python-ecsclient-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "033eb160227f3332cab1824c9ad3e531", "sha256": "fb6fd34a3172954d5f92e80c57828734ced2b50269bb342019c1fc8197a6e9ae" }, "downloads": -1, "filename": "python-ecsclient-1.1.6.tar.gz", "has_sig": false, "md5_digest": "033eb160227f3332cab1824c9ad3e531", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57873, "upload_time": "2017-10-24T13:04:29", "url": "https://files.pythonhosted.org/packages/af/54/4c32b9a6c17e13657c93aff5264e083500beca06ae633f163f305afe80e6/python-ecsclient-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "54c2bd43e644dadf9d9d64a56eb7e0ea", "sha256": "faef443e6c6c1ce6cb392c54e3f04b749ce2a3ddac18e42f74d910895d71c8db" }, "downloads": -1, "filename": "python-ecsclient-1.1.7.tar.gz", "has_sig": false, "md5_digest": "54c2bd43e644dadf9d9d64a56eb7e0ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58603, "upload_time": "2017-12-11T17:08:44", "url": "https://files.pythonhosted.org/packages/0f/71/93855de435c3bc78cf6c5b8accfc4e526a419ac34a77d8d71b862a27521b/python-ecsclient-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "790433f06939a2bd624c627fa2446e08", "sha256": "369e53bbf22faec951f6c2639293e51d9f873520b8088533b93cd053e8e21d49" }, "downloads": -1, "filename": "python-ecsclient-1.1.8.tar.gz", "has_sig": false, "md5_digest": "790433f06939a2bd624c627fa2446e08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58572, "upload_time": "2018-02-09T09:18:11", "url": "https://files.pythonhosted.org/packages/c3/fa/bd31f5332723840864c780d5c0998d01605e3c2f1ba9b9a610702c9c9033/python-ecsclient-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "7f1b842ddba78fc4d22b62719447e2cf", "sha256": "4586ff39bb79f8de9b2f0f0eaf09ebf95b142a1843b688c3a06ff3bb9f9a97a5" }, "downloads": -1, "filename": "python-ecsclient-1.1.9.tar.gz", "has_sig": false, "md5_digest": "7f1b842ddba78fc4d22b62719447e2cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59281, "upload_time": "2018-04-05T10:37:06", "url": "https://files.pythonhosted.org/packages/3f/2a/365bd796f5cbb78aefdd33f92fea37b4b58cc994dfccba0047f3a94a8a33/python-ecsclient-1.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7f1b842ddba78fc4d22b62719447e2cf", "sha256": "4586ff39bb79f8de9b2f0f0eaf09ebf95b142a1843b688c3a06ff3bb9f9a97a5" }, "downloads": -1, "filename": "python-ecsclient-1.1.9.tar.gz", "has_sig": false, "md5_digest": "7f1b842ddba78fc4d22b62719447e2cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59281, "upload_time": "2018-04-05T10:37:06", "url": "https://files.pythonhosted.org/packages/3f/2a/365bd796f5cbb78aefdd33f92fea37b4b58cc994dfccba0047f3a94a8a33/python-ecsclient-1.1.9.tar.gz" } ] }