windmill_api/models/
import_pg_database_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ImportPgDatabaseRequest {
16 #[serde(rename = "source")]
18 pub source: String,
19 #[serde(rename = "target")]
21 pub target: String,
22 #[serde(rename = "target_dbname_override", skip_serializing_if = "Option::is_none")]
24 pub target_dbname_override: Option<String>,
25 #[serde(rename = "fork_behavior")]
26 pub fork_behavior: ForkBehavior,
27}
28
29impl ImportPgDatabaseRequest {
30 pub fn new(source: String, target: String, fork_behavior: ForkBehavior) -> ImportPgDatabaseRequest {
31 ImportPgDatabaseRequest {
32 source,
33 target,
34 target_dbname_override: None,
35 fork_behavior,
36 }
37 }
38}
39#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
41pub enum ForkBehavior {
42 #[serde(rename = "schema_only")]
43 SchemaOnly,
44 #[serde(rename = "schema_and_data")]
45 SchemaAndData,
46 #[serde(rename = "keep_original")]
47 KeepOriginal,
48}
49
50impl Default for ForkBehavior {
51 fn default() -> ForkBehavior {
52 Self::SchemaOnly
53 }
54}
55