#[non_exhaustive]pub struct ReportArgs {
pub bytes_uploaded: Option<i64>,
pub error: Option<String>,
pub outcome: RunOutcome,
pub purpose: BackupPurpose,
pub run_id: Uuid,
pub s3_received_payload_bytes: Option<i64>,
pub s3_received_raw_bytes: Option<i64>,
pub s3_sent_payload_bytes: Option<i64>,
pub s3_sent_raw_bytes: Option<i64>,
pub snapshot_id: Option<String>,
pub snapshot_taken_at: Option<Timestamp>,
pub type_: String,
}Expand description
Report of a completed backup or restore run.
JSON schema
{
"description": "Report of a completed backup or restore run.",
"type": "object",
"required": [
"outcome",
"purpose",
"run_id",
"type"
],
"properties": {
"bytes_uploaded": {
"description": "Total bytes of backup data uploaded during the run, if known.",
"type": [
"integer",
"null"
],
"format": "int64"
},
"error": {
"description": "Human-readable error detail, when the run failed.",
"type": [
"string",
"null"
]
},
"outcome": {
"description": "Whether the run succeeded (`success`) or failed (`failure`).",
"$ref": "#/components/schemas/RunOutcome"
},
"purpose": {
"description": "Whether the run was a `backup` or a `restore`.",
"$ref": "#/components/schemas/BackupPurpose"
},
"run_id": {
"description": "Client-generated UUID identifying this run, minted at run start. Each\nrun must use a fresh UUID: reporting the same `run_id` twice is\nrejected with 409.",
"type": "string",
"format": "uuid"
},
"s3_received_payload_bytes": {
"description": "Bytes of decoded object payload received from S3 during the run.",
"type": [
"integer",
"null"
],
"format": "int64"
},
"s3_received_raw_bytes": {
"description": "Bytes of raw HTTP traffic received from S3 during the run, including\nprotocol overhead.",
"type": [
"integer",
"null"
],
"format": "int64"
},
"s3_sent_payload_bytes": {
"description": "Bytes of decoded object payload sent to S3 during the run (excluding\nprotocol and signing overhead).",
"type": [
"integer",
"null"
],
"format": "int64"
},
"s3_sent_raw_bytes": {
"description": "Bytes of raw HTTP traffic sent to S3 during the run, including protocol\nand signing overhead. Report on both success and failure; omit when\ntraffic was not measured.",
"type": [
"integer",
"null"
],
"format": "int64"
},
"snapshot_id": {
"description": "Identifier of the repository snapshot the run produced, for a\nsuccessful backup.",
"type": [
"string",
"null"
]
},
"snapshot_taken_at": {
"description": "When this run froze the data it backed up — the point in time the backup\nrepresents, as opposed to when its upload finished. Often a filesystem-level\nsnapshot taken before the transfer, in which case it is not recoverable\nfrom the repository and only the device can report it. Recorded once per\nrun: if progress reports already carried it, that value stands.",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/CanopyTimestamp"
}
]
},
"type": {
"description": "The backup type that ran (e.g. `tamanu-postgres`).",
"type": "string"
}
}
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.bytes_uploaded: Option<i64>Total bytes of backup data uploaded during the run, if known.
error: Option<String>Human-readable error detail, when the run failed.
outcome: RunOutcomeWhether the run succeeded (success) or failed (failure).
purpose: BackupPurposeWhether the run was a backup or a restore.
run_id: UuidClient-generated UUID identifying this run, minted at run start. Each
run must use a fresh UUID: reporting the same run_id twice is
rejected with 409.
s3_received_payload_bytes: Option<i64>Bytes of decoded object payload received from S3 during the run.
s3_received_raw_bytes: Option<i64>Bytes of raw HTTP traffic received from S3 during the run, including protocol overhead.
s3_sent_payload_bytes: Option<i64>Bytes of decoded object payload sent to S3 during the run (excluding protocol and signing overhead).
s3_sent_raw_bytes: Option<i64>Bytes of raw HTTP traffic sent to S3 during the run, including protocol and signing overhead. Report on both success and failure; omit when traffic was not measured.
snapshot_id: Option<String>Identifier of the repository snapshot the run produced, for a successful backup.
snapshot_taken_at: Option<Timestamp>When this run froze the data it backed up — the point in time the backup represents, as opposed to when its upload finished. Often a filesystem-level snapshot taken before the transfer, in which case it is not recoverable from the repository and only the device can report it. Recorded once per run: if progress reports already carried it, that value stands.
type_: StringThe backup type that ran (e.g. tamanu-postgres).
Implementations§
Source§impl ReportArgs
impl ReportArgs
Sourcepub fn builder() -> ReportArgsBuilder
pub fn builder() -> ReportArgsBuilder
Create an instance of ReportArgs using the builder syntax
Trait Implementations§
Source§impl Clone for ReportArgs
impl Clone for ReportArgs
Source§fn clone(&self) -> ReportArgs
fn clone(&self) -> ReportArgs
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more