Skip to content

elda27/async_rundeck

Repository files navigation

codecov

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

pip install async-rundeck

How to use

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
    • 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

About

Rundeck REST API client with aiohttp

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages