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,
    ScienceSubtype,
    TimeAccountingCategory,
)


[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(BaseModel): type_: "GetSchedulerProgramsProgramsMatchesProposalType" = Field(alias="type") call: Optional["GetSchedulerProgramsProgramsMatchesProposalCall"]
[docs] class GetSchedulerProgramsProgramsMatchesProposalType(BaseModel): typename__: Literal[ "Classical", "DemoScience", "DirectorsTime", "FastTurnaround", "LargeProgram", "PoorWeather", "ProposalType", "Queue", "SystemVerification", ] = Field(alias="__typename") science_subtype: ScienceSubtype = Field(alias="scienceSubtype")
[docs] class GetSchedulerProgramsProgramsMatchesProposalCall(BaseModel): active: "GetSchedulerProgramsProgramsMatchesProposalCallActive" semester: Any
[docs] class GetSchedulerProgramsProgramsMatchesProposalCallActive(BaseModel): start: Any end: Any
[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() GetSchedulerProgramsProgramsMatchesProposal.model_rebuild() GetSchedulerProgramsProgramsMatchesProposalCall.model_rebuild() GetSchedulerProgramsProgramsMatchesAllocations.model_rebuild() GetSchedulerProgramsProgramsMatchesTimeCharge.model_rebuild() GetSchedulerProgramsProgramsMatchesTimeChargeTime.model_rebuild() GetSchedulerProgramsProgramsMatchesAllGroupElements.model_rebuild() GetSchedulerProgramsProgramsMatchesAllGroupElementsGroup.model_rebuild()