This commit is contained in:
@@ -11,6 +11,8 @@ from pydantic import BaseModel, Field
|
||||
class TaskConstraintsModel(BaseModel):
|
||||
driver_type: str | None = None
|
||||
capability_tags: list[str] = Field(default_factory=list)
|
||||
target_host_id: str | None = Field(default=None, min_length=1)
|
||||
target_device_id: str | None = Field(default=None, min_length=1)
|
||||
|
||||
|
||||
class TaskSubmissionRequest(BaseModel):
|
||||
@@ -33,6 +35,8 @@ class TaskStatusResponse(BaseModel):
|
||||
attempt_count: int = 0
|
||||
lease_expires_at: datetime | None = None
|
||||
failure_reason: str | None = None
|
||||
target_host_id: str | None = None
|
||||
target_device_id: str | None = None
|
||||
|
||||
|
||||
class TaskListItem(BaseModel):
|
||||
@@ -44,6 +48,8 @@ class TaskListItem(BaseModel):
|
||||
assigned_host_id: str | None = None
|
||||
attempt_count: int = 0
|
||||
failure_reason: str | None = None
|
||||
target_host_id: str | None = None
|
||||
target_device_id: str | None = None
|
||||
created_at: datetime
|
||||
|
||||
|
||||
@@ -145,3 +151,32 @@ class PasswordResetRequest(BaseModel):
|
||||
|
||||
class ErrorResponse(BaseModel):
|
||||
detail: str
|
||||
|
||||
|
||||
class DeviceTargetModel(BaseModel):
|
||||
host_id: str = Field(min_length=1)
|
||||
device_id: str = Field(min_length=1)
|
||||
|
||||
|
||||
class UserSubmissionPolicyRequest(BaseModel):
|
||||
submission_enabled: bool = True
|
||||
allowed_host_ids: list[str] | None = None
|
||||
allowed_device_targets: list[DeviceTargetModel] | None = None
|
||||
|
||||
|
||||
class UserSubmissionPolicyResponse(UserSubmissionPolicyRequest):
|
||||
user_id: str
|
||||
revision: int
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class HostGovernancePolicyRequest(BaseModel):
|
||||
self_submission_enabled: bool = True
|
||||
max_active_tasks: int | None = Field(default=None, ge=1)
|
||||
daily_token_budget: int | None = Field(default=None, ge=1)
|
||||
|
||||
|
||||
class HostGovernancePolicyResponse(HostGovernancePolicyRequest):
|
||||
host_id: str
|
||||
revision: int
|
||||
updated_at: datetime
|
||||
|
||||
Reference in New Issue
Block a user