Source code for gpp_client.generated.get_scheduler_programs
from typing import Any, Literal, Optional
from pydantic import Field
from .base_model import BaseModel
from .enums import (
Existence,
ProgramType,
ProposalStatus,
ScienceBand,
TimeAccountingCategory,
)
from .fragments import SchedulerProposal
[docs]
class GetSchedulerPrograms(BaseModel):
programs: "GetSchedulerProgramsPrograms"
[docs]
class GetSchedulerProgramsPrograms(BaseModel):
matches: list["GetSchedulerProgramsProgramsMatches"]
[docs]
class GetSchedulerProgramsProgramsMatches(BaseModel):
id: Any
name: Optional[Any]
description: Optional[Any]
existence: Existence
type_: ProgramType = Field(alias="type")
reference: Optional["GetSchedulerProgramsProgramsMatchesReference"]
active: "GetSchedulerProgramsProgramsMatchesActive"
proposal_status: ProposalStatus = Field(alias="proposalStatus")
proposal: Optional["GetSchedulerProgramsProgramsMatchesProposal"]
allocations: list["GetSchedulerProgramsProgramsMatchesAllocations"]
time_charge: list["GetSchedulerProgramsProgramsMatchesTimeCharge"] = Field(
alias="timeCharge"
)
all_group_elements: list["GetSchedulerProgramsProgramsMatchesAllGroupElements"] = (
Field(alias="allGroupElements")
)
[docs]
class GetSchedulerProgramsProgramsMatchesReference(BaseModel):
typename__: Literal[
"CalibrationProgramReference",
"CommissioningProgramReference",
"EngineeringProgramReference",
"ExampleProgramReference",
"LibraryProgramReference",
"MonitoringProgramReference",
"ProgramReference",
"ScienceProgramReference",
"SystemProgramReference",
] = Field(alias="__typename")
label: Any
type_: ProgramType = Field(alias="type")
[docs]
class GetSchedulerProgramsProgramsMatchesActive(BaseModel):
start: Any
end: Any
[docs]
class GetSchedulerProgramsProgramsMatchesProposal(SchedulerProposal):
pass
[docs]
class GetSchedulerProgramsProgramsMatchesAllocations(BaseModel):
category: TimeAccountingCategory
duration: "GetSchedulerProgramsProgramsMatchesAllocationsDuration"
science_band: ScienceBand = Field(alias="scienceBand")
[docs]
class GetSchedulerProgramsProgramsMatchesAllocationsDuration(BaseModel):
hours: Any
[docs]
class GetSchedulerProgramsProgramsMatchesTimeCharge(BaseModel):
band: Optional[ScienceBand]
time: "GetSchedulerProgramsProgramsMatchesTimeChargeTime"
[docs]
class GetSchedulerProgramsProgramsMatchesTimeChargeTime(BaseModel):
program: "GetSchedulerProgramsProgramsMatchesTimeChargeTimeProgram"
total: "GetSchedulerProgramsProgramsMatchesTimeChargeTimeTotal"
non_charged: "GetSchedulerProgramsProgramsMatchesTimeChargeTimeNonCharged" = Field(
alias="nonCharged"
)
[docs]
class GetSchedulerProgramsProgramsMatchesTimeChargeTimeProgram(BaseModel):
hours: Any
[docs]
class GetSchedulerProgramsProgramsMatchesTimeChargeTimeTotal(BaseModel):
hours: Any
[docs]
class GetSchedulerProgramsProgramsMatchesTimeChargeTimeNonCharged(BaseModel):
hours: Any
[docs]
class GetSchedulerProgramsProgramsMatchesAllGroupElements(BaseModel):
parent_group_id: Optional[Any] = Field(alias="parentGroupId")
group: Optional["GetSchedulerProgramsProgramsMatchesAllGroupElementsGroup"]
observation: Optional[
"GetSchedulerProgramsProgramsMatchesAllGroupElementsObservation"
]
[docs]
class GetSchedulerProgramsProgramsMatchesAllGroupElementsGroup(BaseModel):
id: Any
name: Optional[Any]
minimum_required: Optional[Any] = Field(alias="minimumRequired")
ordered: bool
parent_id: Optional[Any] = Field(alias="parentId")
parent_index: Any = Field(alias="parentIndex")
minimum_interval: Optional[
"GetSchedulerProgramsProgramsMatchesAllGroupElementsGroupMinimumInterval"
] = Field(alias="minimumInterval")
maximum_interval: Optional[
"GetSchedulerProgramsProgramsMatchesAllGroupElementsGroupMaximumInterval"
] = Field(alias="maximumInterval")
system: bool
[docs]
class GetSchedulerProgramsProgramsMatchesAllGroupElementsGroupMinimumInterval(
BaseModel
):
seconds: Any
[docs]
class GetSchedulerProgramsProgramsMatchesAllGroupElementsGroupMaximumInterval(
BaseModel
):
seconds: Any
[docs]
class GetSchedulerProgramsProgramsMatchesAllGroupElementsObservation(BaseModel):
id: Any
group_id: Optional[Any] = Field(alias="groupId")
GetSchedulerPrograms.model_rebuild()
GetSchedulerProgramsPrograms.model_rebuild()
GetSchedulerProgramsProgramsMatches.model_rebuild()
GetSchedulerProgramsProgramsMatchesAllocations.model_rebuild()
GetSchedulerProgramsProgramsMatchesTimeCharge.model_rebuild()
GetSchedulerProgramsProgramsMatchesTimeChargeTime.model_rebuild()
GetSchedulerProgramsProgramsMatchesAllGroupElements.model_rebuild()
GetSchedulerProgramsProgramsMatchesAllGroupElementsGroup.model_rebuild()