Events

Events define the state transitions that drive simulation behavior.

Create Elements

pydantic model spacenet.schemas.CreateElements[source]

Event that creates instantiated elements inside a node, edge, or instantiated element carrier.

Show JSON schema
{
   "title": "CreateElements",
   "description": "Event that creates instantiated elements inside a node, edge, or\ninstantiated element carrier.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Create Elements",
         "enum": [
            "Create Elements"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "elements": {
         "title": "Elements",
         "description": "List of instantiated elements (by unique identifier) to be created",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "container": {
         "title": "Container",
         "description": "Node, edge, or instantiated carrier where the elements are to be created",
         "type": "string",
         "format": "uuid"
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "elements",
      "container"
   ]
}

field container: UUID [Required]

Node, edge, or instantiated carrier where the elements are to be created

field elements: List[UUID] [Required]

List of instantiated elements (by unique identifier) to be created

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Create Elements] = EventType.CREATE_ELEMENTS

Event type

Move Elements

pydantic model spacenet.schemas.MoveElements[source]

Event that moves instantiated elements to a new node, edge, or instantiated carrier.

Parameters
  • elements ([UUID]) – list of instantiated elements (by unique identifier) to be moved

  • container (UUID) – unique identifier of the node, edge, or instantiated carrier where the elements are to be moved

Show JSON schema
{
   "title": "MoveElements",
   "description": "Event that moves instantiated elements to a new node, edge, or instantiated\ncarrier.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be moved\n:param UUID container: unique identifier of the node, edge, or instantiated carrier where the elements are to be moved",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Move Elements",
         "enum": [
            "Move Elements"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "elements": {
         "title": "Elements",
         "description": "List of instantiated elements (by unique identifier) to be moved",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "container": {
         "title": "Container",
         "description": "Unique identifier of the node, edge, or instantiated carrier where the elements are to be moved",
         "type": "string",
         "format": "uuid"
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "elements",
      "container"
   ]
}

field container: UUID [Required]

Unique identifier of the node, edge, or instantiated carrier where the elements are to be moved

field elements: List[UUID] [Required]

List of instantiated elements (by unique identifier) to be moved

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Move Elements] = EventType.MOVE_ELEMENTS

Event type

Remove Elements

pydantic model spacenet.schemas.RemoveElements[source]

Event that removes instantiated elements.

Parameters

elements ([UUID]) – list of instantiated elements (by unique identifier) to be removed

Show JSON schema
{
   "title": "RemoveElements",
   "description": "Event that removes instantiated elements.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be removed",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Remove Elements",
         "enum": [
            "Remove Elements"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "elements": {
         "title": "Elements",
         "description": "List of instantiated elements (by unique identifier) to be removed",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "elements"
   ]
}

field elements: List[UUID] [Required]

List of instantiated elements (by unique identifier) to be removed

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Remove Elements] = EventType.REMOVE_ELEMENTS

Event type

Reconfigure Element

pydantic model spacenet.schemas.ReconfigureElement[source]

Event that changes the operational state of one instantiated element.

Parameters
  • element (UUID) – unique identifier of the instantiated element to be reconfigured

  • state_index (SafeInt) – index of the new operational state

Show JSON schema
{
   "title": "ReconfigureElement",
   "description": "Event that changes the operational state of one instantiated element.\n\n:param UUID element: unique identifier of the instantiated element to be reconfigured\n:param SafeInt state_index: index of the new operational state",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Reconfigure Element",
         "enum": [
            "Reconfigure Element"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "element": {
         "title": "Element",
         "description": "Unique identifier of the instantiated element to be reconfigured",
         "type": "string",
         "format": "uuid"
      },
      "stateIndex": {
         "title": "State Index",
         "description": "Index of the new operational state",
         "minimum": -1,
         "type": "integer"
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "element",
      "stateIndex"
   ]
}

field element: UUID [Required]

Unique identifier of the instantiated element to be reconfigured

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field state_index: int [Required] (alias 'stateIndex')

Index of the new operational state

Constraints
  • minimum = -1

field type: typing_extensions.Literal[Reconfigure Element] = EventType.RECONFIGURE_ELEMENT

Event type

Reconfigure Elements

pydantic model spacenet.schemas.ReconfigureElements[source]

Event that changes the operational state of multiple instantiated elements.

Parameters
  • elements ([UUID]) – list of instantiated elements (by unique identifier) to be reconfigured

  • state_type (StateType) – state type to which to be reconfigured

Show JSON schema
{
   "title": "ReconfigureElements",
   "description": "Event that changes the operational state of multiple instantiated elements.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to be reconfigured\n:param StateType state_type: state type to which to be reconfigured",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Reconfigure Elements",
         "enum": [
            "Reconfigure Elements"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "elements": {
         "title": "Elements",
         "description": "List of instantiated elements (by unique identifier) to be reconfigured",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "stateType": {
         "description": "State type to which to be reconfigured",
         "allOf": [
            {
               "$ref": "#/definitions/StateType"
            }
         ]
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "elements",
      "stateType"
   ],
   "definitions": {
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      }
   }
}

field elements: List[UUID] [Required]

List of instantiated elements (by unique identifier) to be reconfigured

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field state_type: StateType [Required] (alias 'stateType')

State type to which to be reconfigured

field type: typing_extensions.Literal[Reconfigure Elements] = EventType.RECONFIGURE_ELEMENTS

Event type

Add Resources

pydantic model spacenet.schemas.AddResources[source]

Event that adds resources to an instantiated container element.

Show JSON schema
{
   "title": "AddResources",
   "description": "Event that adds resources to an instantiated container element.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Add Resources",
         "enum": [
            "Add Resources"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "resources": {
         "title": "Produced Resources",
         "description": "List of resource amounts to produce",
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ResourceAmount"
               },
               {
                  "$ref": "#/definitions/GenericResourceAmount"
               }
            ]
         }
      },
      "container": {
         "title": "Container",
         "description": "Unique identifier of the container element",
         "type": "string",
         "format": "uuid"
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "resources",
      "container"
   ],
   "definitions": {
      "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"
         ]
      },
      "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"
      },
      "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 container: UUID [Required]

Unique identifier of the container element

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field resources: List[Union[ResourceAmount, GenericResourceAmount]] [Required]

List of resource amounts to produce

field type: typing_extensions.Literal[Add Resources] = EventType.ADD_RESOURCES

Event type

Transfer Resources

pydantic model spacenet.schemas.TransferResources[source]

Event that transfers resources between resource container elements.

Show JSON schema
{
   "title": "TransferResources",
   "description": "Event that transfers resources between resource container elements.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Transfer Resources",
         "enum": [
            "Transfer Resources"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "resources": {
         "title": "Transferred Resources",
         "description": "list of resource amounts to transfer",
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ResourceAmount"
               },
               {
                  "$ref": "#/definitions/GenericResourceAmount"
               }
            ]
         }
      },
      "originContainer": {
         "title": "Origin Container",
         "description": "Unique identifier of the resource-transferring origin container",
         "type": "string",
         "format": "uuid"
      },
      "destinationContainer": {
         "title": "Destination Container",
         "description": "Unique identifier of the resource-transferring destination container",
         "type": "string",
         "format": "uuid"
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "resources",
      "originContainer",
      "destinationContainer"
   ],
   "definitions": {
      "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"
         ]
      },
      "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"
      },
      "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 destination_container: UUID [Required] (alias 'destinationContainer')

Unique identifier of the resource-transferring destination container

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field origin_container: UUID [Required] (alias 'originContainer')

Unique identifier of the resource-transferring origin container

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field resources: List[Union[ResourceAmount, GenericResourceAmount]] [Required]

list of resource amounts to transfer

field type: typing_extensions.Literal[Transfer Resources] = EventType.TRANSFER_RESOURCES

Event type

Consume Resources

pydantic model spacenet.schemas.ConsumeResources[source]

Event that consumes resources.

Show JSON schema
{
   "title": "ConsumeResources",
   "description": "Event that consumes resources.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Consume Resources",
         "enum": [
            "Consume Resources"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "resources": {
         "title": "Consumed Resources",
         "description": "List of resource amounts to consume",
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ResourceAmount"
               },
               {
                  "$ref": "#/definitions/GenericResourceAmount"
               }
            ]
         }
      },
      "source": {
         "title": "Source",
         "description": "Unique identifier of the resource-consuming element",
         "type": "string",
         "format": "uuid"
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "resources",
      "source"
   ],
   "definitions": {
      "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"
         ]
      },
      "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"
      },
      "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 location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field resources: List[Union[ResourceAmount, GenericResourceAmount]] [Required]

List of resource amounts to consume

field source: UUID [Required]

Unique identifier of the resource-consuming element

field type: typing_extensions.Literal[Consume Resources] = EventType.CONSUME_RESOURCES

Event type

Propulsive Burn

pydantic model spacenet.schemas.PropulsiveBurn[source]

Event that represents an impulsive propulsive maneuver composed of burn (fire engine) and stage (discard component) actions.

Parameters
  • elements ([UUID]) – list of instantiated elements (by unique identifier) to participate

  • burn (UUID) – unique identifier of the burn to achieve

  • burn_stage_sequence ([BurnStageItem]) – list of the actions to be sequenced

Show JSON schema
{
   "title": "PropulsiveBurn",
   "description": "Event that represents an impulsive propulsive maneuver composed of burn\n(fire engine) and stage (discard component) actions.\n\n:param [UUID] elements: list of instantiated elements (by unique identifier) to participate\n:param UUID burn: unique identifier of the burn to achieve\n:param [BurnStageItem] burn_stage_sequence: list of the actions to be sequenced",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Propulsive Burn",
         "enum": [
            "Propulsive Burn"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "elements": {
         "title": "Elements List",
         "description": "List of instantiated elements (by unique identifier) to participate.",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "burn": {
         "title": "Burn",
         "description": "Unique identifier of the burn to achieve",
         "type": "string",
         "format": "uuid"
      },
      "burnStageSequence": {
         "title": "Burn/Stage Sequence",
         "description": "List of the burns and stages to be performed in the event.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/BurnStageItem"
         }
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "elements",
      "burn",
      "burnStageSequence"
   ],
   "definitions": {
      "BurnStage": {
         "title": "BurnStage",
         "description": "Enumeration of actions during a burn/stage sequence.",
         "enum": [
            "Burn",
            "Stage"
         ]
      },
      "BurnStageItem": {
         "title": "BurnStageItem",
         "description": "Object schema for element-specific actions during a burn/stage sequence.\n\n:param UUID element: unique identifier of the instantiated element performing the action\n:param BurnStage: action to be performed",
         "type": "object",
         "properties": {
            "element": {
               "title": "Element",
               "description": "Unique identifier of the instantiated element performing the action",
               "type": "string",
               "format": "uuid"
            },
            "type": {
               "title": "Burn/Stage",
               "description": "Action to be performed",
               "allOf": [
                  {
                     "$ref": "#/definitions/BurnStage"
                  }
               ]
            }
         },
         "required": [
            "element",
            "type"
         ]
      }
   }
}

field burn: UUID [Required]

Unique identifier of the burn to achieve

field burn_stage_sequence: List[BurnStageItem] [Required] (alias 'burnStageSequence')

List of the burns and stages to be performed in the event.

field elements: List[UUID] [Required]

List of instantiated elements (by unique identifier) to participate.

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Propulsive Burn] = EventType.PROPULSIVE_BURN

Event type

Space Transport

pydantic model spacenet.schemas.SpaceTransport[source]

Event that transports instantiated elements along a space edge.

Show JSON schema
{
   "title": "SpaceTransport",
   "description": "Event that transports instantiated elements along a space edge.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Space Transport",
         "enum": [
            "Space Transport"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "edge": {
         "title": "Edge",
         "description": "Edge (by unique identifier) along which this transport traverses",
         "type": "string",
         "format": "uuid"
      },
      "elements": {
         "title": "List of Elements",
         "description": "List of instantiated elements (by unique identifier) to transport",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "burnStageSequence": {
         "title": "Burn Sequence",
         "description": "List of burn-stage sequences to perform",
         "type": "array",
         "items": {
            "$ref": "#/definitions/BurnStageSequence"
         }
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "edge",
      "elements",
      "burnStageSequence"
   ],
   "definitions": {
      "BurnStage": {
         "title": "BurnStage",
         "description": "Enumeration of actions during a burn/stage sequence.",
         "enum": [
            "Burn",
            "Stage"
         ]
      },
      "BurnStageItem": {
         "title": "BurnStageItem",
         "description": "Object schema for element-specific actions during a burn/stage sequence.\n\n:param UUID element: unique identifier of the instantiated element performing the action\n:param BurnStage: action to be performed",
         "type": "object",
         "properties": {
            "element": {
               "title": "Element",
               "description": "Unique identifier of the instantiated element performing the action",
               "type": "string",
               "format": "uuid"
            },
            "type": {
               "title": "Burn/Stage",
               "description": "Action to be performed",
               "allOf": [
                  {
                     "$ref": "#/definitions/BurnStage"
                  }
               ]
            }
         },
         "required": [
            "element",
            "type"
         ]
      },
      "BurnStageSequence": {
         "title": "BurnStageSequence",
         "description": "A sequence of burn/stage events.",
         "type": "object",
         "properties": {
            "burn": {
               "title": "Burn",
               "description": "UUID of burn",
               "type": "string",
               "format": "uuid"
            },
            "actions": {
               "title": "Actions",
               "description": "List of the burns and stages to be performed in the event",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/BurnStageItem"
               }
            }
         },
         "required": [
            "burn",
            "actions"
         ]
      }
   }
}

field burn_stage_sequence: List[BurnStageSequence] [Required] (alias 'burnStageSequence')

List of burn-stage sequences to perform

field edge: UUID [Required]

Edge (by unique identifier) along which this transport traverses

field elements: List[UUID] [Required]

List of instantiated elements (by unique identifier) to transport

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Space Transport] = EventType.SPACE_TRANSPORT

Event type

Surface Transport

pydantic model spacenet.schemas.SurfaceTransport[source]

Event that transports instantiated elements along a surface edge.

Show JSON schema
{
   "title": "SurfaceTransport",
   "description": "Event that transports instantiated elements along a surface edge.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Surface Transport",
         "enum": [
            "Surface Transport"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "edge": {
         "title": "Edge",
         "description": "Edge (by unique identifier) along which this transport traverses",
         "type": "string",
         "format": "uuid"
      },
      "vehicle": {
         "title": "Surface Vehicle",
         "description": "Surface vehicle (by unique identifier) to transport",
         "type": "string",
         "format": "uuid"
      },
      "transportState": {
         "title": "Transport State Index",
         "description": "Index of the transport state",
         "minimum": -1,
         "type": "integer"
      },
      "speed": {
         "title": "Transport Speed",
         "description": "Transport speed (m/s)",
         "exclusiveMinimum": 0,
         "type": "number"
      },
      "dutyCycle": {
         "title": "Duty Cycle",
         "description": "Fraction of the time the vehicle is moving at the transport speed",
         "default": 1,
         "exclusiveMinimum": 0,
         "maximum": 1,
         "type": "number"
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "edge",
      "vehicle",
      "speed"
   ]
}

field duty_cycle: float = 1 (alias 'dutyCycle')

Fraction of the time the vehicle is moving at the transport speed

Constraints
  • exclusiveMinimum = 0

  • maximum = 1

field edge: UUID [Required]

Edge (by unique identifier) along which this transport traverses

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field speed: float [Required]

Transport speed (m/s)

Constraints
  • exclusiveMinimum = 0

field transport_state: Optional[int] = None (alias 'transportState')

Index of the transport state

Constraints
  • minimum = -1

field type: typing_extensions.Literal[Surface Transport] = EventType.SURFACE_TRANSPORT

Event type

field vehicle: UUID [Required]

Surface vehicle (by unique identifier) to transport

Flight Transport

pydantic model spacenet.schemas.FlightTransport[source]

Event that transports instantiated elements along a flight edge.

Show JSON schema
{
   "title": "FlightTransport",
   "description": "Event that transports instantiated elements along a flight edge.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Flight Transport",
         "enum": [
            "Flight Transport"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "edge": {
         "title": "Edge",
         "description": "Edge (by unique identifier) along which this transport traverses",
         "type": "string",
         "format": "uuid"
      },
      "elements": {
         "title": "List of Elements",
         "description": "List of instantiated elements (by unique identifier) to transport",
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "edge",
      "elements"
   ]
}

field edge: UUID [Required]

Edge (by unique identifier) along which this transport traverses

field elements: List[UUID] [Required]

List of instantiated elements (by unique identifier) to transport

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Flight Transport] = EventType.FLIGHT_TRANSPORT

Event type

Crewed EVA

pydantic model spacenet.schemas.CrewedEVA[source]

Event for a crewed extravehicular activity.

Show JSON schema
{
   "title": "CrewedEVA",
   "description": "Event for a crewed extravehicular activity.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Crewed EVA",
         "enum": [
            "Crewed EVA"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "evaDuration": {
         "title": "EVA Duration",
         "description": "Duration of the extra-vehicular activity",
         "type": "number",
         "format": "time-delta"
      },
      "vehicle": {
         "title": "Crew Vehicle",
         "description": "Unique identifier of the crew habitat from which crew will egress and ingress",
         "type": "string",
         "format": "uuid"
      },
      "elementStates": {
         "title": "Elementstates",
         "description": "List of reconfiguration states for each participating element",
         "type": "array",
         "items": {
            "$ref": "#/definitions/ElementState"
         }
      },
      "additionalDemands": {
         "title": "Additional Demands",
         "description": "List of additional resource amounts to be consumed",
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ResourceAmount"
               },
               {
                  "$ref": "#/definitions/GenericResourceAmount"
               }
            ]
         }
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "evaDuration",
      "vehicle",
      "elementStates",
      "additionalDemands"
   ],
   "definitions": {
      "ElementState": {
         "title": "ElementState",
         "description": "Specification of an element state.",
         "type": "object",
         "properties": {
            "element": {
               "title": "element",
               "description": "Unique identifier of element",
               "type": "string",
               "format": "uuid"
            },
            "stateIndex": {
               "title": "State Index",
               "description": "Index of the referenced state (-1 if none)",
               "minimum": -1,
               "type": "integer"
            }
         },
         "required": [
            "element",
            "stateIndex"
         ]
      },
      "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"
         ]
      },
      "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"
      },
      "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 additional_demands: List[Union[ResourceAmount, GenericResourceAmount]] [Required] (alias 'additionalDemands')

List of additional resource amounts to be consumed

field element_states: List[ElementState] [Required] (alias 'elementStates')

List of reconfiguration states for each participating element

field eva_duration: timedelta [Required] (alias 'evaDuration')

Duration of the extra-vehicular activity

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Crewed EVA] = EventType.CREWED_EVA

Event type

field vehicle: UUID [Required]

Unique identifier of the crew habitat from which crew will egress and ingress

Crewed Exploration

pydantic model spacenet.schemas.CrewedExploration[source]

Event for a crewed exploration period that consists of regularly-scheduled extra-vehicular activities.

Show JSON schema
{
   "title": "CrewedExploration",
   "description": "Event for a crewed exploration period that consists of regularly-scheduled\nextra-vehicular activities.",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "description": "Event name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Event type",
         "default": "Crewed Exploration",
         "enum": [
            "Crewed Exploration"
         ],
         "type": "string"
      },
      "priority": {
         "title": "Priority",
         "description": "Prioritization for coincident events",
         "minimum": 1,
         "maximum": 5,
         "type": "integer"
      },
      "missionTime": {
         "title": "Mission Time",
         "description": "Event time relative to the start of the mission",
         "type": "number",
         "format": "time-delta"
      },
      "location": {
         "title": "Location",
         "description": "Event location unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "evaDuration": {
         "title": "EVA Duration",
         "description": "Duration of the extra-vehicular activity",
         "type": "number",
         "format": "time-delta"
      },
      "duration": {
         "title": "Duration",
         "description": "Duration of the exploration",
         "type": "number",
         "format": "time-delta"
      },
      "vehicle": {
         "title": "Crew Vehicle",
         "description": "Unique identifier of the crew habitat from which crew will egress and ingress",
         "type": "string",
         "format": "uuid"
      },
      "evaPerWeek": {
         "title": "EVAs per week",
         "description": "Number of extra-vehiclular activitys to be performed per week",
         "minimum": 0,
         "type": "integer"
      },
      "elementStates": {
         "title": "Elementstates",
         "description": "List of reconfiguration states for each participating element",
         "type": "array",
         "items": {
            "$ref": "#/definitions/ElementState"
         }
      },
      "additionalDemands": {
         "title": "Additional Demands",
         "description": "List of additional resource amounts to be consumed",
         "default": [],
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      }
   },
   "required": [
      "name",
      "priority",
      "missionTime",
      "location",
      "evaDuration",
      "duration",
      "vehicle",
      "evaPerWeek",
      "elementStates"
   ],
   "definitions": {
      "ElementState": {
         "title": "ElementState",
         "description": "Specification of an element state.",
         "type": "object",
         "properties": {
            "element": {
               "title": "element",
               "description": "Unique identifier of element",
               "type": "string",
               "format": "uuid"
            },
            "stateIndex": {
               "title": "State Index",
               "description": "Index of the referenced state (-1 if none)",
               "minimum": -1,
               "type": "integer"
            }
         },
         "required": [
            "element",
            "stateIndex"
         ]
      }
   }
}

field additional_demands: List[UUID] = [] (alias 'additionalDemands')

List of additional resource amounts to be consumed

field duration: timedelta [Required]

Duration of the exploration

field element_states: List[ElementState] [Required] (alias 'elementStates')

List of reconfiguration states for each participating element

field eva_duration: timedelta [Required] (alias 'evaDuration')

Duration of the extra-vehicular activity

field eva_per_week: int [Required] (alias 'evaPerWeek')

Number of extra-vehiclular activitys to be performed per week

Constraints
  • minimum = 0

field location: UUID [Required]

Event location unique identifier

field mission_time: timedelta [Required] (alias 'missionTime')

Event time relative to the start of the mission

field name: str [Required]

Event name

field priority: int [Required]

Prioritization for coincident events

Constraints
  • minimum = 1

  • maximum = 5

field type: typing_extensions.Literal[Crewed Exploration] = EventType.CREWED_EXPLORATION

Event type

field vehicle: UUID [Required]

Unique identifier of the crew habitat from which crew will egress and ingress