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")]
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 }
358}
359#[derive(serde::Serialize, serde::Deserialize)]
360#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
361pub struct PluginEvent {
362 #[prost(string, tag = "1")]
363 pub id: ::prost::alloc::string::String,
364 #[prost(bool, tag = "2")]
365 pub reachable: bool,
366}
367#[derive(serde::Serialize, serde::Deserialize)]
372#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
373pub struct FeedEvent {
374 #[prost(string, tag = "1")]
375 pub id: ::prost::alloc::string::String,
376 #[prost(bool, tag = "2")]
377 pub connected: bool,
378}
379#[derive(serde::Serialize, serde::Deserialize)]
389#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
390pub struct StreamEvent {
391 #[prost(bool, tag = "1")]
392 pub live: bool,
393}
394#[derive(serde::Serialize, serde::Deserialize)]
397#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
398pub struct FindingsEvent {
399 #[prost(uint32, tag = "1")]
400 pub count: u32,
401}
402#[derive(serde::Serialize, serde::Deserialize)]
405#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
406pub struct SessionEvent {
407 #[prost(string, tag = "1")]
408 pub id: ::prost::alloc::string::String,
409 #[prost(string, tag = "2")]
410 pub state: ::prost::alloc::string::String,
411}
412#[derive(serde::Serialize, serde::Deserialize)]
418#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
419pub struct ScriptJobView {
420 #[prost(string, tag = "1")]
423 pub script: ::prost::alloc::string::String,
424 #[prost(uint64, tag = "2")]
427 pub every_secs: u64,
428 #[prost(string, optional, tag = "3")]
431 pub cron: ::core::option::Option<::prost::alloc::string::String>,
432 #[prost(bool, tag = "4")]
433 pub enabled: bool,
434}
435#[derive(serde::Serialize, serde::Deserialize)]
437#[derive(Clone, PartialEq, ::prost::Message)]
438pub struct ScriptJobsView {
439 #[prost(message, repeated, tag = "1")]
440 pub jobs: ::prost::alloc::vec::Vec<ScriptJobView>,
441}
442#[derive(serde::Serialize, serde::Deserialize)]
444#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
445pub struct ScriptOutputView {
446 #[prost(uint32, tag = "1")]
448 pub run: u32,
449 #[prost(string, tag = "2")]
451 pub stream: ::prost::alloc::string::String,
452 #[prost(string, tag = "3")]
454 pub text: ::prost::alloc::string::String,
455}
456#[derive(serde::Serialize, serde::Deserialize)]
462#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
463#[repr(i32)]
464pub enum SeverityView {
465 Unspecified = 0,
466 Info = 1,
467 Warning = 2,
468}
469impl SeverityView {
470 pub fn as_str_name(&self) -> &'static str {
475 match self {
476 Self::Unspecified => "SEVERITY_VIEW_UNSPECIFIED",
477 Self::Info => "SEVERITY_VIEW_INFO",
478 Self::Warning => "SEVERITY_VIEW_WARNING",
479 }
480 }
481 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
483 match value {
484 "SEVERITY_VIEW_UNSPECIFIED" => Some(Self::Unspecified),
485 "SEVERITY_VIEW_INFO" => Some(Self::Info),
486 "SEVERITY_VIEW_WARNING" => Some(Self::Warning),
487 _ => None,
488 }
489 }
490}