github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/event/events.go (about) 1 package event 2 3 import ( 4 "encoding/json" 5 6 "github.com/pf-qiu/concourse/v6/atc" 7 ) 8 9 type Error struct { 10 Message string `json:"message"` 11 Origin Origin `json:"origin"` 12 Time int64 `json:"time"` 13 } 14 15 func (Error) EventType() atc.EventType { return EventTypeError } 16 func (Error) Version() atc.EventVersion { return "4.1" } 17 18 type FinishTask struct { 19 Time int64 `json:"time"` 20 ExitStatus int `json:"exit_status"` 21 Origin Origin `json:"origin"` 22 } 23 24 func (FinishTask) EventType() atc.EventType { return EventTypeFinishTask } 25 func (FinishTask) Version() atc.EventVersion { return "4.0" } 26 27 type InitializeTask struct { 28 Time int64 `json:"time"` 29 Origin Origin `json:"origin"` 30 TaskConfig TaskConfig `json:"config"` 31 } 32 33 func (InitializeTask) EventType() atc.EventType { return EventTypeInitializeTask } 34 func (InitializeTask) Version() atc.EventVersion { return "4.0" } 35 36 // shadow the real atc.TaskConfig 37 type TaskConfig struct { 38 Platform string `json:"platform"` 39 Image string `json:"image"` 40 41 Run TaskRunConfig `json:"run"` 42 Inputs []TaskInputConfig `json:"inputs"` 43 } 44 45 type TaskRunConfig struct { 46 Path string `json:"path"` 47 Args []string `json:"args"` 48 Dir string `json:"dir"` 49 } 50 51 type TaskInputConfig struct { 52 Name string `json:"name"` 53 Path string `json:"path"` 54 } 55 56 func ShadowTaskConfig(config atc.TaskConfig) TaskConfig { 57 var inputConfigs []TaskInputConfig 58 59 for _, input := range config.Inputs { 60 inputConfigs = append(inputConfigs, TaskInputConfig{ 61 Name: input.Name, 62 Path: input.Path, 63 }) 64 } 65 66 return TaskConfig{ 67 Platform: config.Platform, 68 Image: config.RootfsURI, 69 Run: TaskRunConfig{ 70 Path: config.Run.Path, 71 Args: config.Run.Args, 72 Dir: config.Run.Dir, 73 }, 74 Inputs: inputConfigs, 75 } 76 } 77 78 type StartTask struct { 79 Time int64 `json:"time"` 80 Origin Origin `json:"origin"` 81 TaskConfig TaskConfig `json:"config"` 82 } 83 84 func (StartTask) EventType() atc.EventType { return EventTypeStartTask } 85 func (StartTask) Version() atc.EventVersion { return "5.0" } 86 87 type Status struct { 88 Status atc.BuildStatus `json:"status"` 89 Time int64 `json:"time"` 90 } 91 92 func (Status) EventType() atc.EventType { return EventTypeStatus } 93 func (Status) Version() atc.EventVersion { return "1.0" } 94 95 type SelectedWorker struct { 96 Time int64 `json:"time"` 97 Origin Origin `json:"origin"` 98 WorkerName string `json:"selected_worker"` 99 } 100 101 func (SelectedWorker) EventType() atc.EventType { return EventTypeSelectedWorker } 102 func (SelectedWorker) Version() atc.EventVersion { return "1.0" } 103 104 type Log struct { 105 Time int64 `json:"time"` 106 Origin Origin `json:"origin"` 107 Payload string `json:"payload"` 108 } 109 110 func (Log) EventType() atc.EventType { return EventTypeLog } 111 func (Log) Version() atc.EventVersion { return "5.1" } 112 113 type Origin struct { 114 ID OriginID `json:"id,omitempty"` 115 Source OriginSource `json:"source,omitempty"` 116 } 117 118 type OriginID string 119 120 func (id OriginID) String() string { 121 return string(id) 122 } 123 124 type OriginSource string 125 126 const ( 127 OriginSourceStdout OriginSource = "stdout" 128 OriginSourceStderr OriginSource = "stderr" 129 ) 130 131 type InitializeGet struct { 132 Origin Origin `json:"origin"` 133 Time int64 `json:"time,omitempty"` 134 } 135 136 func (InitializeGet) EventType() atc.EventType { return EventTypeInitializeGet } 137 func (InitializeGet) Version() atc.EventVersion { return "2.0" } 138 139 type StartGet struct { 140 Origin Origin `json:"origin"` 141 Time int64 `json:"time,omitempty"` 142 } 143 144 func (StartGet) EventType() atc.EventType { return EventTypeStartGet } 145 func (StartGet) Version() atc.EventVersion { return "1.0" } 146 147 type FinishGet struct { 148 Origin Origin `json:"origin"` 149 Time int64 `json:"time"` 150 ExitStatus int `json:"exit_status"` 151 FetchedVersion atc.Version `json:"version"` 152 FetchedMetadata []atc.MetadataField `json:"metadata,omitempty"` 153 } 154 155 func (FinishGet) EventType() atc.EventType { return EventTypeFinishGet } 156 func (FinishGet) Version() atc.EventVersion { return "5.1" } 157 158 type InitializePut struct { 159 Origin Origin `json:"origin"` 160 Time int64 `json:"time,omitempty"` 161 } 162 163 func (InitializePut) EventType() atc.EventType { return EventTypeInitializePut } 164 func (InitializePut) Version() atc.EventVersion { return "2.0" } 165 166 type StartPut struct { 167 Origin Origin `json:"origin"` 168 Time int64 `json:"time,omitempty"` 169 } 170 171 func (StartPut) EventType() atc.EventType { return EventTypeStartPut } 172 func (StartPut) Version() atc.EventVersion { return "1.0" } 173 174 type FinishPut struct { 175 Origin Origin `json:"origin"` 176 Time int64 `json:"time"` 177 ExitStatus int `json:"exit_status"` 178 CreatedVersion atc.Version `json:"version"` 179 CreatedMetadata []atc.MetadataField `json:"metadata,omitempty"` 180 } 181 182 func (FinishPut) EventType() atc.EventType { return EventTypeFinishPut } 183 func (FinishPut) Version() atc.EventVersion { return "5.1" } 184 185 type SetPipelineChanged struct { 186 Origin Origin `json:"origin"` 187 Changed bool `json:"changed"` 188 } 189 190 func (SetPipelineChanged) EventType() atc.EventType { return EventTypeSetPipelineChanged } 191 func (SetPipelineChanged) Version() atc.EventVersion { return "1.0" } 192 193 type Initialize struct { 194 Origin Origin `json:"origin"` 195 Time int64 `json:"time,omitempty"` 196 } 197 198 func (Initialize) EventType() atc.EventType { return EventTypeInitialize } 199 func (Initialize) Version() atc.EventVersion { return "1.0" } 200 201 type Start struct { 202 Origin Origin `json:"origin"` 203 Time int64 `json:"time,omitempty"` 204 } 205 206 func (Start) EventType() atc.EventType { return EventTypeStart } 207 func (Start) Version() atc.EventVersion { return "1.0" } 208 209 type Finish struct { 210 Origin Origin `json:"origin"` 211 Time int64 `json:"time"` 212 Succeeded bool `json:"succeeded"` 213 } 214 215 func (Finish) EventType() atc.EventType { return EventTypeFinish } 216 func (Finish) Version() atc.EventVersion { return "1.0" } 217 218 type ImageCheck struct { 219 Time int64 `json:"time"` 220 Origin Origin `json:"origin"` 221 PublicPlan *json.RawMessage `json:"plan"` 222 } 223 224 func (ImageCheck) EventType() atc.EventType { return EventTypeImageCheck } 225 func (ImageCheck) Version() atc.EventVersion { return "1.1" } 226 227 type ImageGet struct { 228 Time int64 `json:"time"` 229 Origin Origin `json:"origin"` 230 PublicPlan *json.RawMessage `json:"plan"` 231 } 232 233 func (ImageGet) EventType() atc.EventType { return EventTypeImageGet } 234 func (ImageGet) Version() atc.EventVersion { return "1.1" }