[![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"
}