async-rundeck


Nameasync-rundeck JSON
Version 0.1.7 PyPI version JSON
download
home_pagehttps://github.com/elda27/async_rundeck
SummaryAsynchronous rundeck API client
upload_time2023-01-30 15:28:34
maintainer
docs_urlNone
authorelda27
requires_python>=3.8,<4.0
license
keywords rundeck asyncio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![codecov](https://codecov.io/gh/elda27/async_rundeck/branch/main/graph/badge.svg?token=wo3QBnKsKX)](https://codecov.io/gh/elda27/async_rundeck)

# Asynchronous rundeck API client

This is a rundeck API client implemeneted by aio-http and pydantic.
All API parameters and responses are annotated and user-friendly!

## Installation

```bash
pip install async-rundeck
```

## How to use

```python
import asyncio
from async_rundeck import Rundeck

async def main():
    Rundeck(
        url=rundeck_service, username="admin", password="admin", api_version=41
    )
    project_name = uuid4().hex
    await rundeck.create_project(project_name)

    job_content = (root_dir / "resource" / "Test_job.xml").read_text()
    # Import job
    status = await rundeck.import_jobs(
        project_name,
        job_content,
        content_type="application/xml",
        uuid_option="remove",
    )
    if len(status["succeeded"]) != 1:
      print("Failed to import job")
      return

    jobs = await rundeck.list_jobs(project_name)

    # Execute job
    execution = await rundeck.execute_job(jobs[0].id)
    assert execution is not None

asyncio.run_until_complete(main())
```

## Features

The items checked in the following list are implemented.

- [ ] System Info
- [ ] List Metrics
  - [ ] Metrics Links
  - [ ] Metrics Data
  - [ ] Metrics Healthcheck
  - [ ] Metrics Threading
  - [ ] Metrics Ping
- [ ] User Profile
- [ ] Log Storage
- [ ] Execution Mode
- [ ] Cluster Mode
- [ ] ACLs
- [ ] Jobs
  - [x] List job
  - [x] Run job
  - [x] Import job from file
  - [x] Export job from file
- [ ] Executions
  - [x] Get Executions for a Job
  - [ ] Delete all Executions for a Job
  - [x] Listing Running Executions
  - [ ] Execution Info
  - [x] Upload files for an Execution.
  - [x] List Input Files for an Execution
  - [x] Delete an Execution
  - [ ] Bulk Delete Executions
  - [ ] Execution Query
  - [ ] Execution State
  - [ ] Execution Output
  - [ ] Execution Output with State
  - [ ] Aborting Executions
- [ ] Adhoc
- [ ] Key Storage
  - [ ] Upload keys
  - [ ] List keys
  - [ ] Get Key Metadata
  - [ ] Get Key Contents
  - [ ] Delete Keys
- [ ] Projects
  - [x] Listing Projects
  - [x] Project Creation
  - [x] Getting Project Info
  - [x] Project Deletion
  - [x] Project Configuration
  - [x] Project Configuration Keys
  - [ ] Project Archive Export
  - [ ] Project Archive Export Async
  - [ ] Project Archive Export Status
  - [ ] Project Archive Import
  - [ ] Updating and Listing Resources for a Project
  - [ ] Project Readme File
  - [ ] Project ACLs
- [ ] Listing History
- [ ] Resources/Nodes
- [ ] SCM

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/elda27/async_rundeck",
    "name": "async-rundeck",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "rundeck,asyncio",
    "author": "elda27",
    "author_email": "kaz.birdstick@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/34/55/9053dff6a41b93e97345d5d21adad3d1d55495a12c984242b4868ff08810/async_rundeck-0.1.7.tar.gz",
    "platform": null,
    "description": "[![codecov](https://codecov.io/gh/elda27/async_rundeck/branch/main/graph/badge.svg?token=wo3QBnKsKX)](https://codecov.io/gh/elda27/async_rundeck)\n\n# Asynchronous rundeck API client\n\nThis is a rundeck API client implemeneted by aio-http and pydantic.\nAll API parameters and responses are annotated and user-friendly!\n\n## Installation\n\n```bash\npip install async-rundeck\n```\n\n## How to use\n\n```python\nimport asyncio\nfrom async_rundeck import Rundeck\n\nasync def main():\n    Rundeck(\n        url=rundeck_service, username=\"admin\", password=\"admin\", api_version=41\n    )\n    project_name = uuid4().hex\n    await rundeck.create_project(project_name)\n\n    job_content = (root_dir / \"resource\" / \"Test_job.xml\").read_text()\n    # Import job\n    status = await rundeck.import_jobs(\n        project_name,\n        job_content,\n        content_type=\"application/xml\",\n        uuid_option=\"remove\",\n    )\n    if len(status[\"succeeded\"]) != 1:\n      print(\"Failed to import job\")\n      return\n\n    jobs = await rundeck.list_jobs(project_name)\n\n    # Execute job\n    execution = await rundeck.execute_job(jobs[0].id)\n    assert execution is not None\n\nasyncio.run_until_complete(main())\n```\n\n## Features\n\nThe items checked in the following list are implemented.\n\n- [ ] System Info\n- [ ] List Metrics\n  - [ ] Metrics Links\n  - [ ] Metrics Data\n  - [ ] Metrics Healthcheck\n  - [ ] Metrics Threading\n  - [ ] Metrics Ping\n- [ ] User Profile\n- [ ] Log Storage\n- [ ] Execution Mode\n- [ ] Cluster Mode\n- [ ] ACLs\n- [ ] Jobs\n  - [x] List job\n  - [x] Run job\n  - [x] Import job from file\n  - [x] Export job from file\n- [ ] Executions\n  - [x] Get Executions for a Job\n  - [ ] Delete all Executions for a Job\n  - [x] Listing Running Executions\n  - [ ] Execution Info\n  - [x] Upload files for an Execution.\n  - [x] List Input Files for an Execution\n  - [x] Delete an Execution\n  - [ ] Bulk Delete Executions\n  - [ ] Execution Query\n  - [ ] Execution State\n  - [ ] Execution Output\n  - [ ] Execution Output with State\n  - [ ] Aborting Executions\n- [ ] Adhoc\n- [ ] Key Storage\n  - [ ] Upload keys\n  - [ ] List keys\n  - [ ] Get Key Metadata\n  - [ ] Get Key Contents\n  - [ ] Delete Keys\n- [ ] Projects\n  - [x] Listing Projects\n  - [x] Project Creation\n  - [x] Getting Project Info\n  - [x] Project Deletion\n  - [x] Project Configuration\n  - [x] Project Configuration Keys\n  - [ ] Project Archive Export\n  - [ ] Project Archive Export Async\n  - [ ] Project Archive Export Status\n  - [ ] Project Archive Import\n  - [ ] Updating and Listing Resources for a Project\n  - [ ] Project Readme File\n  - [ ] Project ACLs\n- [ ] Listing History\n- [ ] Resources/Nodes\n- [ ] SCM\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Asynchronous rundeck API client",
    "version": "0.1.7",
    "split_keywords": [
        "rundeck",
        "asyncio"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "16e43f26a5557bdb9b1306e691b6b875f416c423c6e7aa0ff516943379b3e3b7",
                "md5": "260c023c297708bb966ec48d0ae00533",
                "sha256": "675511298b8d0add6245c2b5388c2e596fc36f532deef35f10555b38c6b6e6c6"
            },
            "downloads": -1,
            "filename": "async_rundeck-0.1.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "260c023c297708bb966ec48d0ae00533",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 31537,
            "upload_time": "2023-01-30T15:28:32",
            "upload_time_iso_8601": "2023-01-30T15:28:32.816663Z",
            "url": "https://files.pythonhosted.org/packages/16/e4/3f26a5557bdb9b1306e691b6b875f416c423c6e7aa0ff516943379b3e3b7/async_rundeck-0.1.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "34559053dff6a41b93e97345d5d21adad3d1d55495a12c984242b4868ff08810",
                "md5": "2d47abb6ebfcca29611bc8f16021ccb5",
                "sha256": "0bdf1f2e3e1e42912d42e4118fc24d81a5005ee5a3a6a22e36c38fd929582cb8"
            },
            "downloads": -1,
            "filename": "async_rundeck-0.1.7.tar.gz",
            "has_sig": false,
            "md5_digest": "2d47abb6ebfcca29611bc8f16021ccb5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 24323,
            "upload_time": "2023-01-30T15:28:34",
            "upload_time_iso_8601": "2023-01-30T15:28:34.485983Z",
            "url": "https://files.pythonhosted.org/packages/34/55/9053dff6a41b93e97345d5d21adad3d1d55495a12c984242b4868ff08810/async_rundeck-0.1.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-30 15:28:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "elda27",
    "github_project": "async_rundeck",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "async-rundeck"
}
        
Elapsed time: 0.04309s