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