Skip to main content

AsyncIO LXD API for Python 3

Project description

aiolxd

WIP AsyncIO LXD API for Python 3.

THIS PROJECT IS NOT READY FOR PRODUCTION USE

Example

import asyncio

from aiolxd import LXD


async def main() -> None:
    async with LXD.with_async("https://localhost:8443", cert=("client.crt", "client.key")) as lxd:
        create_task = await lxd.instance.create(
            name="test-instance", source="ubuntu/22.04", type_="virtual-machine"
        )  # Request the creation of an instance
        await create_task.wait()  # Wait for the task to complete

        print(await lxd.instance.get("test-instance"))
        # architecture='x86_64' created_at='2023-02-07T13:05:12.631550731Z'
        # last_used_at='1970-01-01T00:00:00Z' location='none' name='test-instance'
        # profiles=['default'] project='default' restore=None stateful=False
        # status='Stopped' status_code=102 type='virtual-machine' description=''
        # devices={} ephemeral=False config=InstanceConfig(security_nesting=None)

        delete_task = await lxd.instance.delete("test-instance")  # Request the deletion of an instance
        await delete_task.wait()  # Wait for the task to complete


asyncio.run(main())

TODO

  • Basic API (instance creation, deletion, etc.)
  • Logging
  • Websocket operation events (websocket support exists, but events are not parsed)
  • Tests
  • More API endpoints

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiolxd-0.1.1.tar.gz (21.4 kB view hashes)

Uploaded Source

Built Distribution

aiolxd-0.1.1-py3-none-any.whl (23.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page