This is a rundeck API client implemeneted by aio-http and pydantic. All API parameters and responses are annotated and user-friendly!
pip install async-rundeck
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())
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
- List job
- Run job
- Import job from file
- Export job from file
- Executions
- Get Executions for a Job
- Delete all Executions for a Job
- Listing Running Executions
- Execution Info
- Upload files for an Execution.
- List Input Files for an Execution
- 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
- Listing Projects
- Project Creation
- Getting Project Info
- Project Deletion
- Project Configuration
- 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