from siflow import SiFlow
from siflow.types.generalsvc import (
CreateGeneralsvcRequest,
CustomMetricsConfig,
HostItem,
Image,
Instance,
Volume,
Workload,
)
client = SiFlow(region="cn-beijing", cluster="auriga")
res = client.generalsvc.create(
request=CreateGeneralsvcRequest(
name="sdk-general-demo",
ports=[8000],
useBaseUrl=False,
authEnabled=True,
customMetrics=CustomMetricsConfig(
enabled=True,
path="/metrics",
port=8000,
),
hosts=[
HostItem(
host="<SERVICE_DOMAIN>",
type="dedicated",
paths={"8000": "/sdk-general-demo"},
)
],
workloads=[
Workload(
versionName="v1",
version="v1",
replicas=1,
resourcePool="<RESOURCE_POOL>",
instances=[
Instance(name="sci.c23-2", countPerPod=1),
],
image=Image(
url="registry-cn-shanghai.siflow.cn/ai-infra/custom-app:v1.0.0-a1b2c3d",
),
cmd="python app.py --port 8000",
volumes=[
Volume(
volumeId=230,
mountDir="/volume/models",
subPath="models",
readOnly=True,
),
Volume(
volumeId=231,
mountDir="/volume/data",
),
],
extraTerminationGraceSeconds=60,
)
],
),
)
print(res)