Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions robosystems_client/api/graph_operations/restore_backup.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ def sync_detailed(
) -> Response[ErrorResponse | OperationEnvelope]:
"""Restore Backup

Not allowed on entity graphs (use `materialize` instead) or shared repositories. Destructive: the
Not allowed on entity graphs (use `materialize` instead) or shared repositories. Entity *subgraphs*
are restorable — they are written directly and have no materialization path. Destructive: the
existing database is snapshotted, then overwritten. Monitor progress via SSE at
`/v1/operations/{operation_id}/stream`.

Expand Down Expand Up @@ -153,7 +154,8 @@ def sync(
) -> ErrorResponse | OperationEnvelope | None:
"""Restore Backup

Not allowed on entity graphs (use `materialize` instead) or shared repositories. Destructive: the
Not allowed on entity graphs (use `materialize` instead) or shared repositories. Entity *subgraphs*
are restorable — they are written directly and have no materialization path. Destructive: the
existing database is snapshotted, then overwritten. Monitor progress via SSE at
`/v1/operations/{operation_id}/stream`.

Expand Down Expand Up @@ -190,7 +192,8 @@ async def asyncio_detailed(
) -> Response[ErrorResponse | OperationEnvelope]:
"""Restore Backup

Not allowed on entity graphs (use `materialize` instead) or shared repositories. Destructive: the
Not allowed on entity graphs (use `materialize` instead) or shared repositories. Entity *subgraphs*
are restorable — they are written directly and have no materialization path. Destructive: the
existing database is snapshotted, then overwritten. Monitor progress via SSE at
`/v1/operations/{operation_id}/stream`.

Expand Down Expand Up @@ -230,7 +233,8 @@ async def asyncio(
) -> ErrorResponse | OperationEnvelope | None:
"""Restore Backup

Not allowed on entity graphs (use `materialize` instead) or shared repositories. Destructive: the
Not allowed on entity graphs (use `materialize` instead) or shared repositories. Entity *subgraphs*
are restorable — they are written directly and have no materialization path. Destructive: the
existing database is snapshotted, then overwritten. Monitor progress via SSE at
`/v1/operations/{operation_id}/stream`.

Expand Down
3 changes: 2 additions & 1 deletion robosystems_client/models/backup_list_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ class BackupListResponse:
is_shared_repository (bool | Unset): Whether this is a shared repository (limits apply) Default: False.
restore_supported (bool | Unset): Whether backups on this graph can be restored. False for entity graphs, which
are materialized from the extensions database (use the materialize operation instead), and for shared
repositories, which are platform-managed and download-only. Default: True.
repositories, which are platform-managed and download-only. True for subgraphs of an entity graph: only the
parent is materialized, so a subgraph has no other recovery path. Default: True.
download_quota (DownloadQuota | None | Unset): Download quota for shared repositories
"""

Expand Down
10 changes: 1 addition & 9 deletions robosystems_client/models/storage_summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,16 @@ class StorageSummary:

Attributes:
graph_tier (str): Subscription tier
avg_storage_gb (float): Average storage in GB
avg_storage_gb (float): Time-weighted average storage in GB over the period
max_storage_gb (float): Peak storage in GB
min_storage_gb (float): Minimum storage in GB
total_gb_hours (float): Total GB-hours for billing
measurement_count (int): Number of measurements taken
"""

graph_tier: str
avg_storage_gb: float
max_storage_gb: float
min_storage_gb: float
total_gb_hours: float
measurement_count: int
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)

Expand All @@ -39,8 +37,6 @@ def to_dict(self) -> dict[str, Any]:

min_storage_gb = self.min_storage_gb

total_gb_hours = self.total_gb_hours

measurement_count = self.measurement_count

field_dict: dict[str, Any] = {}
Expand All @@ -51,7 +47,6 @@ def to_dict(self) -> dict[str, Any]:
"avg_storage_gb": avg_storage_gb,
"max_storage_gb": max_storage_gb,
"min_storage_gb": min_storage_gb,
"total_gb_hours": total_gb_hours,
"measurement_count": measurement_count,
}
)
Expand All @@ -69,16 +64,13 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:

min_storage_gb = d.pop("min_storage_gb")

total_gb_hours = d.pop("total_gb_hours")

measurement_count = d.pop("measurement_count")

storage_summary = cls(
graph_tier=graph_tier,
avg_storage_gb=avg_storage_gb,
max_storage_gb=max_storage_gb,
min_storage_gb=min_storage_gb,
total_gb_hours=total_gb_hours,
measurement_count=measurement_count,
)

Expand Down