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()