1use serde::{Deserialize, Serialize};
5#[derive(Deserialize, Serialize)]
7#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8pub struct File {
9 #[prost(string, tag = "1")]
10 pub path: ::prost::alloc::string::String,
11 #[prost(bytes = "vec", tag = "2")]
12 #[serde(with = "serde_bytes")]
13 pub raw: ::prost::alloc::vec::Vec<u8>,
14}
15#[derive(Deserialize, Serialize)]
16#[derive(Clone, PartialEq, ::prost::Message)]
17pub struct Client {
18 #[prost(message, optional, tag = "1")]
19 pub state: ::core::option::Option<ClientState>,
20 #[prost(string, tag = "2")]
21 pub id: ::prost::alloc::string::String,
22 #[prost(string, repeated, tag = "3")]
23 pub products: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
24 #[prost(bool, tag = "6")]
25 pub is_tracer: bool,
26 #[prost(message, optional, tag = "7")]
27 pub client_tracer: ::core::option::Option<ClientTracer>,
28 #[prost(bool, tag = "8")]
29 pub is_agent: bool,
30 #[prost(message, optional, tag = "9")]
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub client_agent: ::core::option::Option<ClientAgent>,
33 #[prost(uint64, tag = "10")]
34 pub last_seen: u64,
35 #[prost(bytes = "vec", tag = "11")]
36 pub capabilities: ::prost::alloc::vec::Vec<u8>,
37}
38#[derive(Deserialize, Serialize)]
39#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
40pub struct ClientTracer {
41 #[prost(string, tag = "1")]
42 pub runtime_id: ::prost::alloc::string::String,
43 #[prost(string, tag = "2")]
44 pub language: ::prost::alloc::string::String,
45 #[prost(string, tag = "3")]
46 pub tracer_version: ::prost::alloc::string::String,
47 #[prost(string, tag = "4")]
48 pub service: ::prost::alloc::string::String,
49 #[prost(string, repeated, tag = "8")]
50 pub extra_services: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
51 #[prost(string, tag = "5")]
52 pub env: ::prost::alloc::string::String,
53 #[prost(string, tag = "6")]
54 pub app_version: ::prost::alloc::string::String,
55 #[prost(string, repeated, tag = "7")]
56 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
57 #[prost(string, repeated, tag = "9")]
58 pub process_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
59 #[prost(string, repeated, tag = "10")]
60 pub container_tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
61}
62#[derive(Deserialize, Serialize)]
63#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
64pub struct ClientAgent {
65 #[prost(string, tag = "1")]
66 pub name: ::prost::alloc::string::String,
67 #[prost(string, tag = "2")]
68 pub version: ::prost::alloc::string::String,
69 #[prost(string, tag = "3")]
70 pub cluster_name: ::prost::alloc::string::String,
71 #[prost(string, tag = "4")]
72 pub cluster_id: ::prost::alloc::string::String,
73 #[prost(string, repeated, tag = "5")]
74 pub cws_workloads: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
75}
76#[derive(Deserialize, Serialize)]
77#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
78pub struct ConfigState {
79 #[prost(string, tag = "1")]
80 pub id: ::prost::alloc::string::String,
81 #[prost(uint64, tag = "2")]
82 pub version: u64,
83 #[prost(string, tag = "3")]
84 pub product: ::prost::alloc::string::String,
85 #[prost(uint64, tag = "4")]
86 pub apply_state: u64,
87 #[prost(string, tag = "5")]
88 pub apply_error: ::prost::alloc::string::String,
89}
90#[derive(Deserialize, Serialize)]
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct ClientState {
93 #[prost(uint64, tag = "1")]
94 pub root_version: u64,
95 #[prost(uint64, tag = "2")]
96 pub targets_version: u64,
97 #[prost(message, repeated, tag = "3")]
98 pub config_states: ::prost::alloc::vec::Vec<ConfigState>,
99 #[prost(bool, tag = "4")]
100 pub has_error: bool,
101 #[prost(string, tag = "5")]
102 pub error: ::prost::alloc::string::String,
103 #[prost(bytes = "vec", tag = "6")]
104 pub backend_client_state: ::prost::alloc::vec::Vec<u8>,
105}
106#[derive(Deserialize, Serialize)]
107#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
108pub struct TargetFileHash {
109 #[prost(string, tag = "1")]
110 pub algorithm: ::prost::alloc::string::String,
111 #[prost(string, tag = "3")]
112 pub hash: ::prost::alloc::string::String,
113}
114#[derive(Deserialize, Serialize)]
115#[derive(Clone, PartialEq, ::prost::Message)]
116pub struct TargetFileMeta {
117 #[prost(string, tag = "1")]
118 pub path: ::prost::alloc::string::String,
119 #[prost(int64, tag = "2")]
120 pub length: i64,
121 #[prost(message, repeated, tag = "3")]
122 pub hashes: ::prost::alloc::vec::Vec<TargetFileHash>,
123}
124#[derive(Deserialize, Serialize)]
125#[derive(Clone, PartialEq, ::prost::Message)]
126pub struct ClientGetConfigsRequest {
127 #[prost(message, optional, tag = "1")]
128 pub client: ::core::option::Option<Client>,
129 #[prost(message, repeated, tag = "2")]
130 pub cached_target_files: ::prost::alloc::vec::Vec<TargetFileMeta>,
131}
132#[derive(Deserialize, Serialize)]
133#[derive(Clone, PartialEq, ::prost::Message)]
134pub struct ClientGetConfigsResponse {
135 #[prost(bytes = "vec", repeated, tag = "1")]
136 #[serde(with = "crate::serde")]
137 #[serde(default)]
138 pub roots: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
139 #[prost(bytes = "vec", tag = "2")]
140 #[serde(with = "serde_bytes")]
141 #[serde(default)]
142 pub targets: ::prost::alloc::vec::Vec<u8>,
143 #[prost(message, repeated, tag = "3")]
144 #[serde(default)]
145 pub target_files: ::prost::alloc::vec::Vec<File>,
146 #[prost(string, repeated, tag = "4")]
147 #[serde(default)]
148 pub client_configs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
149}