Skip to content

client

konigle.managers.cloud.client

Sub-client aggregating all BentoCloud managers.

AsyncCloudClient

Async sub-client providing access to all BentoCloud resources.

Accessed via client.cloud on an AsyncClient.

Example
async with konigle.AsyncClient(api_key="...") as client:
    computers = await client.cloud.computers.list()
    computer, job_id = await client.cloud.computers.create(...)

computers = AsyncComputerManager(session) instance-attribute

Async manager for Computer (VM) resources.

jobs = AsyncJobManager(session) instance-attribute

Async manager for async Job resources.

spaces = AsyncSpaceManager(session) instance-attribute

Async manager for Space (uat / production) resources.

webapps = AsyncWebAppManager(session) instance-attribute

Async manager for WebApp resources.

__init__(session)

Initialize async sub-client with all cloud managers.

PARAMETER DESCRIPTION
session

Asynchronous HTTP session from the parent AsyncClient.

TYPE: AsyncSession

CloudClient

Sub-client providing access to all BentoCloud resources.

Accessed via client.cloud.

Example
import konigle
from konigle.models.cloud import ComputerCreate, WebAppCreate

client = konigle.Client(api_key="...")

# List computers
computers = client.cloud.computers.list()

# Provision a computer
computer, job_id = client.cloud.computers.create(
    ComputerCreate(
        display_name="My Server",
        size="M",
        region="nyc3",
    )
)

# Create a webapp
webapp, job_id = client.cloud.webapps.create(
    WebAppCreate(
        computer_id=computer.id,
        name="my-app",
        runtime="python3",
    )
)

# Deploy
spaces = client.cloud.spaces.list(webapp_id=webapp.id)
uat = next(s for s in spaces.payload if s.space_type == "uat")

import io, zipfile
buf = io.BytesIO()
with zipfile.ZipFile(buf, "w") as zf:
    zf.write("app.py")
buf.seek(0)

deployment = client.cloud.spaces.deploy(uat.id, buf)
job = client.cloud.jobs.get(deployment.job_id)

computers = ComputerManager(session) instance-attribute

Manager for Computer (VM) resources.

jobs = JobManager(session) instance-attribute

Manager for async Job resources.

spaces = SpaceManager(session) instance-attribute

Manager for Space (uat / production) resources.

webapps = WebAppManager(session) instance-attribute

Manager for WebApp resources.

__init__(session)

Initialize sub-client with all cloud managers.

PARAMETER DESCRIPTION
session

Synchronous HTTP session from the parent Client.

TYPE: SyncSession