winterbaume_codebuild/
types.rs1use chrono::{DateTime, Utc};
2
3#[derive(Debug, Clone)]
4pub struct ReportGroup {
5 pub arn: String,
6 pub name: String,
7 pub r#type: String,
8 pub export_config_type: Option<String>,
9 pub tags: Vec<Tag>,
10 pub created: DateTime<Utc>,
11 pub last_modified: DateTime<Utc>,
12 pub status: String,
13}
14
15#[derive(Debug, Clone)]
16pub struct Tag {
17 pub key: String,
18 pub value: String,
19}
20
21#[derive(Debug, Clone)]
22pub struct Webhook {
23 pub project_name: String,
24 pub url: String,
25 pub branch_filter: Option<String>,
26 pub build_type: Option<String>,
27 pub secret: Option<String>,
28}
29
30#[derive(Debug, Clone)]
31pub struct SourceCredential {
32 pub arn: String,
33 pub server_type: String,
34 pub auth_type: String,
35 pub resource: Option<String>,
36}
37
38#[derive(Debug, Clone)]
39pub struct Project {
40 pub name: String,
41 pub arn: String,
42 pub description: String,
43 pub source_type: String,
44 pub source_location: String,
45 pub artifact_type: String,
46 pub artifact_location: Option<String>,
47 pub environment_type: String,
48 pub environment_image: String,
49 pub environment_compute_type: String,
50 pub service_role: String,
51 pub tags: Vec<Tag>,
52 pub created: DateTime<Utc>,
53 pub last_modified: DateTime<Utc>,
54}
55
56#[derive(Debug, Clone)]
57pub struct BuildPhase {
58 pub phase_type: String,
59 pub phase_status: Option<String>,
60 pub start_time: f64,
61 pub end_time: Option<f64>,
62 pub duration_in_seconds: Option<i64>,
63}
64
65#[derive(Debug, Clone)]
66pub struct Build {
67 pub id: String,
68 pub arn: String,
69 pub project_name: String,
70 pub build_status: String,
71 pub current_phase: String,
72 pub source_type: String,
73 pub source_location: String,
74 pub source_version: String,
75 pub artifact_type: String,
76 pub artifact_location: Option<String>,
77 pub environment_type: String,
78 pub environment_image: String,
79 pub environment_compute_type: String,
80 pub service_role: String,
81 pub start_time: DateTime<Utc>,
82 pub end_time: Option<DateTime<Utc>>,
83 pub build_number: i64,
84 pub phases: Vec<BuildPhase>,
85}