Metadata-Version: 2.1
Name: brundeckrun
Version: 0.2.6
Summary: A Rundeck API Python client
Home-page: https://github.com/antillion/brundeckrun
Author: rundeckrun@mindmind.com
Author-email: rundeckrun@mindmind.com
Maintainer: Lambda Vector
Maintainer-email: pablo@ceruleanhq.com
License: http://creativecommons.org/licenses/by-sa/3.0/
Description: # brundeckrun
        
        
        A(nother) fork of the client library written in Python to interact with the Rundeck API, the majority of
        which was created by Mark LaPerriere.
        
        The fork exists mostly because the environment Lambda Vector uses it in requires it to be hosted on
        pypi, so updates must be pushed quickly. In addition, the requirement to run tests against a live
        Rundeck is a no-no.
        
        # Rundeck (API) version compatibility:
        
        *Some* calls are under active use/development, primarily:
        
         - Job imports: API v1+
         - Project archive imports: API v14+
        
        All other calls _should_ work correctly as long as they are not deprecated or if Rundeck fail to
        correctly implement backwards compatibility.
        
        # Python version
        
        Target python version: 2.7
        Should work (but not tested aagainst): 3
        
        
        # Installation
        
          pip install brundeckrun
        
        ## Use
        
            >>> from rundeck.client import Rundeck
            >>> rd = Rundeck('rundeck.server.com', api_token='SECRET_API_TOKEN')
            >>> rd.list_projects()
            [{
                'description': None,
                'name': 'TestProject',
                'resources': {'providerURL': 'http://localhost:8000/resources.xml'},
            }]
            >>> rd.list_jobs('TestProject')
            [{'description': 'Hello World!',
              'group': None,
              'id': 'a6e1e0f7-ad32-4b93-ba2c-9387be06a146',
              'name': 'HelloWorld',
              'project': 'TestProject'}]
            >>> rd.run_job('a6e1e0f7-ad32-4b93-ba2c-9387be06a146', argString={'from':'brundeckrun'})
            {'argstring': '-from brundeckrun',
             'date-started': datetime.datetime(2013, 7, 11, 18, 4, 24),
             'description': 'Plugin[localexec, nodeStep: true]',
             'href': 'http://rundeck.server.com/execution/follow/123',
             'id': '123',
             'job': None,
             'status': 'running',
             'user': 'brundeckrun'}
        
        
        # Tests
        
        ## Unit tests
        
        Unit tests are performed via tox.
        
        To install tox and then run the tests:
        
            pip install tox
            tox
        
        ## Integration tests
        
        *Note:* currently the integrations are not up-to-date and are not under continous integration. Soon though...
        
        Running the tests requires a running Rundeck server (the Rundeck standalone jar works well) and an
        API token for said Rundeck server.
        
        You'll have to at least set the API token environment variable of ``RUNDECK_API_TOKEN`` but there
        are other environment variables to be aware of. The list is below and can be found at the head of
        the tests/\_\_init\_\_.py file. They should be fairly self-explanatory (OK, RUNDECK_PROTOCOL might
        not be self-explanatory... use either 'http' or 'https' there).
        
        .. code-block:: bash
        
            RUNDECK_API_TOKEN
            RUNDECK_SERVER
            RUNDECK_PORT
            RUNDECK_PROTOCOL
        
        Next clone the repo.
        
        .. code-block:: bash
        
            git clone https://github.com/pmatias/brundeckrun
        
        .. note:: activate your `virtualenv <http://www.virtualenv.org/en/latest/>`_
        
        Then install the requirements and dev requirements.
        
        .. code-block:: bash
        
            pip install -r requirements.txt
            pip install -r requirements_dev.txt
        
        Lastly, execute nose tests.
        
        .. code-block:: bash
        
            nosetests
        
        .. _requests: http://docs.python-requests.org/
        .. _Read the Docs:  http://brundeckrun.readthedocs.org/
        
        
        Some calls are under active use/development, primarily:
        
         - Job imports: API v1+
         - Project archive imports: API v14+
        
        All other calls _should_ work correctly as long as they are not deprecated or if Rundeck fail to
        correctly implement backwards compatibility.
        
        Target python version: 2.7
        Should work (but not tested aagainst): 3
        
        
        # Installation
        
          pip install brundeckrun
        
        ## Use
        
            >>> from rundeck.client import Rundeck
            >>> rd = Rundeck('rundeck.server.com', api_token='SECRET_API_TOKEN')
            >>> rd.list_projects()
            [{
                'description': None,
                'name': 'TestProject',
                'resources': {'providerURL': 'http://localhost:8000/resources.xml'},
            }]
            >>> rd.list_jobs('TestProject')
            [{'description': 'Hello World!',
              'group': None,
              'id': 'a6e1e0f7-ad32-4b93-ba2c-9387be06a146',
              'name': 'HelloWorld',
              'project': 'TestProject'}]
            >>> rd.run_job('a6e1e0f7-ad32-4b93-ba2c-9387be06a146', argString={'from':'brundeckrun'})
            {'argstring': '-from brundeckrun',
             'date-started': datetime.datetime(2013, 7, 11, 18, 4, 24),
             'description': 'Plugin[localexec, nodeStep: true]',
             'href': 'http://rundeck.server.com/execution/follow/123',
             'id': '123',
             'job': None,
             'status': 'running',
             'user': 'brundeckrun'}
        
        
        # Tests
        
        ## Unit tests
        
        Unit tests are performed via tox. 
        
        To install tox and then run the tests:
        
            pip install tox
            tox
        
        ## Integration tests
        
        *Note:* currently the integrations are not up-to-date and are not under continous integration. Soon though...
        
        Running the tests requires a running Rundeck server (the Rundeck standalone jar works well) and an
        API token for said Rundeck server.
        
        You'll have to at least set the API token environment variable of ``RUNDECK_API_TOKEN`` but there
        are other environment variables to be aware of. The list is below and can be found at the head of
        the tests/\_\_init\_\_.py file. They should be fairly self-explanatory (OK, RUNDECK_PROTOCOL might
        not be self-explanatory... use either 'http' or 'https' there).
        
        .. code-block:: bash
        
            RUNDECK_API_TOKEN
            RUNDECK_SERVER
            RUNDECK_PORT
            RUNDECK_PROTOCOL
        
        Next clone the repo.
        
        .. code-block:: bash
        
            git clone https://github.com/pmatias/brundeckrun
        
        .. note:: activate your `virtualenv <http://www.virtualenv.org/en/latest/>`_
        
        Then install the requirements and dev requirements.
        
        .. code-block:: bash
        
            pip install -r requirements.txt
            pip install -r requirements_dev.txt
        
        Lastly, execute nose tests.
        
        .. code-block:: bash
        
            nosetests
        
        .. _requests: http://docs.python-requests.org/
        .. _Read the Docs:  http://brundeckrun.readthedocs.org/
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.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
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: System :: Software Distribution
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
