Metadata-Version: 2.1
Name: python-ibmcclient
Version: 0.2.5
Summary: HUAWEI iBMC client
Home-page: https://github.com/IamFive/python-ibmcclient
Author: QianBiao NG
Author-email: iampurse@vip.qq.com
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/IamFive/python-ibmcclient/issues
Project-URL: Source, https://github.com/IamFive/python-ibmcclient
Keywords: HUAWEI iBMC redfish API client
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
Requires-Dist: requests (>=2.14.2)
Requires-Dist: six (>=1.10.0)
Requires-Dist: typing ; python_version < "3.5"
Provides-Extra: dev
Requires-Dist: check-manifest ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Provides-Extra: test
Requires-Dist: coverage ; extra == 'test'

=================
python-ibmcclient
=================

.. image:: https://travis-ci.org/IamFive/python-ibmcclient.svg?branch=master
    :target: https://travis-ci.org/IamFive/python-ibmcclient

python-ibmcclient is a Python library to communicate with HUAWEI `iBMC`
based systems.

The goal of the library is to be extremely simple, small, have as few
dependencies as possible and be very conservative when dealing with BMCs
by access HTTP REST API provided by HUAWEI `iBMC` based systems.

Currently, the scope of the library has been limited to supporting
`OpenStack Ironic ibmc driver`_

Requirements
============

Python 2.7 and 3.4+

Installation
------------

From PyPi:

.. code-block:: bash

   $ pip install python-ibmcclient


or

.. code-block:: bash

   $ easy_install python-ibmcclient


Or from source:

.. code-block:: bash

   $ python setup.py install

Getting Started
---------------

Please follow the `Installation`_ and then run the following:


.. code-block:: python

    from __future__ import print_function
    from pprint import pprint

    import ibmc_client
    from ibmc_client import constants

    # ibmc server
    address = "https://example.ibmc.com"
    # credential
    username = "username"
    password = "password"
    # disable certification verify
    verify = False

    with ibmc_client.connect(address, username, password, verify) as client:
        # get system
        system = client.system.get()
        print('Power State: ')
        pprint(system.power_state)

        print('Boot Sequence: ')
        pprint(system.boot_sequence)

        print('Boot Source Override:' )
        pprint(system.boot_source_override)

        # reset system
        client.system.reset(constants.RESET_FORCE_RESTART)

        # set boot source override
        client.system.set_boot_source(constants.BOOT_SOURCE_TARGET_PXE,
                                      constants.BOOT_SOURCE_MODE_BIOS,
                                      constants.BOOT_SOURCE_ENABLED_ONCE)

.. _OpenStack Ironic ibmc driver: https://github.com/openstack/ironic-specs/blob/master/specs/approved/ibmc-driver.rst

