Coverage for /home/fedora/jumpstarter/packages/jumpstarter/jumpstarter/common/resources.py: 100%
14 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-05 20:29 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-05 20:29 +0000
1from typing import Annotated, Literal, Union
2from uuid import UUID
4from pydantic import BaseModel, Field, Json
7class ClientStreamResource(BaseModel):
8 kind: Literal["client_stream"] = "client_stream"
9 uuid: UUID
12class PresignedRequestResource(BaseModel):
13 kind: Literal["presigned_request"] = "presigned_request"
14 headers: dict[str, str]
15 url: str
16 method: Literal["GET", "PUT"]
19Resource = Annotated[
20 Union[ClientStreamResource, PresignedRequestResource],
21 Field(discriminator="kind"),
22]
25class ResourceMetadata(BaseModel):
26 resource: Json[Resource]