1#[derive(serde::Serialize, serde::Deserialize)]
3#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4pub struct JobId {
5 #[prost(string, tag = "1")]
6 pub id: ::prost::alloc::string::String,
7}
8#[derive(serde::Serialize, serde::Deserialize)]
9#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10pub struct VendorId {
11 #[prost(string, tag = "1")]
12 pub vendor: ::prost::alloc::string::String,
13}
14#[derive(serde::Serialize, serde::Deserialize)]
15#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
16pub struct VendorProfile {
17 #[prost(string, tag = "1")]
18 pub vendor: ::prost::alloc::string::String,
19 #[prost(string, optional, tag = "2")]
21 pub profile: ::core::option::Option<::prost::alloc::string::String>,
22}
23#[derive(serde::Serialize, serde::Deserialize)]
24#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
25pub struct AccountKeys {
26 #[prost(string, tag = "1")]
27 pub vendor: ::prost::alloc::string::String,
28 #[prost(string, optional, tag = "2")]
29 pub profile: ::core::option::Option<::prost::alloc::string::String>,
30 #[prost(string, tag = "3")]
31 pub key_id: ::prost::alloc::string::String,
32 #[prost(string, tag = "4")]
33 pub secret: ::prost::alloc::string::String,
34}
35#[derive(serde::Serialize, serde::Deserialize)]
36#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
37pub struct SignIn {
38 #[prost(string, tag = "1")]
42 pub url: ::prost::alloc::string::String,
43}
44#[derive(serde::Serialize, serde::Deserialize)]
47#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
48pub struct ScriptPath {
49 #[prost(string, tag = "1")]
50 pub path: ::prost::alloc::string::String,
51}
52#[derive(serde::Serialize, serde::Deserialize)]
54#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
55pub struct RunId {
56 #[prost(uint32, tag = "1")]
57 pub run: u32,
58}
59#[derive(serde::Serialize, serde::Deserialize)]
61#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
62pub struct ScriptSchedule {
63 #[prost(string, tag = "1")]
65 pub script: ::prost::alloc::string::String,
66 #[prost(uint64, tag = "2")]
69 pub every_secs: u64,
70 #[prost(string, optional, tag = "3")]
73 pub cron: ::core::option::Option<::prost::alloc::string::String>,
74 #[prost(bool, tag = "4")]
75 pub enabled: bool,
76}
77#[derive(serde::Serialize, serde::Deserialize)]
78#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
79pub struct JobView {
80 #[prost(string, tag = "1")]
81 pub id: ::prost::alloc::string::String,
82 #[prost(string, tag = "2")]
83 pub label: ::prost::alloc::string::String,
84 #[prost(string, optional, tag = "3")]
87 pub script: ::core::option::Option<::prost::alloc::string::String>,
88 #[prost(string, optional, tag = "4")]
91 pub cron: ::core::option::Option<::prost::alloc::string::String>,
92 #[prost(uint64, tag = "5")]
93 pub every_secs: u64,
94 #[prost(bool, tag = "6")]
95 pub running: bool,
96 #[prost(uint32, tag = "7")]
97 pub runs: u32,
98 #[prost(string, optional, tag = "8")]
99 pub last_started: ::core::option::Option<::prost::alloc::string::String>,
100 #[prost(string, optional, tag = "9")]
101 pub last_finished: ::core::option::Option<::prost::alloc::string::String>,
102 #[prost(string, optional, tag = "10")]
104 pub last_result: ::core::option::Option<::prost::alloc::string::String>,
105 #[prost(string, optional, tag = "11")]
107 pub last_error: ::core::option::Option<::prost::alloc::string::String>,
108 #[prost(string, optional, tag = "12")]
109 pub next_run: ::core::option::Option<::prost::alloc::string::String>,
110}
111#[derive(serde::Serialize, serde::Deserialize)]
112#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
113pub struct PluginStatusView {
114 #[prost(oneof = "plugin_status_view::Of", tags = "1, 2")]
115 pub of: ::core::option::Option<plugin_status_view::Of>,
116}
117pub mod plugin_status_view {
119 #[derive(serde::Serialize, serde::Deserialize)]
120 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
121 pub enum Of {
122 #[prost(message, tag = "1")]
123 Reachable(super::PluginStatusViewReachable),
124 #[prost(message, tag = "2")]
125 Unreachable(super::PluginStatusViewUnreachable),
126 }
127}
128#[derive(serde::Serialize, serde::Deserialize)]
129#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
130pub struct PluginStatusViewReachable {
131 #[prost(string, tag = "1")]
132 pub name: ::prost::alloc::string::String,
133 #[prost(string, tag = "2")]
134 pub version: ::prost::alloc::string::String,
135 #[prost(string, repeated, tag = "3")]
136 pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
137}
138#[derive(serde::Serialize, serde::Deserialize)]
139#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
140pub struct PluginStatusViewUnreachable {
141 #[prost(string, tag = "1")]
142 pub reason: ::prost::alloc::string::String,
143}
144#[derive(serde::Serialize, serde::Deserialize)]
145#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
146pub struct PluginView {
147 #[prost(string, tag = "1")]
148 pub id: ::prost::alloc::string::String,
149 #[prost(string, tag = "2")]
150 pub address: ::prost::alloc::string::String,
151 #[prost(message, optional, tag = "3")]
152 pub status: ::core::option::Option<PluginStatusView>,
153}
154#[derive(serde::Serialize, serde::Deserialize)]
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct SignalView {
163 #[prost(string, tag = "1")]
164 pub name: ::prost::alloc::string::String,
165 #[prost(string, tag = "2")]
166 pub description: ::prost::alloc::string::String,
167 #[prost(bool, tag = "3")]
170 pub causal: bool,
171 #[prost(string, tag = "4")]
173 pub because: ::prost::alloc::string::String,
174 #[prost(string, tag = "5")]
176 pub engine: ::prost::alloc::string::String,
177 #[prost(string, tag = "6")]
179 pub at: ::prost::alloc::string::String,
180 #[prost(double, optional, tag = "7")]
183 pub value: ::core::option::Option<f64>,
184}
185#[derive(serde::Serialize, serde::Deserialize)]
192#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
193pub struct StrategyContributionView {
194 #[prost(string, tag = "1")]
196 pub id: ::prost::alloc::string::String,
197 #[prost(string, tag = "2")]
198 pub label: ::prost::alloc::string::String,
199 #[prost(string, tag = "3")]
200 pub premise: ::prost::alloc::string::String,
201 #[prost(string, tag = "4")]
203 pub kind: ::prost::alloc::string::String,
204 #[prost(string, tag = "5")]
205 pub interval: ::prost::alloc::string::String,
206 #[prost(uint32, tag = "6")]
208 pub configurations: u32,
209 #[prost(string, optional, tag = "7")]
211 pub problem: ::core::option::Option<::prost::alloc::string::String>,
212}
213#[derive(serde::Serialize, serde::Deserialize)]
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct JobsView {
222 #[prost(message, repeated, tag = "1")]
223 pub jobs: ::prost::alloc::vec::Vec<JobView>,
224}
225#[derive(serde::Serialize, serde::Deserialize)]
227#[derive(Clone, PartialEq, ::prost::Message)]
228pub struct PluginsView {
229 #[prost(message, repeated, tag = "1")]
230 pub plugins: ::prost::alloc::vec::Vec<PluginView>,
231}
232#[derive(serde::Serialize, serde::Deserialize)]
234#[derive(Clone, PartialEq, ::prost::Message)]
235pub struct SignalsView {
236 #[prost(message, repeated, tag = "1")]
237 pub signals: ::prost::alloc::vec::Vec<SignalView>,
238}
239#[derive(serde::Serialize, serde::Deserialize)]
243#[derive(Clone, PartialEq, ::prost::Message)]
244pub struct StrategyContributionsView {
245 #[prost(message, repeated, tag = "1")]
246 pub contributions: ::prost::alloc::vec::Vec<StrategyContributionView>,
247}
248#[derive(serde::Serialize, serde::Deserialize)]
250#[derive(Clone, PartialEq, ::prost::Message)]
251pub struct ExtensionStrategiesView {
252 #[prost(map = "string, message", tag = "1")]
253 pub by_extension: ::std::collections::HashMap<
254 ::prost::alloc::string::String,
255 StrategyContributionsView,
256 >,
257}
258#[derive(serde::Serialize, serde::Deserialize)]
261#[derive(Clone, PartialEq, ::prost::Message)]
262pub struct AccountView {
263 #[prost(string, tag = "1")]
265 pub id: ::prost::alloc::string::String,
266 #[prost(string, tag = "2")]
267 pub label: ::prost::alloc::string::String,
268 #[prost(string, tag = "3")]
270 pub credential: ::prost::alloc::string::String,
271 #[prost(bool, tag = "4")]
274 pub connected: bool,
275 #[prost(string, repeated, tag = "5")]
277 pub provides: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
278 #[prost(string, repeated, tag = "6")]
280 pub sources: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
281 #[prost(message, repeated, tag = "7")]
285 pub subaccounts: ::prost::alloc::vec::Vec<SubAccountView>,
286}
287#[derive(serde::Serialize, serde::Deserialize)]
290#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
291pub struct SubAccountView {
292 #[prost(string, tag = "1")]
294 pub id: ::prost::alloc::string::String,
295 #[prost(string, tag = "2")]
296 pub label: ::prost::alloc::string::String,
297 #[prost(bool, tag = "3")]
298 pub connected: bool,
299 #[prost(bool, tag = "4")]
301 pub live: bool,
302}
303#[derive(serde::Serialize, serde::Deserialize)]
305#[derive(Clone, PartialEq, ::prost::Message)]
306pub struct AccountsView {
307 #[prost(message, repeated, tag = "1")]
308 pub accounts: ::prost::alloc::vec::Vec<AccountView>,
309}
310#[derive(serde::Serialize, serde::Deserialize)]
324#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
325pub struct EventView {
326 #[prost(message, optional, tag = "1")]
327 pub kind: ::core::option::Option<EventKindView>,
328 #[prost(string, tag = "2")]
329 pub title: ::prost::alloc::string::String,
330 #[prost(string, tag = "3")]
331 pub detail: ::prost::alloc::string::String,
332 #[prost(enumeration = "SeverityView", tag = "4")]
333 pub severity: i32,
334}
335#[derive(serde::Serialize, serde::Deserialize)]
337#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
338pub struct EventKindView {
339 #[prost(oneof = "event_kind_view::Of", tags = "1, 2, 3, 4, 5, 6")]
340 pub of: ::core::option::Option<event_kind_view::Of>,
341}
342pub mod event_kind_view {
344 #[derive(serde::Serialize, serde::Deserialize)]
345 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
346 pub enum Of {
347 #[prost(message, tag = "1")]
348 Plugin(super::PluginEvent),
349 #[prost(message, tag = "2")]
350 Feed(super::FeedEvent),
351 #[prost(message, tag = "3")]
352 Stream(super::StreamEvent),
353 #[prost(message, tag = "4")]
354 Findings(super::FindingsEvent),
355 #[prost(message, tag = "5")]
356 Session(super::SessionEvent),
357 #[prost(message, tag = "6")]
358 Library(super::LibraryEvent),
359 }
360}
361#[derive(serde::Serialize, serde::Deserialize)]
365#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
366pub struct LibraryEvent {
367 #[prost(string, tag = "1")]
368 pub instrument: ::prost::alloc::string::String,
369 #[prost(string, tag = "2")]
370 pub fingerprint: ::prost::alloc::string::String,
371}
372#[derive(serde::Serialize, serde::Deserialize)]
373#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
374pub struct PluginEvent {
375 #[prost(string, tag = "1")]
376 pub id: ::prost::alloc::string::String,
377 #[prost(bool, tag = "2")]
378 pub reachable: bool,
379}
380#[derive(serde::Serialize, serde::Deserialize)]
385#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
386pub struct FeedEvent {
387 #[prost(string, tag = "1")]
388 pub id: ::prost::alloc::string::String,
389 #[prost(bool, tag = "2")]
390 pub connected: bool,
391}
392#[derive(serde::Serialize, serde::Deserialize)]
402#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
403pub struct StreamEvent {
404 #[prost(bool, tag = "1")]
405 pub live: bool,
406}
407#[derive(serde::Serialize, serde::Deserialize)]
410#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
411pub struct FindingsEvent {
412 #[prost(uint32, tag = "1")]
413 pub count: u32,
414}
415#[derive(serde::Serialize, serde::Deserialize)]
418#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
419pub struct SessionEvent {
420 #[prost(string, tag = "1")]
421 pub id: ::prost::alloc::string::String,
422 #[prost(string, tag = "2")]
423 pub state: ::prost::alloc::string::String,
424}
425#[derive(serde::Serialize, serde::Deserialize)]
431#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
432pub struct ScriptJobView {
433 #[prost(string, tag = "1")]
436 pub script: ::prost::alloc::string::String,
437 #[prost(uint64, tag = "2")]
440 pub every_secs: u64,
441 #[prost(string, optional, tag = "3")]
444 pub cron: ::core::option::Option<::prost::alloc::string::String>,
445 #[prost(bool, tag = "4")]
446 pub enabled: bool,
447}
448#[derive(serde::Serialize, serde::Deserialize)]
450#[derive(Clone, PartialEq, ::prost::Message)]
451pub struct ScriptJobsView {
452 #[prost(message, repeated, tag = "1")]
453 pub jobs: ::prost::alloc::vec::Vec<ScriptJobView>,
454}
455#[derive(serde::Serialize, serde::Deserialize)]
457#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
458pub struct ScriptOutputView {
459 #[prost(uint32, tag = "1")]
461 pub run: u32,
462 #[prost(string, tag = "2")]
464 pub stream: ::prost::alloc::string::String,
465 #[prost(string, tag = "3")]
467 pub text: ::prost::alloc::string::String,
468}
469#[derive(serde::Serialize, serde::Deserialize)]
475#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
476#[repr(i32)]
477pub enum SeverityView {
478 Unspecified = 0,
479 Info = 1,
480 Warning = 2,
481}
482impl SeverityView {
483 pub fn as_str_name(&self) -> &'static str {
488 match self {
489 Self::Unspecified => "SEVERITY_VIEW_UNSPECIFIED",
490 Self::Info => "SEVERITY_VIEW_INFO",
491 Self::Warning => "SEVERITY_VIEW_WARNING",
492 }
493 }
494 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
496 match value {
497 "SEVERITY_VIEW_UNSPECIFIED" => Some(Self::Unspecified),
498 "SEVERITY_VIEW_INFO" => Some(Self::Info),
499 "SEVERITY_VIEW_WARNING" => Some(Self::Warning),
500 _ => None,
501 }
502 }
503}