from siflow import SiFlow
from siflow.types.vscs import (
CreateVscsRequest,
DevToolsInfo,
Instance,
SSHToolConfig,
VSCodeToolConfig,
VolumeMount,
)
client = SiFlow(region="cn-beijing", cluster="auriga")
images = client.images.list_for_workload(use_case="vscs")
if not images.rows:
raise RuntimeError("当前区域和集群没有可用于 VSCS 的镜像")
picked = images.rows[0]
res = client.vscs.create(
request=CreateVscsRequest(
region="cn-beijing",
cluster="auriga",
name="sdk-vscs-demo",
image=picked.image,
imageUrl=picked.imageUrl,
resourcePool="<RESOURCE_POOL>",
instances=[
Instance(name="sci.c22-2", countPerPod=1),
],
selectedInstance="sci.c22-2",
devToolsInfo=DevToolsInfo(
workspaceDir="/workspace",
ssh=SSHToolConfig(enabled=True),
vscode=VSCodeToolConfig(enabled=True),
),
sshPubKeys=[
"ssh-ed25519 AAAA... user@workstation",
],
volumeMounts=[
VolumeMount(
volumeId=123,
mountDir="/workspace",
),
VolumeMount(
volumeId=124,
mountDir="/workspace/data",
subPath="data",
readOnly=False,
),
],
)
)
print(res)