Element Instances

Defines object schemas for instantiated elements.

Instantiated Element

pydantic model spacenet.schemas.InstElement[source]

Generic element instance.

Show JSON schema
{
   "title": "InstElement",
   "description": "Generic element instance.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "type": {
         "title": "Type",
         "description": "element type",
         "default": "Element",
         "enum": [
            "Element"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage",
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      }
   },
   "required": [
      "templateId",
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      }
   }
}

field accommodation_mass: Optional[float] = None (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage

Constraints
  • minimum = 0

field class_of_supply: Optional[ClassOfSupply] = None (alias 'classOfSupply')

Class of supply

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Optional[Environment] = None

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: Optional[float] = None

Mass (kg)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: Optional[List[UUID]] = None

List of constituent parts

field states: Optional[List[State]] = None

List of operational states

field template_id: UUID [Required] (alias 'templateId')

Element template unique identifier

field type: typing_extensions.Literal[Element] = ElementType.ELEMENT

element type

field volume: Optional[float] = None

Volume (m^3)

Constraints
  • minimum = 0

Instantiated Resource Container

pydantic model spacenet.schemas.InstResourceContainer[source]

Instantiated container for resources.

Show JSON schema
{
   "title": "InstResourceContainer",
   "description": "Instantiated container for resources.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Resource Container",
         "enum": [
            "Resource Container"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage",
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Resource Amount",
         "description": "List of contained resource amounts",
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ResourceAmount"
               },
               {
                  "$ref": "#/definitions/GenericResourceAmount"
               }
            ]
         }
      }
   },
   "required": [
      "templateId",
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "ResourceAmount": {
         "title": "ResourceAmount",
         "description": "A specified amount of a resource.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (units)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "amount"
         ]
      },
      "GenericResourceAmount": {
         "title": "GenericResourceAmount",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (kg)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "amount"
         ]
      }
   }
}

field accommodation_mass: Optional[float] = None (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage

Constraints
  • minimum = 0

field cargo_environment: Optional[Environment] = None (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: Optional[ClassOfSupply] = None (alias 'classOfSupply')

Class of supply

field contents: Optional[List[Union[ResourceAmount, GenericResourceAmount]]] = None

List of contained resource amounts

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Optional[Environment] = None

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: Optional[float] = None

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = None (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = None (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: Optional[List[UUID]] = None

List of constituent parts

field states: Optional[List[State]] = None

List of operational states

field template_id: UUID [Required] (alias 'templateId')

Element template unique identifier

field type: typing_extensions.Literal[Resource Container] = ElementType.RESOURCE_CONTAINER

Element type

field volume: Optional[float] = None

Volume (m^3)

Constraints
  • minimum = 0

Instantiated Element Carrier

pydantic model spacenet.schemas.InstElementCarrier[source]

Instantiated carrier of other elements.

Show JSON schema
{
   "title": "InstElementCarrier",
   "description": "Instantiated carrier of other elements.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Element Carrier",
         "enum": [
            "Element Carrier"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage",
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Contents",
         "description": "List of instantiated elements (by unique identifiers) inside the carrier",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/InstElementUUID"
         }
      },
      "maxCrew": {
         "title": "Maximum Crew Count",
         "description": "Maximum number of human agents (crew)",
         "minimum": 0,
         "type": "integer"
      }
   },
   "required": [
      "templateId",
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "InstElementUUID": {
         "title": "InstElementUUID",
         "description": "Instantiated element referenced by unique identifier.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            }
         }
      }
   }
}

field accommodation_mass: Optional[float] = None (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage

Constraints
  • minimum = 0

field cargo_environment: Optional[Environment] = None (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: Optional[ClassOfSupply] = None (alias 'classOfSupply')

Class of supply

field contents: List[InstElementUUID] = []

List of instantiated elements (by unique identifiers) inside the carrier

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Optional[Environment] = None

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: Optional[float] = None

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = None (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = None (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field max_crew: Optional[int] = None (alias 'maxCrew')

Maximum number of human agents (crew)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: Optional[List[UUID]] = None

List of constituent parts

field states: Optional[List[State]] = None

List of operational states

field template_id: UUID [Required] (alias 'templateId')

Element template unique identifier

field type: typing_extensions.Literal[Element Carrier] = ElementType.ELEMENT_CARRIER

Element type

field volume: Optional[float] = None

Volume (m^3)

Constraints
  • minimum = 0

Instantiated Propulsive Vehicle

pydantic model spacenet.schemas.InstPropulsiveVehicle[source]

Instantiated space vehicle with impulsive propulsion that can traverse space edges.

Show JSON schema
{
   "title": "InstPropulsiveVehicle",
   "description": "Instantiated space vehicle with impulsive propulsion that can traverse space edges.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Propulsive Vehicle",
         "enum": [
            "Propulsive Vehicle"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage",
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Contents",
         "description": "List of instantiated elements (by unique identifiers) inside the carrier",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/InstElementUUID"
         }
      },
      "maxCrew": {
         "title": "Maximum Crew Count",
         "description": "Maximum number of human agents (crew)",
         "minimum": 0,
         "type": "integer"
      },
      "isp": {
         "title": "Specific Impulse",
         "description": "specific impulse (s)",
         "minimum": 0,
         "type": "number"
      },
      "maxFuel": {
         "title": "Maximum Fuel",
         "description": "maximum propellant amount (units)",
         "minimum": 0,
         "type": "number"
      },
      "fuel": {
         "title": "Propellant",
         "description": "type and amount of propellant",
         "anyOf": [
            {
               "$ref": "#/definitions/ResourceAmount"
            },
            {
               "$ref": "#/definitions/GenericResourceAmount"
            }
         ]
      }
   },
   "required": [
      "templateId",
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "InstElementUUID": {
         "title": "InstElementUUID",
         "description": "Instantiated element referenced by unique identifier.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            }
         }
      },
      "ResourceAmount": {
         "title": "ResourceAmount",
         "description": "A specified amount of a resource.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (units)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "amount"
         ]
      },
      "GenericResourceAmount": {
         "title": "GenericResourceAmount",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (kg)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "amount"
         ]
      }
   }
}

field accommodation_mass: Optional[float] = None (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage

Constraints
  • minimum = 0

field cargo_environment: Optional[Environment] = None (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: Optional[ClassOfSupply] = None (alias 'classOfSupply')

Class of supply

field contents: List[InstElementUUID] = []

List of instantiated elements (by unique identifiers) inside the carrier

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Optional[Environment] = None

Required stowage environment

field fuel: Optional[Union[ResourceAmount, GenericResourceAmount]] = None

type and amount of propellant

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field isp: Optional[float] = None

specific impulse (s)

Constraints
  • minimum = 0

field mass: Optional[float] = None

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = None (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = None (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field max_crew: Optional[int] = None (alias 'maxCrew')

Maximum number of human agents (crew)

Constraints
  • minimum = 0

field max_fuel: Optional[float] = None (alias 'maxFuel')

maximum propellant amount (units)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: Optional[List[UUID]] = None

List of constituent parts

field states: Optional[List[State]] = None

List of operational states

field template_id: UUID [Required] (alias 'templateId')

Element template unique identifier

field type: typing_extensions.Literal[Propulsive Vehicle] = ElementType.PROPULSIVE_VEHICLE

Element type

field volume: Optional[float] = None

Volume (m^3)

Constraints
  • minimum = 0

Instantiated Surface Vehicle

pydantic model spacenet.schemas.InstSurfaceVehicle[source]

Instantiated surface vehicle that can traverse surface edges.

Show JSON schema
{
   "title": "InstSurfaceVehicle",
   "description": "Instantiated surface vehicle that can traverse surface edges.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Surface Vehicle",
         "enum": [
            "Surface Vehicle"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage",
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Contents",
         "description": "List of instantiated elements (by unique identifiers) inside the carrier",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/InstElementUUID"
         }
      },
      "maxCrew": {
         "title": "Maximum Crew Count",
         "description": "Maximum number of human agents (crew)",
         "minimum": 0,
         "type": "integer"
      },
      "maxSpeed": {
         "title": "Maximum Speed",
         "description": "Maximum speed (km/hr)",
         "minimum": 0,
         "type": "number"
      },
      "maxFuel": {
         "title": "Maximum Fuel",
         "description": "Maximum fuel amount (units)",
         "minimum": 0,
         "type": "number"
      },
      "fuel": {
         "title": "Fuel",
         "description": "Type and amount of fuel",
         "anyOf": [
            {
               "$ref": "#/definitions/ResourceAmount"
            },
            {
               "$ref": "#/definitions/GenericResourceAmount"
            }
         ]
      }
   },
   "required": [
      "templateId",
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "InstElementUUID": {
         "title": "InstElementUUID",
         "description": "Instantiated element referenced by unique identifier.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            }
         }
      },
      "ResourceAmount": {
         "title": "ResourceAmount",
         "description": "A specified amount of a resource.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (units)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "amount"
         ]
      },
      "GenericResourceAmount": {
         "title": "GenericResourceAmount",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (kg)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "amount"
         ]
      }
   }
}

field accommodation_mass: Optional[float] = None (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage

Constraints
  • minimum = 0

field cargo_environment: Optional[Environment] = None (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: Optional[ClassOfSupply] = None (alias 'classOfSupply')

Class of supply

field contents: List[InstElementUUID] = []

List of instantiated elements (by unique identifiers) inside the carrier

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Optional[Environment] = None

Required stowage environment

field fuel: Optional[Union[ResourceAmount, GenericResourceAmount]] = None

Type and amount of fuel

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: Optional[float] = None

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = None (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = None (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field max_crew: Optional[int] = None (alias 'maxCrew')

Maximum number of human agents (crew)

Constraints
  • minimum = 0

field max_fuel: Optional[float] = None (alias 'maxFuel')

Maximum fuel amount (units)

Constraints
  • minimum = 0

field max_speed: Optional[float] = None (alias 'maxSpeed')

Maximum speed (km/hr)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: Optional[List[UUID]] = None

List of constituent parts

field states: Optional[List[State]] = None

List of operational states

field template_id: UUID [Required] (alias 'templateId')

Element template unique identifier

field type: typing_extensions.Literal[Surface Vehicle] = ElementType.SURFACE_VEHICLE

Element type

field volume: Optional[float] = None

Volume (m^3)

Constraints
  • minimum = 0

Instantiated Robotic Agent

pydantic model spacenet.schemas.InstRoboticAgent[source]

Instantiated robotic agent.

Show JSON schema
{
   "title": "InstRoboticAgent",
   "description": "Instantiated robotic agent.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Robotic Agent",
         "enum": [
            "Robotic Agent"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage",
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "activeTimeFraction": {
         "title": "Active Time Fraction",
         "description": "fraction time an agent is available (0 to 1 inclusive)",
         "minimum": 0,
         "maximum": 1,
         "type": "number"
      }
   },
   "required": [
      "templateId",
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      }
   }
}

field accommodation_mass: Optional[float] = None (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage

Constraints
  • minimum = 0

field active_time_fraction: Optional[float] = None (alias 'activeTimeFraction')

fraction time an agent is available (0 to 1 inclusive)

Constraints
  • minimum = 0

  • maximum = 1

field class_of_supply: Optional[ClassOfSupply] = None (alias 'classOfSupply')

Class of supply

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Optional[Environment] = None

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: Optional[float] = None

Mass (kg)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: Optional[List[UUID]] = None

List of constituent parts

field states: Optional[List[State]] = None

List of operational states

field template_id: UUID [Required] (alias 'templateId')

Element template unique identifier

field type: typing_extensions.Literal[Robotic Agent] = ElementType.ROBOTIC_AGENT

Element type

field volume: Optional[float] = None

Volume (m^3)

Constraints
  • minimum = 0

Instantiated Human Agent

pydantic model spacenet.schemas.InstHumanAgent[source]

Instantiated human agent, i.e., a crew member.

Show JSON schema
{
   "title": "InstHumanAgent",
   "description": "Instantiated human agent, i.e., a crew member.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Human Agent",
         "enum": [
            "Human Agent"
         ],
         "type": "string"
      },
      "templateId": {
         "title": "Templateid",
         "description": "Element template unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage",
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "activeTimeFraction": {
         "title": "Active Time Fraction",
         "description": "fraction time an agent is available (0 to 1 inclusive)",
         "minimum": 0,
         "maximum": 1,
         "type": "number"
      }
   },
   "required": [
      "templateId",
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      }
   }
}

field accommodation_mass: Optional[float] = None (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage

Constraints
  • minimum = 0

field active_time_fraction: Optional[float] = None (alias 'activeTimeFraction')

fraction time an agent is available (0 to 1 inclusive)

Constraints
  • minimum = 0

  • maximum = 1

field class_of_supply: Optional[ClassOfSupply] = None (alias 'classOfSupply')

Class of supply

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Optional[Environment] = None

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: Optional[float] = None

Mass (kg)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: Optional[List[UUID]] = None

List of constituent parts

field states: Optional[List[State]] = None

List of operational states

field template_id: UUID [Required] (alias 'templateId')

Element template unique identifier

field type: typing_extensions.Literal[Human Agent] = ElementType.HUMAN_AGENT

Element type

field volume: Optional[float] = None

Volume (m^3)

Constraints
  • minimum = 0