1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
* Hanzo Cloud API
*
* The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RiskDataset {
/// At is when this version last changed state, RFC 3339 UTC.
#[serde(rename = "at", skip_serializing_if = "Option::is_none")]
pub at: Option<String>,
/// By is who moved it there: the validated user, or the org itself when the caller is a machine with no user behind it.
#[serde(rename = "by", skip_serializing_if = "Option::is_none")]
pub by: Option<String>,
/// Counts is how the rows fall across the splits.
#[serde(rename = "counts", skip_serializing_if = "Option::is_none")]
pub counts: Option<Box<models::RiskSplitCounts>>,
/// Digest fingerprints the SPEC and the ROWS together. Two materialisations of one spec agree on it or the plane says they do not.
#[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
pub digest: Option<String>,
/// Name identifies the dataset across all of its versions.
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/// Oversize is how many of the window's subjects this version could NOT carry because their subject identity exceeds the plane's per-subject byte bound. It is on the wire, not only in a log, because it is the one degradation a caller cannot otherwise detect: the rows that are here look complete, and a dataset silently missing a population is a model silently blind to it. Non-zero does not make a version invalid — it makes it a version whose coverage is STATED. Zero is the normal case and omits.
#[serde(rename = "oversize", skip_serializing_if = "Option::is_none")]
pub oversize: Option<i32>,
/// Refusal names why there are no bytes, when there are none.
#[serde(rename = "refusal", skip_serializing_if = "Option::is_none")]
pub refusal: Option<String>,
/// Running is true while THIS process is materialising the version. A version that is `materializing` and not running was started by a process that is gone — two states the register cannot tell apart, because a register cannot know which processes are alive.
#[serde(rename = "running", skip_serializing_if = "Option::is_none")]
pub running: Option<bool>,
/// Share is the fraction of the window's subjects admitted, in thousandths. 1000 means the whole window fitted under the cap; anything less means the version is a reproducible sample and says by how much.
#[serde(rename = "share", skip_serializing_if = "Option::is_none")]
pub share: Option<i32>,
/// Spec is the bound query this version was built from, exactly as recorded.
#[serde(rename = "spec", skip_serializing_if = "Option::is_none")]
pub spec: Option<Box<models::RiskDatasetSpec>>,
/// Status is declared, materializing, ready or refused. Only `ready` has bytes, and `ready` is terminal: a published version is never rewritten.
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
/// Truncated is true when the row cap bound before the window ran out. The trailing subject is dropped whole when that happens, because half a subject on one side of a split is exactly the leak the grouping prevents.
#[serde(rename = "truncated", skip_serializing_if = "Option::is_none")]
pub truncated: Option<bool>,
/// Version is which version this is, from 1 and monotone within the dataset. A number is never reused — not even after a disposal, where the next declare continues the count — so \"signups v3\" means one thing forever, which is what makes a model's citation of it checkable.
#[serde(rename = "version", skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
}
impl RiskDataset {
pub fn new() -> RiskDataset {
RiskDataset {
at: None,
by: None,
counts: None,
digest: None,
name: None,
oversize: None,
refusal: None,
running: None,
share: None,
spec: None,
status: None,
truncated: None,
version: None,
}
}
}