Skip to main content

winterbaume_codebuild/
types.rs

1use 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}