nomad_client/models/
task_group.rs

1/*
2 * Nomad
3 *
4 * Nomad OpenApi specification
5 *
6 * The version of the OpenAPI document: 0.11.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12
13
14#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TaskGroup {
16    #[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
17    pub name: Option<String>,
18    #[serde(rename = "Count", skip_serializing_if = "Option::is_none")]
19    pub count: Option<i32>,
20    #[serde(rename = "Constraints", skip_serializing_if = "Option::is_none")]
21    pub constraints: Option<Vec<crate::models::Constraint>>,
22    #[serde(rename = "Affinities", skip_serializing_if = "Option::is_none")]
23    pub affinities: Option<Vec<crate::models::Affinity>>,
24    #[serde(rename = "Tasks", skip_serializing_if = "Option::is_none")]
25    pub tasks: Option<Vec<crate::models::Task>>,
26    #[serde(rename = "Spreads", skip_serializing_if = "Option::is_none")]
27    pub spreads: Option<Vec<crate::models::Spread>>,
28    #[serde(rename = "Volumes", skip_serializing_if = "Option::is_none")]
29    pub volumes: Option<::std::collections::HashMap<String, crate::models::VolumeRequest>>,
30    #[serde(rename = "RestartPolicy", skip_serializing_if = "Option::is_none")]
31    pub restart_policy: Option<Box<crate::models::RestartPolicy>>,
32    #[serde(rename = "ReschedulePolicy", skip_serializing_if = "Option::is_none")]
33    pub reschedule_policy: Option<Box<crate::models::ReschedulePolicy>>,
34    #[serde(rename = "EphemeralDisk", skip_serializing_if = "Option::is_none")]
35    pub ephemeral_disk: Option<Box<crate::models::EphemeralDisk>>,
36    #[serde(rename = "Update", skip_serializing_if = "Option::is_none")]
37    pub update: Option<Box<crate::models::UpdateStrategy>>,
38    #[serde(rename = "Migrate", skip_serializing_if = "Option::is_none")]
39    pub migrate: Option<Box<crate::models::MigrateStrategy>>,
40    #[serde(rename = "Networks", skip_serializing_if = "Option::is_none")]
41    pub networks: Option<Vec<crate::models::NetworkResource>>,
42    #[serde(rename = "Meta", skip_serializing_if = "Option::is_none")]
43    pub meta: Option<::std::collections::HashMap<String, String>>,
44    #[serde(rename = "Services", skip_serializing_if = "Option::is_none")]
45    pub services: Option<Vec<crate::models::Service>>,
46    #[serde(rename = "ShutdownDelay", skip_serializing_if = "Option::is_none")]
47    pub shutdown_delay: Option<i64>,
48    #[serde(rename = "Scaling", skip_serializing_if = "Option::is_none")]
49    pub scaling: Option<Box<crate::models::ScalingPolicy>>,
50    #[serde(rename = "StopAfterClientDisconnect", skip_serializing_if = "Option::is_none")]
51    pub stop_after_client_disconnect: Option<i64>,
52    #[serde(rename = "MaxClientDisconnect", skip_serializing_if = "Option::is_none")]
53    pub max_client_disconnect: Option<i64>,
54}
55
56impl TaskGroup {
57    pub fn new() -> TaskGroup {
58        TaskGroup {
59            name: None,
60            count: None,
61            constraints: None,
62            affinities: None,
63            tasks: None,
64            spreads: None,
65            volumes: None,
66            restart_policy: None,
67            reschedule_policy: None,
68            ephemeral_disk: None,
69            update: None,
70            migrate: None,
71            networks: None,
72            meta: None,
73            services: None,
74            shutdown_delay: None,
75            scaling: None,
76            stop_after_client_disconnect: None,
77            max_client_disconnect: None,
78        }
79    }
80}
81
82