models module

Provides JupiterOne related models for data mapping.

class hutch.security.jupiterone.models.DeferredQuery(*, query: str, status_url: str, include_deleted: bool)[source]

Bases: pydantic.main.BaseModel

Maps a deferred query into native data types.

include_deleted: bool
query: str
status_url: str
class hutch.security.jupiterone.models.DeferredQueryStatus(*, url: str = None, status: str, status_url: str, correlationId: str = None)[source]

Bases: pydantic.main.BaseModel

Maps a deferred query status response into native data types.

correlation_id: str
status: str
status_url: str
url: Optional[str]
class hutch.security.jupiterone.models.QueryResponse(*, count: int = None, query: str, cursor: str = None, results: List[hutch.security.jupiterone.models.QueryResult], include_deleted: bool)[source]

Bases: pydantic.main.BaseModel

Maps a query response into native data types.

count: Optional[int]
cursor: Optional[str]
include_deleted: bool
query: str
classmethod remap_raw_properties(v)[source]

Remaps data returned by ‘RETURNS’ queries into the same properties model.

results: List[hutch.security.jupiterone.models.QueryResult]
class hutch.security.jupiterone.models.QueryResult(*, id: str = None, entity: hutch.security.jupiterone.models.ResultEntities = None, properties: Dict[str, Any])[source]

Bases: pydantic.main.BaseModel

Maps a query result into native data types.

Properties in JupiterOne are not mapped, they’re just put into a dictionary. This is as they may contain dot (.) characters, and are usually in camelCase.

entity: Optional[hutch.security.jupiterone.models.ResultEntities]
id: Optional[str]
properties: Dict[str, Any]
class hutch.security.jupiterone.models.ResultEntities(*, _deleted: bool = None, _createdOn: datetime.datetime = None, _endOn: datetime.datetime = None, **extra_data: Any)[source]

Bases: pydantic.main.BaseModel

Maps result entities into native data types.

created_on: datetime.datetime
deleted: bool
deleted_on: Optional[datetime.datetime]