evg_api_rs/models/
task.rs1use chrono::{DateTime, Utc};
2use serde::Deserialize;
3use std::collections::HashMap;
4
5#[derive(Debug, Deserialize, Clone)]
6pub struct EvgTaskArtifact {
7 pub name: String,
8 pub url: String,
9 pub visibility: String,
10 pub ignore_for_fetch: bool,
11}
12
13#[derive(Debug, Deserialize, Clone)]
14pub struct EvgTaskStatusDetails {
15 pub status: String,
16 #[serde(alias = "type")]
17 pub status_type: String,
18 pub desc: String,
19 pub timed_out: bool,
20}
21
22#[derive(Debug, Deserialize, Clone)]
23pub struct EvgTask {
24 pub activated: bool,
25 pub activated_by: String,
26 pub artifacts: Option<Vec<EvgTaskArtifact>>,
27 pub build_id: String,
28 pub build_variant: String,
29 pub create_time: DateTime<Utc>,
30 pub dispatch_time: Option<DateTime<Utc>>,
32 pub display_name: String,
33 pub display_only: bool,
34 pub distro_id: String,
35 pub est_wait_to_start_ms: u32,
36 pub execution: u32,
37 pub execution_tasks: Option<Vec<String>>,
38 pub expected_duration_ms: u64,
39 pub finish_time: Option<DateTime<Utc>>,
40 pub generate_task: bool,
41 pub generated_by: String,
42 pub host_id: String,
43 pub ingest_time: Option<DateTime<Utc>>,
44 pub logs: HashMap<String, String>,
45 pub mainline: Option<bool>,
46 pub order: u64,
47 pub project_id: String,
48 pub priority: u32,
49 pub restarts: Option<u32>,
50 pub revision: String,
51 pub scheduled_time: Option<DateTime<Utc>>,
52 pub start_time: Option<DateTime<Utc>>,
53 pub status: String,
54 pub status_details: EvgTaskStatusDetails,
55 pub task_group: Option<String>,
56 pub task_group_max_hosts: Option<u16>,
57 pub task_id: String,
58 pub time_taken_ms: u64,
59 pub version_id: String,
60}