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
77
78
79
80
81
82
83
/*
 * ORY Hydra
 *
 * Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.
 *
 * The version of the OpenAPI document: v1.10.3
 * 
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PluginConfig {
    #[serde(rename = "Args")]
    pub args: Box<crate::models::PluginConfigArgs>,
    /// description
    #[serde(rename = "Description")]
    pub description: String,
    /// Docker Version used to create the plugin
    #[serde(rename = "DockerVersion", skip_serializing_if = "Option::is_none")]
    pub docker_version: Option<String>,
    /// documentation
    #[serde(rename = "Documentation")]
    pub documentation: String,
    /// entrypoint
    #[serde(rename = "Entrypoint")]
    pub entrypoint: Vec<String>,
    /// env
    #[serde(rename = "Env")]
    pub env: Vec<crate::models::PluginEnv>,
    #[serde(rename = "Interface")]
    pub interface: Box<crate::models::PluginConfigInterface>,
    /// ipc host
    #[serde(rename = "IpcHost")]
    pub ipc_host: bool,
    #[serde(rename = "Linux")]
    pub linux: Box<crate::models::PluginConfigLinux>,
    /// mounts
    #[serde(rename = "Mounts")]
    pub mounts: Vec<crate::models::PluginMount>,
    #[serde(rename = "Network")]
    pub network: Box<crate::models::PluginConfigNetwork>,
    /// pid host
    #[serde(rename = "PidHost")]
    pub pid_host: bool,
    /// propagated mount
    #[serde(rename = "PropagatedMount")]
    pub propagated_mount: String,
    #[serde(rename = "User", skip_serializing_if = "Option::is_none")]
    pub user: Option<Box<crate::models::PluginConfigUser>>,
    /// work dir
    #[serde(rename = "WorkDir")]
    pub work_dir: String,
    #[serde(rename = "rootfs", skip_serializing_if = "Option::is_none")]
    pub rootfs: Option<Box<crate::models::PluginConfigRootfs>>,
}

impl PluginConfig {
    pub fn new(args: crate::models::PluginConfigArgs, description: String, documentation: String, entrypoint: Vec<String>, env: Vec<crate::models::PluginEnv>, interface: crate::models::PluginConfigInterface, ipc_host: bool, linux: crate::models::PluginConfigLinux, mounts: Vec<crate::models::PluginMount>, network: crate::models::PluginConfigNetwork, pid_host: bool, propagated_mount: String, work_dir: String) -> PluginConfig {
        PluginConfig {
            args: Box::new(args),
            description,
            docker_version: None,
            documentation,
            entrypoint,
            env,
            interface: Box::new(interface),
            ipc_host,
            linux: Box::new(linux),
            mounts,
            network: Box::new(network),
            pid_host,
            propagated_mount,
            user: None,
            work_dir,
            rootfs: None,
        }
    }
}