roboto.domain.dashboards.operations#
Module Contents#
- class roboto.domain.dashboards.operations.CreateDashboardRequest(/, **data)#
Bases:
pydantic.BaseModelRequest body for
POST /v1/metrics/dashboards/create.- Parameters:
data (Any)
- accessibility: roboto.domain.dashboards.record.DashboardAccessibility#
Whether the dashboard is org-wide or personal. The server derives
owner_principal_idfrom this — the org principal fororganization, the creator’s user principal foruser— and ownership is the stored source of truth; this field is not persisted separately.
- dashboard_definition: dict[str, Any]#
The dashboard definition as a JSON object. Stored verbatim and never interpreted by the platform; it carries its own schema version for the clients that read it.
- name: str = None#
The name of the dashboard.
- class roboto.domain.dashboards.operations.UpdateDashboardRequest(/, **data)#
Bases:
pydantic.BaseModelRequest body for
PUT /v1/metrics/dashboards/id/<dashboard_id>.- Parameters:
data (Any)
- accessibility: roboto.domain.dashboards.record.DashboardAccessibility | roboto.sentinels.NotSetType#
Whether the dashboard should become org-wide or personal. The server re-derives
owner_principal_idfrom this — to the org principal fororganization, back to the creator’s user principal foruser; ownership is the stored source of truth.
- base_revision: int | roboto.sentinels.NotSetType = None#
The revision you loaded — not the revision you want.
Required when
dashboard_definitionis present, and rejected otherwise. The server compares it against the stored revision and rejects the write if the definition has been replaced in the meantime, so a save built on a stale copy cannot silently erase someone else’s edit. A rename or accessibility change carries no base revision: neither touches the definition, so neither can clobber it.
- dashboard_definition: dict[str, Any] | roboto.sentinels.NotSetType#
The dashboard definition as a JSON object. Replaces the stored definition wholesale; it carries its own schema version, so no separate version field accompanies it.
- model_config#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str | roboto.sentinels.NotSetType = None#
The name of the dashboard.
- validate_base_revision_with_definition()#
Require a base revision for definition writes, and only for definition writes.
The presence checks use
NotSetTyperather than truthiness:base_revision=0is the commonest real value — a dashboard whose definition has never been rewritten — and a falsy test would reject exactly that.- Return type: