Skip to main content

windmill_api/models/
contract_warning.rs

1/*
2 * Windmill API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.748.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// ContractWarning : One save-time schema-contract warning: a consumer reference that does not match the referenced asset's latest captured schema. `schema_version`/`captured_at` identify the capture the check ran against (as-of the producer's last run, not its latest save). 
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ContractWarning {
17    #[serde(rename = "kind")]
18    pub kind: Kind,
19    #[serde(rename = "asset_path")]
20    pub asset_path: String,
21    #[serde(rename = "column", skip_serializing_if = "Option::is_none")]
22    pub column: Option<String>,
23    #[serde(rename = "expected_type", skip_serializing_if = "Option::is_none")]
24    pub expected_type: Option<String>,
25    #[serde(rename = "found_type", skip_serializing_if = "Option::is_none")]
26    pub found_type: Option<String>,
27    #[serde(rename = "schema_version", skip_serializing_if = "Option::is_none")]
28    pub schema_version: Option<i64>,
29    #[serde(rename = "captured_at", skip_serializing_if = "Option::is_none")]
30    pub captured_at: Option<String>,
31    #[serde(rename = "message")]
32    pub message: String,
33}
34
35impl ContractWarning {
36    /// One save-time schema-contract warning: a consumer reference that does not match the referenced asset's latest captured schema. `schema_version`/`captured_at` identify the capture the check ran against (as-of the producer's last run, not its latest save). 
37    pub fn new(kind: Kind, asset_path: String, message: String) -> ContractWarning {
38        ContractWarning {
39            kind,
40            asset_path,
41            column: None,
42            expected_type: None,
43            found_type: None,
44            schema_version: None,
45            captured_at: None,
46            message,
47        }
48    }
49}
50/// 
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum Kind {
53    #[serde(rename = "missing_column")]
54    MissingColumn,
55    #[serde(rename = "missing_lineage_source")]
56    MissingLineageSource,
57    #[serde(rename = "missing_relationship_column")]
58    MissingRelationshipColumn,
59    #[serde(rename = "relationship_type_mismatch")]
60    RelationshipTypeMismatch,
61    #[serde(rename = "suppressed")]
62    Suppressed,
63}
64
65impl Default for Kind {
66    fn default() -> Kind {
67        Self::MissingColumn
68    }
69}
70