plexus.dashboard.api.models.procedure module
Procedure Model - Python representation of the GraphQL Procedure type.
Provides methods to manage procedures including: - Creating new procedures - Linking to scorecards and scores - YAML configuration handling
Each procedure belongs to an account and is associated with a scorecard and score.
- class plexus.dashboard.api.models.procedure.Procedure(id: str, featured: bool, accountId: str, createdAt: datetime.datetime, updatedAt: datetime.datetime, name: str | None = None, status: str | None = None, code: str | None = None, state: str | None = None, parentProcedureId: str | None = None, templateId: str | None = None, isTemplate: bool | None = None, scorecardId: str | None = None, scoreId: str | None = None, scoreVersionId: str | None = None, attachedFiles: List[str] | None = None, metadata: Dict[str, Any] | None = None, createdByUserId: str | None = None, client: ForwardRef('_BaseAPIClient') | None = None)
Bases:
BaseModel- __init__(id: str, featured: bool, accountId: str, createdAt: datetime, updatedAt: datetime, name: str | None = None, status: str | None = None, code: str | None = None, state: str | None = None, parentProcedureId: str | None = None, templateId: str | None = None, isTemplate: bool | None = None, scorecardId: str | None = None, scoreId: str | None = None, scoreVersionId: str | None = None, attachedFiles: List[str] | None = None, metadata: Dict[str, Any] | None = None, createdByUserId: str | None = None, client: _BaseAPIClient | None = None)
- accountId: str
- classmethod create(client: _BaseAPIClient, accountId: str, scorecardId: str | None = None, scoreId: str | None = None, featured: bool = False, parentProcedureId: str | None = None, isTemplate: bool = False, code: str | None = None, name: str | None = None, state: str = 'start', scoreVersionId: str | None = None, metadata: Dict[str, Any] | None = None, createdByUserId: str | None = None) Procedure
Create a new procedure.
- Args:
client: The API client accountId: ID of the account this procedure belongs to scorecardId: Optional ID of the scorecard this procedure is associated with scoreId: Optional ID of the score this procedure is associated with featured: Whether this procedure should be featured parentProcedureId: Optional ID of the parent procedure (if this is an instance) isTemplate: Whether this procedure is a template (default: False) code: Optional YAML code for the procedure name: Optional explicit name (overrides name extracted from code) state: Initial state (default: “start”) scoreVersionId: Optional ID of the score version
- Returns:
The created Procedure instance
- createdAt: datetime
- delete() bool
Delete this procedure.
- Returns:
True if deletion was successful
- featured: bool
- classmethod fields() str
Return the GraphQL fields to query for this model
- classmethod from_dict(data: Dict[str, Any], client: _BaseAPIClient) Procedure
Create an instance from a dictionary of data
- classmethod list_by_account(accountId: str, client: _BaseAPIClient, limit: int = 100) List[Procedure]
List procedures for an account, ordered by most recent first.
- Args:
accountId: The account ID to filter by client: The API client instance limit: Maximum number of procedures to return
- Returns:
List of Procedure instances ordered by updatedAt descending
- classmethod list_by_scorecard(scorecardId: str, client: _BaseAPIClient, limit: int = 100) List[Procedure]
List procedures for a scorecard, ordered by most recent first.
- Args:
scorecardId: The scorecard ID to filter by client: The API client instance limit: Maximum number of procedures to return
- Returns:
List of Procedure instances ordered by updatedAt descending
- scoreId: str | None
- scoreVersionId: str | None
- scorecardId: str | None
- state: str | None
- update(featured: bool | None = None, scorecardId: str | None = None, scoreId: str | None = None, code: str | None = None, metadata: str | None = None, status: str | None = None, name: str | None = None) Procedure
Update this procedure.
- Args:
featured: Whether this procedure should be featured scorecardId: New scorecard ID (optional) scoreId: New score ID (optional) code: New procedure YAML/code (optional) metadata: JSON metadata string (optional) — use to store code_s3_key etc. status: New status string e.g. ‘RUNNING’, ‘COMPLETE’, ‘ERROR’ (optional) name: New display name (optional)
- Returns:
Updated Procedure instance
- updatedAt: datetime