temporal-flowrensic-python-sdk 0.6.63__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- temporal_flowrensic/__init__.py +2 -0
- temporal_flowrensic/_calls.py +185 -0
- temporal_flowrensic/_ci.py +56 -0
- temporal_flowrensic/_deploy.py +65 -0
- temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.py +76 -0
- temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.pyi +301 -0
- temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.py +60 -0
- temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.pyi +127 -0
- temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.py +42 -0
- temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.pyi +71 -0
- temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.py +49 -0
- temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.pyi +90 -0
- temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.py +52 -0
- temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.pyi +107 -0
- temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.py +51 -0
- temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.pyi +92 -0
- temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.py +107 -0
- temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.pyi +344 -0
- temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.py +76 -0
- temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.pyi +371 -0
- temporal_flowrensic/_gen/flowrensic/v1/job_pb2.py +46 -0
- temporal_flowrensic/_gen/flowrensic/v1/job_pb2.pyi +51 -0
- temporal_flowrensic/_gen/flowrensic/v1/load_pb2.py +51 -0
- temporal_flowrensic/_gen/flowrensic/v1/load_pb2.pyi +118 -0
- temporal_flowrensic/_gen/flowrensic/v1/page_pb2.py +38 -0
- temporal_flowrensic/_gen/flowrensic/v1/page_pb2.pyi +23 -0
- temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.py +60 -0
- temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.pyi +157 -0
- temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.py +84 -0
- temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.pyi +309 -0
- temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.py +48 -0
- temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.pyi +97 -0
- temporal_flowrensic/_gen/flowrensic/v1/services_connect.py +3621 -0
- temporal_flowrensic/_gen/flowrensic/v1/services_pb2.py +60 -0
- temporal_flowrensic/_gen/flowrensic/v1/services_pb2.pyi +20 -0
- temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.py +43 -0
- temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.pyi +50 -0
- temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.py +47 -0
- temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.pyi +102 -0
- temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.py +55 -0
- temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.pyi +197 -0
- temporal_flowrensic/_names.py +42 -0
- temporal_flowrensic/_queries.py +61 -0
- temporal_flowrensic/_replay.py +378 -0
- temporal_flowrensic/_sink.py +574 -0
- temporal_flowrensic/_telemetry.py +559 -0
- temporal_flowrensic/activity.py +136 -0
- temporal_flowrensic/client.py +166 -0
- temporal_flowrensic/py.typed +0 -0
- temporal_flowrensic/workflow.py +103 -0
- temporal_flowrensic_python_sdk-0.6.63.dist-info/METADATA +74 -0
- temporal_flowrensic_python_sdk-0.6.63.dist-info/RECORD +54 -0
- temporal_flowrensic_python_sdk-0.6.63.dist-info/WHEEL +4 -0
- temporal_flowrensic_python_sdk-0.6.63.dist-info/licenses/LICENSE +202 -0
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from temporal_flowrensic._gen.flowrensic.v1 import page_pb2 as _page_pb2
|
|
4
|
+
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|
|
5
|
+
from google.protobuf.internal import containers as _containers
|
|
6
|
+
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import message as _message
|
|
9
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
10
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
11
|
+
|
|
12
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
13
|
+
|
|
14
|
+
class FindingClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
15
|
+
__slots__ = ()
|
|
16
|
+
FINDING_CLASS_UNSPECIFIED: _ClassVar[FindingClass]
|
|
17
|
+
FINDING_CLASS_WEDGED: _ClassVar[FindingClass]
|
|
18
|
+
FINDING_CLASS_DANGLING_HANDLER: _ClassVar[FindingClass]
|
|
19
|
+
FINDING_CLASS_STUCK_LOOP: _ClassVar[FindingClass]
|
|
20
|
+
FINDING_CLASS_HISTORY_BLOAT: _ClassVar[FindingClass]
|
|
21
|
+
FINDING_CLASS_ORPHANED_ACTIVITY: _ClassVar[FindingClass]
|
|
22
|
+
FINDING_CLASS_INITIALIZATION_RACE: _ClassVar[FindingClass]
|
|
23
|
+
FINDING_CLASS_INVALID_STATE_COMBINATION: _ClassVar[FindingClass]
|
|
24
|
+
FINDING_CLASS_TWO_STORE_DRIFT: _ClassVar[FindingClass]
|
|
25
|
+
FINDING_CLASS_TIMEOUT_MISCONFIGURATION: _ClassVar[FindingClass]
|
|
26
|
+
FINDING_CLASS_OVERLAP_TOO_LONG: _ClassVar[FindingClass]
|
|
27
|
+
FINDING_CLASS_DECLARED_NOT_DONE: _ClassVar[FindingClass]
|
|
28
|
+
FINDING_CLASS_OLD_VERSION_DURING_ROLLOUT: _ClassVar[FindingClass]
|
|
29
|
+
FINDING_CLASS_RETRY_MISCONFIGURATION: _ClassVar[FindingClass]
|
|
30
|
+
FINDING_CLASS_REFUSED_UPDATES: _ClassVar[FindingClass]
|
|
31
|
+
FINDING_CLASS_PULL_GAP: _ClassVar[FindingClass]
|
|
32
|
+
FINDING_CLASS_STOPPED_AFTER_DEPLOY: _ClassVar[FindingClass]
|
|
33
|
+
FINDING_CLASS_FAILED_RUN: _ClassVar[FindingClass]
|
|
34
|
+
FINDING_CLASS_SERVER_METRICS_GAP: _ClassVar[FindingClass]
|
|
35
|
+
FINDING_CLASS_WORKER_SLOTS_USED_UP: _ClassVar[FindingClass]
|
|
36
|
+
FINDING_CLASS_STICKY_CACHE_TOO_SMALL: _ClassVar[FindingClass]
|
|
37
|
+
FINDING_CLASS_SLOW_WORKFLOW_TASK: _ClassVar[FindingClass]
|
|
38
|
+
FINDING_CLASS_LONG_REPLAY: _ClassVar[FindingClass]
|
|
39
|
+
FINDING_CLASS_ACTIVITY_FAILING: _ClassVar[FindingClass]
|
|
40
|
+
FINDING_CLASS_ACTIVITY_SLOW: _ClassVar[FindingClass]
|
|
41
|
+
FINDING_CLASS_WORKER_POLLERS: _ClassVar[FindingClass]
|
|
42
|
+
FINDING_CLASS_WORKER_CANNOT_REACH_SERVER: _ClassVar[FindingClass]
|
|
43
|
+
FINDING_CLASS_SCHEDULE_TO_START_INCREASE: _ClassVar[FindingClass]
|
|
44
|
+
FINDING_CLASS_BACKLOG_GROWING: _ClassVar[FindingClass]
|
|
45
|
+
FINDING_CLASS_NO_POLLERS: _ClassVar[FindingClass]
|
|
46
|
+
FINDING_CLASS_HIGH_SCHEDULE_TO_START: _ClassVar[FindingClass]
|
|
47
|
+
FINDING_CLASS_LOW_SYNC_MATCH: _ClassVar[FindingClass]
|
|
48
|
+
FINDING_CLASS_RESOURCE_EXHAUSTED: _ClassVar[FindingClass]
|
|
49
|
+
FINDING_CLASS_TEMPORAL_DATABASE: _ClassVar[FindingClass]
|
|
50
|
+
FINDING_CLASS_WORKFLOW_TASK_FAILURES: _ClassVar[FindingClass]
|
|
51
|
+
FINDING_CLASS_ACTIVITY_TIMEOUTS_RISING: _ClassVar[FindingClass]
|
|
52
|
+
FINDING_CLASS_HISTORY_TOO_LARGE: _ClassVar[FindingClass]
|
|
53
|
+
FINDING_CLASS_HISTORY_SERVICE_TROUBLE: _ClassVar[FindingClass]
|
|
54
|
+
FINDING_CLASS_ACTIVITY_ATTEMPTS: _ClassVar[FindingClass]
|
|
55
|
+
FINDING_CLASS_ERROR_RETRIES: _ClassVar[FindingClass]
|
|
56
|
+
FINDING_CLASS_LONG_ACTIVITY_WITHOUT_HEARTBEAT: _ClassVar[FindingClass]
|
|
57
|
+
FINDING_CLASS_LOST_ATTEMPTS: _ClassVar[FindingClass]
|
|
58
|
+
FINDING_CLASS_UNHANDLED_MESSAGES: _ClassVar[FindingClass]
|
|
59
|
+
FINDING_CLASS_WORKER_RECORDS_DROPPED: _ClassVar[FindingClass]
|
|
60
|
+
FINDING_CLASS_NAMESPACE_NEAR_LIMIT: _ClassVar[FindingClass]
|
|
61
|
+
FINDING_CLASS_NAMESPACE_THROTTLED: _ClassVar[FindingClass]
|
|
62
|
+
FINDING_CLASS_ENGINE_METRICS_MISSING: _ClassVar[FindingClass]
|
|
63
|
+
FINDING_CLASS_DATA_STOPPED: _ClassVar[FindingClass]
|
|
64
|
+
FINDING_CLASS_ACTIVITY_NEAR_TIMEOUT: _ClassVar[FindingClass]
|
|
65
|
+
FINDING_CLASS_ACTIVITY_TIMED_OUT: _ClassVar[FindingClass]
|
|
66
|
+
FINDING_CLASS_ENGINE_REFUSED: _ClassVar[FindingClass]
|
|
67
|
+
FINDING_CLASS_ENGINE_UNREACHABLE: _ClassVar[FindingClass]
|
|
68
|
+
FINDING_CLASS_WORKER_CALLS_REFUSED: _ClassVar[FindingClass]
|
|
69
|
+
FINDING_CLASS_NAMESPACE_NOT_FOUND: _ClassVar[FindingClass]
|
|
70
|
+
FINDING_CLASS_ENV_WITHOUT_NAMESPACE: _ClassVar[FindingClass]
|
|
71
|
+
FINDING_CLASS_E2E_WITH_OLD_WORKERS: _ClassVar[FindingClass]
|
|
72
|
+
FINDING_CLASS_E2E_ATTEMPTS_LOST: _ClassVar[FindingClass]
|
|
73
|
+
FINDING_CLASS_FORGOTTEN: _ClassVar[FindingClass]
|
|
74
|
+
FINDING_CLASS_REPLAY_INTERCEPTOR_DRIFT: _ClassVar[FindingClass]
|
|
75
|
+
FINDING_CLASS_INTERCEPTORS_CHANGED: _ClassVar[FindingClass]
|
|
76
|
+
FINDING_CLASS_JOB_BEHIND: _ClassVar[FindingClass]
|
|
77
|
+
FINDING_CLASS_JOB_LATE: _ClassVar[FindingClass]
|
|
78
|
+
FINDING_CLASS_OVER_LIMIT: _ClassVar[FindingClass]
|
|
79
|
+
FINDING_CLASS_JOB_BACKLOG_GROWING: _ClassVar[FindingClass]
|
|
80
|
+
FINDING_CLASS_UNREADABLE_HISTORY: _ClassVar[FindingClass]
|
|
81
|
+
|
|
82
|
+
class FindingTag(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
83
|
+
__slots__ = ()
|
|
84
|
+
FINDING_TAG_UNSPECIFIED: _ClassVar[FindingTag]
|
|
85
|
+
FINDING_TAG_WORKFLOWS: _ClassVar[FindingTag]
|
|
86
|
+
FINDING_TAG_FLOWRENSIC: _ClassVar[FindingTag]
|
|
87
|
+
|
|
88
|
+
class Severity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
89
|
+
__slots__ = ()
|
|
90
|
+
SEVERITY_UNSPECIFIED: _ClassVar[Severity]
|
|
91
|
+
SEVERITY_INFO: _ClassVar[Severity]
|
|
92
|
+
SEVERITY_WARNING: _ClassVar[Severity]
|
|
93
|
+
SEVERITY_CRITICAL: _ClassVar[Severity]
|
|
94
|
+
|
|
95
|
+
class FindingStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
96
|
+
__slots__ = ()
|
|
97
|
+
FINDING_STATUS_UNSPECIFIED: _ClassVar[FindingStatus]
|
|
98
|
+
FINDING_STATUS_ACTIVE: _ClassVar[FindingStatus]
|
|
99
|
+
FINDING_STATUS_ARCHIVED: _ClassVar[FindingStatus]
|
|
100
|
+
FINDING_CLASS_UNSPECIFIED: FindingClass
|
|
101
|
+
FINDING_CLASS_WEDGED: FindingClass
|
|
102
|
+
FINDING_CLASS_DANGLING_HANDLER: FindingClass
|
|
103
|
+
FINDING_CLASS_STUCK_LOOP: FindingClass
|
|
104
|
+
FINDING_CLASS_HISTORY_BLOAT: FindingClass
|
|
105
|
+
FINDING_CLASS_ORPHANED_ACTIVITY: FindingClass
|
|
106
|
+
FINDING_CLASS_INITIALIZATION_RACE: FindingClass
|
|
107
|
+
FINDING_CLASS_INVALID_STATE_COMBINATION: FindingClass
|
|
108
|
+
FINDING_CLASS_TWO_STORE_DRIFT: FindingClass
|
|
109
|
+
FINDING_CLASS_TIMEOUT_MISCONFIGURATION: FindingClass
|
|
110
|
+
FINDING_CLASS_OVERLAP_TOO_LONG: FindingClass
|
|
111
|
+
FINDING_CLASS_DECLARED_NOT_DONE: FindingClass
|
|
112
|
+
FINDING_CLASS_OLD_VERSION_DURING_ROLLOUT: FindingClass
|
|
113
|
+
FINDING_CLASS_RETRY_MISCONFIGURATION: FindingClass
|
|
114
|
+
FINDING_CLASS_REFUSED_UPDATES: FindingClass
|
|
115
|
+
FINDING_CLASS_PULL_GAP: FindingClass
|
|
116
|
+
FINDING_CLASS_STOPPED_AFTER_DEPLOY: FindingClass
|
|
117
|
+
FINDING_CLASS_FAILED_RUN: FindingClass
|
|
118
|
+
FINDING_CLASS_SERVER_METRICS_GAP: FindingClass
|
|
119
|
+
FINDING_CLASS_WORKER_SLOTS_USED_UP: FindingClass
|
|
120
|
+
FINDING_CLASS_STICKY_CACHE_TOO_SMALL: FindingClass
|
|
121
|
+
FINDING_CLASS_SLOW_WORKFLOW_TASK: FindingClass
|
|
122
|
+
FINDING_CLASS_LONG_REPLAY: FindingClass
|
|
123
|
+
FINDING_CLASS_ACTIVITY_FAILING: FindingClass
|
|
124
|
+
FINDING_CLASS_ACTIVITY_SLOW: FindingClass
|
|
125
|
+
FINDING_CLASS_WORKER_POLLERS: FindingClass
|
|
126
|
+
FINDING_CLASS_WORKER_CANNOT_REACH_SERVER: FindingClass
|
|
127
|
+
FINDING_CLASS_SCHEDULE_TO_START_INCREASE: FindingClass
|
|
128
|
+
FINDING_CLASS_BACKLOG_GROWING: FindingClass
|
|
129
|
+
FINDING_CLASS_NO_POLLERS: FindingClass
|
|
130
|
+
FINDING_CLASS_HIGH_SCHEDULE_TO_START: FindingClass
|
|
131
|
+
FINDING_CLASS_LOW_SYNC_MATCH: FindingClass
|
|
132
|
+
FINDING_CLASS_RESOURCE_EXHAUSTED: FindingClass
|
|
133
|
+
FINDING_CLASS_TEMPORAL_DATABASE: FindingClass
|
|
134
|
+
FINDING_CLASS_WORKFLOW_TASK_FAILURES: FindingClass
|
|
135
|
+
FINDING_CLASS_ACTIVITY_TIMEOUTS_RISING: FindingClass
|
|
136
|
+
FINDING_CLASS_HISTORY_TOO_LARGE: FindingClass
|
|
137
|
+
FINDING_CLASS_HISTORY_SERVICE_TROUBLE: FindingClass
|
|
138
|
+
FINDING_CLASS_ACTIVITY_ATTEMPTS: FindingClass
|
|
139
|
+
FINDING_CLASS_ERROR_RETRIES: FindingClass
|
|
140
|
+
FINDING_CLASS_LONG_ACTIVITY_WITHOUT_HEARTBEAT: FindingClass
|
|
141
|
+
FINDING_CLASS_LOST_ATTEMPTS: FindingClass
|
|
142
|
+
FINDING_CLASS_UNHANDLED_MESSAGES: FindingClass
|
|
143
|
+
FINDING_CLASS_WORKER_RECORDS_DROPPED: FindingClass
|
|
144
|
+
FINDING_CLASS_NAMESPACE_NEAR_LIMIT: FindingClass
|
|
145
|
+
FINDING_CLASS_NAMESPACE_THROTTLED: FindingClass
|
|
146
|
+
FINDING_CLASS_ENGINE_METRICS_MISSING: FindingClass
|
|
147
|
+
FINDING_CLASS_DATA_STOPPED: FindingClass
|
|
148
|
+
FINDING_CLASS_ACTIVITY_NEAR_TIMEOUT: FindingClass
|
|
149
|
+
FINDING_CLASS_ACTIVITY_TIMED_OUT: FindingClass
|
|
150
|
+
FINDING_CLASS_ENGINE_REFUSED: FindingClass
|
|
151
|
+
FINDING_CLASS_ENGINE_UNREACHABLE: FindingClass
|
|
152
|
+
FINDING_CLASS_WORKER_CALLS_REFUSED: FindingClass
|
|
153
|
+
FINDING_CLASS_NAMESPACE_NOT_FOUND: FindingClass
|
|
154
|
+
FINDING_CLASS_ENV_WITHOUT_NAMESPACE: FindingClass
|
|
155
|
+
FINDING_CLASS_E2E_WITH_OLD_WORKERS: FindingClass
|
|
156
|
+
FINDING_CLASS_E2E_ATTEMPTS_LOST: FindingClass
|
|
157
|
+
FINDING_CLASS_FORGOTTEN: FindingClass
|
|
158
|
+
FINDING_CLASS_REPLAY_INTERCEPTOR_DRIFT: FindingClass
|
|
159
|
+
FINDING_CLASS_INTERCEPTORS_CHANGED: FindingClass
|
|
160
|
+
FINDING_CLASS_JOB_BEHIND: FindingClass
|
|
161
|
+
FINDING_CLASS_JOB_LATE: FindingClass
|
|
162
|
+
FINDING_CLASS_OVER_LIMIT: FindingClass
|
|
163
|
+
FINDING_CLASS_JOB_BACKLOG_GROWING: FindingClass
|
|
164
|
+
FINDING_CLASS_UNREADABLE_HISTORY: FindingClass
|
|
165
|
+
FINDING_TAG_UNSPECIFIED: FindingTag
|
|
166
|
+
FINDING_TAG_WORKFLOWS: FindingTag
|
|
167
|
+
FINDING_TAG_FLOWRENSIC: FindingTag
|
|
168
|
+
SEVERITY_UNSPECIFIED: Severity
|
|
169
|
+
SEVERITY_INFO: Severity
|
|
170
|
+
SEVERITY_WARNING: Severity
|
|
171
|
+
SEVERITY_CRITICAL: Severity
|
|
172
|
+
FINDING_STATUS_UNSPECIFIED: FindingStatus
|
|
173
|
+
FINDING_STATUS_ACTIVE: FindingStatus
|
|
174
|
+
FINDING_STATUS_ARCHIVED: FindingStatus
|
|
175
|
+
|
|
176
|
+
class Evidence(_message.Message):
|
|
177
|
+
__slots__ = ("event_seq", "note", "run_id", "at", "workflow_id", "temporal_ui_url")
|
|
178
|
+
EVENT_SEQ_FIELD_NUMBER: _ClassVar[int]
|
|
179
|
+
NOTE_FIELD_NUMBER: _ClassVar[int]
|
|
180
|
+
RUN_ID_FIELD_NUMBER: _ClassVar[int]
|
|
181
|
+
AT_FIELD_NUMBER: _ClassVar[int]
|
|
182
|
+
WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
|
|
183
|
+
TEMPORAL_UI_URL_FIELD_NUMBER: _ClassVar[int]
|
|
184
|
+
event_seq: int
|
|
185
|
+
note: str
|
|
186
|
+
run_id: str
|
|
187
|
+
at: _timestamp_pb2.Timestamp
|
|
188
|
+
workflow_id: str
|
|
189
|
+
temporal_ui_url: str
|
|
190
|
+
def __init__(self, event_seq: _Optional[int] = ..., note: _Optional[str] = ..., run_id: _Optional[str] = ..., at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., workflow_id: _Optional[str] = ..., temporal_ui_url: _Optional[str] = ...) -> None: ...
|
|
191
|
+
|
|
192
|
+
class Finding(_message.Message):
|
|
193
|
+
__slots__ = ("id", "run_id", "severity", "summary", "analyzer", "evidence", "detected_at", "deploy_id", "workflow_id", "workflow_type", "details", "url", "run_count", "first_run_at", "last_run_at", "ended_at", "status", "archived_at", "mistaken_at", "mistaken_by", "temporal_ui_url", "tag")
|
|
194
|
+
class DetailsEntry(_message.Message):
|
|
195
|
+
__slots__ = ("key", "value")
|
|
196
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
197
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
198
|
+
key: str
|
|
199
|
+
value: str
|
|
200
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
|
|
201
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
|
202
|
+
RUN_ID_FIELD_NUMBER: _ClassVar[int]
|
|
203
|
+
CLASS_FIELD_NUMBER: _ClassVar[int]
|
|
204
|
+
SEVERITY_FIELD_NUMBER: _ClassVar[int]
|
|
205
|
+
SUMMARY_FIELD_NUMBER: _ClassVar[int]
|
|
206
|
+
ANALYZER_FIELD_NUMBER: _ClassVar[int]
|
|
207
|
+
EVIDENCE_FIELD_NUMBER: _ClassVar[int]
|
|
208
|
+
DETECTED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
209
|
+
DEPLOY_ID_FIELD_NUMBER: _ClassVar[int]
|
|
210
|
+
WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
|
|
211
|
+
WORKFLOW_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
212
|
+
DETAILS_FIELD_NUMBER: _ClassVar[int]
|
|
213
|
+
URL_FIELD_NUMBER: _ClassVar[int]
|
|
214
|
+
RUN_COUNT_FIELD_NUMBER: _ClassVar[int]
|
|
215
|
+
FIRST_RUN_AT_FIELD_NUMBER: _ClassVar[int]
|
|
216
|
+
LAST_RUN_AT_FIELD_NUMBER: _ClassVar[int]
|
|
217
|
+
ENDED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
218
|
+
STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
219
|
+
ARCHIVED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
220
|
+
MISTAKEN_AT_FIELD_NUMBER: _ClassVar[int]
|
|
221
|
+
MISTAKEN_BY_FIELD_NUMBER: _ClassVar[int]
|
|
222
|
+
TEMPORAL_UI_URL_FIELD_NUMBER: _ClassVar[int]
|
|
223
|
+
TAG_FIELD_NUMBER: _ClassVar[int]
|
|
224
|
+
id: str
|
|
225
|
+
run_id: str
|
|
226
|
+
severity: Severity
|
|
227
|
+
summary: str
|
|
228
|
+
analyzer: str
|
|
229
|
+
evidence: _containers.RepeatedCompositeFieldContainer[Evidence]
|
|
230
|
+
detected_at: _timestamp_pb2.Timestamp
|
|
231
|
+
deploy_id: str
|
|
232
|
+
workflow_id: str
|
|
233
|
+
workflow_type: str
|
|
234
|
+
details: _containers.ScalarMap[str, str]
|
|
235
|
+
url: str
|
|
236
|
+
run_count: int
|
|
237
|
+
first_run_at: _timestamp_pb2.Timestamp
|
|
238
|
+
last_run_at: _timestamp_pb2.Timestamp
|
|
239
|
+
ended_at: _timestamp_pb2.Timestamp
|
|
240
|
+
status: FindingStatus
|
|
241
|
+
archived_at: _timestamp_pb2.Timestamp
|
|
242
|
+
mistaken_at: _timestamp_pb2.Timestamp
|
|
243
|
+
mistaken_by: str
|
|
244
|
+
temporal_ui_url: str
|
|
245
|
+
tag: FindingTag
|
|
246
|
+
def __init__(self, id: _Optional[str] = ..., run_id: _Optional[str] = ..., severity: _Optional[_Union[Severity, str]] = ..., summary: _Optional[str] = ..., analyzer: _Optional[str] = ..., evidence: _Optional[_Iterable[_Union[Evidence, _Mapping]]] = ..., detected_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., deploy_id: _Optional[str] = ..., workflow_id: _Optional[str] = ..., workflow_type: _Optional[str] = ..., details: _Optional[_Mapping[str, str]] = ..., url: _Optional[str] = ..., run_count: _Optional[int] = ..., first_run_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., last_run_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., status: _Optional[_Union[FindingStatus, str]] = ..., archived_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., mistaken_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., mistaken_by: _Optional[str] = ..., temporal_ui_url: _Optional[str] = ..., tag: _Optional[_Union[FindingTag, str]] = ..., **kwargs) -> None: ...
|
|
247
|
+
|
|
248
|
+
class ListFindingsRequest(_message.Message):
|
|
249
|
+
__slots__ = ("run_id", "deploy_id", "severity", "env", "workflow_type", "sort", "descending", "stored_only", "status", "mistaken", "tag", "worker_name", "page")
|
|
250
|
+
RUN_ID_FIELD_NUMBER: _ClassVar[int]
|
|
251
|
+
DEPLOY_ID_FIELD_NUMBER: _ClassVar[int]
|
|
252
|
+
SEVERITY_FIELD_NUMBER: _ClassVar[int]
|
|
253
|
+
CLASS_FIELD_NUMBER: _ClassVar[int]
|
|
254
|
+
ENV_FIELD_NUMBER: _ClassVar[int]
|
|
255
|
+
WORKFLOW_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
256
|
+
SORT_FIELD_NUMBER: _ClassVar[int]
|
|
257
|
+
DESCENDING_FIELD_NUMBER: _ClassVar[int]
|
|
258
|
+
STORED_ONLY_FIELD_NUMBER: _ClassVar[int]
|
|
259
|
+
STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
260
|
+
MISTAKEN_FIELD_NUMBER: _ClassVar[int]
|
|
261
|
+
TAG_FIELD_NUMBER: _ClassVar[int]
|
|
262
|
+
WORKER_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
263
|
+
PAGE_FIELD_NUMBER: _ClassVar[int]
|
|
264
|
+
run_id: str
|
|
265
|
+
deploy_id: str
|
|
266
|
+
severity: Severity
|
|
267
|
+
env: str
|
|
268
|
+
workflow_type: str
|
|
269
|
+
sort: str
|
|
270
|
+
descending: bool
|
|
271
|
+
stored_only: bool
|
|
272
|
+
status: FindingStatus
|
|
273
|
+
mistaken: bool
|
|
274
|
+
tag: FindingTag
|
|
275
|
+
worker_name: str
|
|
276
|
+
page: _page_pb2.PageRequest
|
|
277
|
+
def __init__(self, run_id: _Optional[str] = ..., deploy_id: _Optional[str] = ..., severity: _Optional[_Union[Severity, str]] = ..., env: _Optional[str] = ..., workflow_type: _Optional[str] = ..., sort: _Optional[str] = ..., descending: bool = ..., stored_only: bool = ..., status: _Optional[_Union[FindingStatus, str]] = ..., mistaken: bool = ..., tag: _Optional[_Union[FindingTag, str]] = ..., worker_name: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ..., **kwargs) -> None: ...
|
|
278
|
+
|
|
279
|
+
class ListFindingsResponse(_message.Message):
|
|
280
|
+
__slots__ = ("run_id", "findings", "page")
|
|
281
|
+
RUN_ID_FIELD_NUMBER: _ClassVar[int]
|
|
282
|
+
FINDINGS_FIELD_NUMBER: _ClassVar[int]
|
|
283
|
+
PAGE_FIELD_NUMBER: _ClassVar[int]
|
|
284
|
+
run_id: str
|
|
285
|
+
findings: _containers.RepeatedCompositeFieldContainer[Finding]
|
|
286
|
+
page: _page_pb2.PageResponse
|
|
287
|
+
def __init__(self, run_id: _Optional[str] = ..., findings: _Optional[_Iterable[_Union[Finding, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
|
|
288
|
+
|
|
289
|
+
class ListThresholdsRequest(_message.Message):
|
|
290
|
+
__slots__ = ()
|
|
291
|
+
def __init__(self) -> None: ...
|
|
292
|
+
|
|
293
|
+
class Threshold(_message.Message):
|
|
294
|
+
__slots__ = ("env_variable", "classes", "default_value", "value")
|
|
295
|
+
ENV_VARIABLE_FIELD_NUMBER: _ClassVar[int]
|
|
296
|
+
CLASSES_FIELD_NUMBER: _ClassVar[int]
|
|
297
|
+
DEFAULT_VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
298
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
299
|
+
env_variable: str
|
|
300
|
+
classes: _containers.RepeatedScalarFieldContainer[FindingClass]
|
|
301
|
+
default_value: str
|
|
302
|
+
value: str
|
|
303
|
+
def __init__(self, env_variable: _Optional[str] = ..., classes: _Optional[_Iterable[_Union[FindingClass, str]]] = ..., default_value: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
|
|
304
|
+
|
|
305
|
+
class ListThresholdsResponse(_message.Message):
|
|
306
|
+
__slots__ = ("thresholds",)
|
|
307
|
+
THRESHOLDS_FIELD_NUMBER: _ClassVar[int]
|
|
308
|
+
thresholds: _containers.RepeatedCompositeFieldContainer[Threshold]
|
|
309
|
+
def __init__(self, thresholds: _Optional[_Iterable[_Union[Threshold, _Mapping]]] = ...) -> None: ...
|
|
310
|
+
|
|
311
|
+
class GetFindingRequest(_message.Message):
|
|
312
|
+
__slots__ = ("id", "stored_only", "runs_page")
|
|
313
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
|
314
|
+
STORED_ONLY_FIELD_NUMBER: _ClassVar[int]
|
|
315
|
+
RUNS_PAGE_FIELD_NUMBER: _ClassVar[int]
|
|
316
|
+
id: str
|
|
317
|
+
stored_only: bool
|
|
318
|
+
runs_page: _page_pb2.PageRequest
|
|
319
|
+
def __init__(self, id: _Optional[str] = ..., stored_only: bool = ..., runs_page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
|
|
320
|
+
|
|
321
|
+
class GetFindingResponse(_message.Message):
|
|
322
|
+
__slots__ = ("finding", "runs_page")
|
|
323
|
+
FINDING_FIELD_NUMBER: _ClassVar[int]
|
|
324
|
+
RUNS_PAGE_FIELD_NUMBER: _ClassVar[int]
|
|
325
|
+
finding: Finding
|
|
326
|
+
runs_page: _page_pb2.PageResponse
|
|
327
|
+
def __init__(self, finding: _Optional[_Union[Finding, _Mapping]] = ..., runs_page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
|
|
328
|
+
|
|
329
|
+
class SetFindingStatusRequest(_message.Message):
|
|
330
|
+
__slots__ = ("id", "status")
|
|
331
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
|
332
|
+
STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
333
|
+
id: str
|
|
334
|
+
status: FindingStatus
|
|
335
|
+
def __init__(self, id: _Optional[str] = ..., status: _Optional[_Union[FindingStatus, str]] = ...) -> None: ...
|
|
336
|
+
|
|
337
|
+
class SetFindingStatusResponse(_message.Message):
|
|
338
|
+
__slots__ = ("finding",)
|
|
339
|
+
FINDING_FIELD_NUMBER: _ClassVar[int]
|
|
340
|
+
finding: Finding
|
|
341
|
+
def __init__(self, finding: _Optional[_Union[Finding, _Mapping]] = ...) -> None: ...
|
|
342
|
+
|
|
343
|
+
class Alert(_message.Message):
|
|
344
|
+
__slots__ = ("id", "rule", "raised_at", "finding")
|
|
345
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
|
346
|
+
RULE_FIELD_NUMBER: _ClassVar[int]
|
|
347
|
+
RAISED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
348
|
+
FINDING_FIELD_NUMBER: _ClassVar[int]
|
|
349
|
+
id: str
|
|
350
|
+
rule: str
|
|
351
|
+
raised_at: _timestamp_pb2.Timestamp
|
|
352
|
+
finding: Finding
|
|
353
|
+
def __init__(self, id: _Optional[str] = ..., rule: _Optional[str] = ..., raised_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., finding: _Optional[_Union[Finding, _Mapping]] = ...) -> None: ...
|
|
354
|
+
|
|
355
|
+
class ListAlertsRequest(_message.Message):
|
|
356
|
+
__slots__ = ("page", "env")
|
|
357
|
+
PAGE_FIELD_NUMBER: _ClassVar[int]
|
|
358
|
+
ENV_FIELD_NUMBER: _ClassVar[int]
|
|
359
|
+
page: _page_pb2.PageRequest
|
|
360
|
+
env: str
|
|
361
|
+
def __init__(self, page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ..., env: _Optional[str] = ...) -> None: ...
|
|
362
|
+
|
|
363
|
+
class ListAlertsResponse(_message.Message):
|
|
364
|
+
__slots__ = ("alerts", "page", "envs")
|
|
365
|
+
ALERTS_FIELD_NUMBER: _ClassVar[int]
|
|
366
|
+
PAGE_FIELD_NUMBER: _ClassVar[int]
|
|
367
|
+
ENVS_FIELD_NUMBER: _ClassVar[int]
|
|
368
|
+
alerts: _containers.RepeatedCompositeFieldContainer[Alert]
|
|
369
|
+
page: _page_pb2.PageResponse
|
|
370
|
+
envs: _containers.RepeatedScalarFieldContainer[str]
|
|
371
|
+
def __init__(self, alerts: _Optional[_Iterable[_Union[Alert, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ..., envs: _Optional[_Iterable[str]] = ...) -> None: ...
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: flowrensic/v1/job.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'flowrensic/v1/job.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x66lowrensic/v1/job.proto\x12\rflowrensic.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\rRunJobRequest\x12\x10\n\x03job\x18\x01 \x01(\tR\x03job\x12\x14\n\x05scope\x18\x02 \x01(\tR\x05scope\"\xc4\x02\n\x07JobPart\x12\x14\n\x05scope\x18\x01 \x01(\tR\x05scope\x12\x16\n\x06server\x18\x02 \x01(\tR\x06server\x12\x34\n\x07started\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07started\x12\x30\n\x05\x65nded\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x05\x65nded\x12\x14\n\x05\x65rror\x18\x05 \x01(\tR\x05\x65rror\x12:\n\x06\x63ounts\x18\x06 \x03(\x0b\x32\".flowrensic.v1.JobPart.CountsEntryR\x06\x63ounts\x12\x16\n\x06waited\x18\x07 \x01(\x08R\x06waited\x1a\x39\n\x0b\x43ountsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value:\x02\x38\x01\"P\n\x0eRunJobResponse\x12\x10\n\x03job\x18\x01 \x01(\tR\x03job\x12,\n\x05parts\x18\x02 \x03(\x0b\x32\x16.flowrensic.v1.JobPartR\x05partsBiZggithub.com/flowrensic/temporal-flowrensic/internal/7-shared-model/domain/gen/flowrensic/v1;flowrensicv1b\x06proto3')
|
|
29
|
+
|
|
30
|
+
_globals = globals()
|
|
31
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
32
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.job_pb2', _globals)
|
|
33
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
34
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
35
|
+
_globals['DESCRIPTOR']._serialized_options = b'Zggithub.com/flowrensic/temporal-flowrensic/internal/7-shared-model/domain/gen/flowrensic/v1;flowrensicv1'
|
|
36
|
+
_globals['_JOBPART_COUNTSENTRY']._loaded_options = None
|
|
37
|
+
_globals['_JOBPART_COUNTSENTRY']._serialized_options = b'8\001'
|
|
38
|
+
_globals['_RUNJOBREQUEST']._serialized_start=75
|
|
39
|
+
_globals['_RUNJOBREQUEST']._serialized_end=130
|
|
40
|
+
_globals['_JOBPART']._serialized_start=133
|
|
41
|
+
_globals['_JOBPART']._serialized_end=457
|
|
42
|
+
_globals['_JOBPART_COUNTSENTRY']._serialized_start=400
|
|
43
|
+
_globals['_JOBPART_COUNTSENTRY']._serialized_end=457
|
|
44
|
+
_globals['_RUNJOBRESPONSE']._serialized_start=459
|
|
45
|
+
_globals['_RUNJOBRESPONSE']._serialized_end=539
|
|
46
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|
|
4
|
+
from google.protobuf.internal import containers as _containers
|
|
5
|
+
from google.protobuf import descriptor as _descriptor
|
|
6
|
+
from google.protobuf import message as _message
|
|
7
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
8
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
9
|
+
|
|
10
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
11
|
+
|
|
12
|
+
class RunJobRequest(_message.Message):
|
|
13
|
+
__slots__ = ("job", "scope")
|
|
14
|
+
JOB_FIELD_NUMBER: _ClassVar[int]
|
|
15
|
+
SCOPE_FIELD_NUMBER: _ClassVar[int]
|
|
16
|
+
job: str
|
|
17
|
+
scope: str
|
|
18
|
+
def __init__(self, job: _Optional[str] = ..., scope: _Optional[str] = ...) -> None: ...
|
|
19
|
+
|
|
20
|
+
class JobPart(_message.Message):
|
|
21
|
+
__slots__ = ("scope", "server", "started", "ended", "error", "counts", "waited")
|
|
22
|
+
class CountsEntry(_message.Message):
|
|
23
|
+
__slots__ = ("key", "value")
|
|
24
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
25
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
26
|
+
key: str
|
|
27
|
+
value: int
|
|
28
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[int] = ...) -> None: ...
|
|
29
|
+
SCOPE_FIELD_NUMBER: _ClassVar[int]
|
|
30
|
+
SERVER_FIELD_NUMBER: _ClassVar[int]
|
|
31
|
+
STARTED_FIELD_NUMBER: _ClassVar[int]
|
|
32
|
+
ENDED_FIELD_NUMBER: _ClassVar[int]
|
|
33
|
+
ERROR_FIELD_NUMBER: _ClassVar[int]
|
|
34
|
+
COUNTS_FIELD_NUMBER: _ClassVar[int]
|
|
35
|
+
WAITED_FIELD_NUMBER: _ClassVar[int]
|
|
36
|
+
scope: str
|
|
37
|
+
server: str
|
|
38
|
+
started: _timestamp_pb2.Timestamp
|
|
39
|
+
ended: _timestamp_pb2.Timestamp
|
|
40
|
+
error: str
|
|
41
|
+
counts: _containers.ScalarMap[str, int]
|
|
42
|
+
waited: bool
|
|
43
|
+
def __init__(self, scope: _Optional[str] = ..., server: _Optional[str] = ..., started: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., ended: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., error: _Optional[str] = ..., counts: _Optional[_Mapping[str, int]] = ..., waited: bool = ...) -> None: ...
|
|
44
|
+
|
|
45
|
+
class RunJobResponse(_message.Message):
|
|
46
|
+
__slots__ = ("job", "parts")
|
|
47
|
+
JOB_FIELD_NUMBER: _ClassVar[int]
|
|
48
|
+
PARTS_FIELD_NUMBER: _ClassVar[int]
|
|
49
|
+
job: str
|
|
50
|
+
parts: _containers.RepeatedCompositeFieldContainer[JobPart]
|
|
51
|
+
def __init__(self, job: _Optional[str] = ..., parts: _Optional[_Iterable[_Union[JobPart, _Mapping]]] = ...) -> None: ...
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: flowrensic/v1/load.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'flowrensic/v1/load.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lowrensic/v1/load.proto\x12\rflowrensic.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x10\n\x0eGetLoadRequest\"O\n\x07JobLoad\x12\x12\n\x04task\x18\x01 \x01(\tR\x04task\x12\x18\n\x07percent\x18\x02 \x01(\x01R\x07percent\x12\x16\n\x06server\x18\x03 \x01(\tR\x06server\"?\n\x0bServerShare\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x18\n\x07percent\x18\x02 \x01(\x01R\x07percent\"\x92\x01\n\nBusySignal\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x16\n\x06signal\x18\x02 \x01(\tR\x06signal\x12\x12\n\x04pool\x18\x03 \x01(\tR\x04pool\x12\x14\n\x05value\x18\x04 \x01(\x01R\x05value\x12\x14\n\x05limit\x18\x05 \x01(\x01R\x05limit\x12\x14\n\x05slows\x18\x06 \x01(\x08R\x05slows\"\xad\x05\n\x0fGetLoadResponse\x12\x1d\n\x07percent\x18\x01 \x01(\x01H\x00R\x07percent\x88\x01\x01\x12*\n\x04jobs\x18\x02 \x03(\x0b\x32\x16.flowrensic.v1.JobLoadR\x04jobs\x12,\n\x03\x63pu\x18\x03 \x03(\x0b\x32\x1a.flowrensic.v1.ServerShareR\x03\x63pu\x12,\n\x03now\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03now\x12!\n\x0cjobs_percent\x18\x05 \x01(\x01R\x0bjobsPercent\x12.\n\x10requests_percent\x18\x06 \x01(\x01H\x01R\x0frequestsPercent\x88\x01\x01\x12\x36\n\x08requests\x18\x07 \x03(\x0b\x32\x1a.flowrensic.v1.ServerShareR\x08requests\x12\x16\n\x06slowed\x18\x08 \x01(\x08R\x06slowed\x12-\n\x04\x62usy\x18\t \x03(\x0b\x32\x19.flowrensic.v1.BusySignalR\x04\x62usy\x12.\n\x10\x64\x61tabase_percent\x18\n \x01(\x01H\x02R\x0f\x64\x61tabasePercent\x88\x01\x01\x12\x37\n\x08\x64\x61tabase\x18\x0b \x01(\x0b\x32\x1b.flowrensic.v1.DatabaseLoadR\x08\x64\x61tabase\x12;\n\x07refused\x18\x0c \x03(\x0b\x32!.flowrensic.v1.RefusedConnectionsR\x07refused\x12\x45\n\x0crate_limited\x18\r \x03(\x0b\x32\".flowrensic.v1.TemporalRateLimitedR\x0brateLimitedB\n\n\x08_percentB\x13\n\x11_requests_percentB\x13\n\x11_database_percent\"~\n\x13TemporalRateLimited\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x18\n\x07\x61nswers\x18\x03 \x01(\x03R\x07\x61nswers\x12\x17\n\x07gave_up\x18\x04 \x01(\x03R\x06gaveUp\"V\n\x12RefusedConnections\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x12\n\x04pool\x18\x02 \x01(\tR\x04pool\x12\x14\n\x05\x63ount\x18\x03 \x01(\x03R\x05\x63ount\"\xac\x02\n\x0c\x44\x61tabaseLoad\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12%\n\x0e\x61\x63tive_queries\x18\x02 \x01(\x05R\ractiveQueries\x12\x30\n\x14lock_waiting_queries\x18\x03 \x01(\x05R\x12lockWaitingQueries\x12!\n\x0cslow_queries\x18\x04 \x01(\x05R\x0bslowQueries\x12\x31\n\x15\x64isk_reads_per_second\x18\x05 \x01(\x01R\x12\x64iskReadsPerSecond\x12%\n\x0e\x61\x63tive_percent\x18\x06 \x01(\x01R\ractivePercent\x12\x14\n\x05\x63ores\x18\x08 \x01(\x01R\x05\x63oresJ\x04\x08\x07\x10\x08R\x12\x64isk_reads_percentb\x06proto3')
|
|
29
|
+
|
|
30
|
+
_globals = globals()
|
|
31
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
32
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.load_pb2', _globals)
|
|
33
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
34
|
+
DESCRIPTOR._loaded_options = None
|
|
35
|
+
_globals['_GETLOADREQUEST']._serialized_start=76
|
|
36
|
+
_globals['_GETLOADREQUEST']._serialized_end=92
|
|
37
|
+
_globals['_JOBLOAD']._serialized_start=94
|
|
38
|
+
_globals['_JOBLOAD']._serialized_end=173
|
|
39
|
+
_globals['_SERVERSHARE']._serialized_start=175
|
|
40
|
+
_globals['_SERVERSHARE']._serialized_end=238
|
|
41
|
+
_globals['_BUSYSIGNAL']._serialized_start=241
|
|
42
|
+
_globals['_BUSYSIGNAL']._serialized_end=387
|
|
43
|
+
_globals['_GETLOADRESPONSE']._serialized_start=390
|
|
44
|
+
_globals['_GETLOADRESPONSE']._serialized_end=1075
|
|
45
|
+
_globals['_TEMPORALRATELIMITED']._serialized_start=1077
|
|
46
|
+
_globals['_TEMPORALRATELIMITED']._serialized_end=1203
|
|
47
|
+
_globals['_REFUSEDCONNECTIONS']._serialized_start=1205
|
|
48
|
+
_globals['_REFUSEDCONNECTIONS']._serialized_end=1291
|
|
49
|
+
_globals['_DATABASELOAD']._serialized_start=1294
|
|
50
|
+
_globals['_DATABASELOAD']._serialized_end=1594
|
|
51
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|
|
4
|
+
from google.protobuf.internal import containers as _containers
|
|
5
|
+
from google.protobuf import descriptor as _descriptor
|
|
6
|
+
from google.protobuf import message as _message
|
|
7
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
8
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
9
|
+
|
|
10
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
11
|
+
|
|
12
|
+
class GetLoadRequest(_message.Message):
|
|
13
|
+
__slots__ = ()
|
|
14
|
+
def __init__(self) -> None: ...
|
|
15
|
+
|
|
16
|
+
class JobLoad(_message.Message):
|
|
17
|
+
__slots__ = ("task", "percent", "server")
|
|
18
|
+
TASK_FIELD_NUMBER: _ClassVar[int]
|
|
19
|
+
PERCENT_FIELD_NUMBER: _ClassVar[int]
|
|
20
|
+
SERVER_FIELD_NUMBER: _ClassVar[int]
|
|
21
|
+
task: str
|
|
22
|
+
percent: float
|
|
23
|
+
server: str
|
|
24
|
+
def __init__(self, task: _Optional[str] = ..., percent: _Optional[float] = ..., server: _Optional[str] = ...) -> None: ...
|
|
25
|
+
|
|
26
|
+
class ServerShare(_message.Message):
|
|
27
|
+
__slots__ = ("server", "percent")
|
|
28
|
+
SERVER_FIELD_NUMBER: _ClassVar[int]
|
|
29
|
+
PERCENT_FIELD_NUMBER: _ClassVar[int]
|
|
30
|
+
server: str
|
|
31
|
+
percent: float
|
|
32
|
+
def __init__(self, server: _Optional[str] = ..., percent: _Optional[float] = ...) -> None: ...
|
|
33
|
+
|
|
34
|
+
class BusySignal(_message.Message):
|
|
35
|
+
__slots__ = ("server", "signal", "pool", "value", "limit", "slows")
|
|
36
|
+
SERVER_FIELD_NUMBER: _ClassVar[int]
|
|
37
|
+
SIGNAL_FIELD_NUMBER: _ClassVar[int]
|
|
38
|
+
POOL_FIELD_NUMBER: _ClassVar[int]
|
|
39
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
40
|
+
LIMIT_FIELD_NUMBER: _ClassVar[int]
|
|
41
|
+
SLOWS_FIELD_NUMBER: _ClassVar[int]
|
|
42
|
+
server: str
|
|
43
|
+
signal: str
|
|
44
|
+
pool: str
|
|
45
|
+
value: float
|
|
46
|
+
limit: float
|
|
47
|
+
slows: bool
|
|
48
|
+
def __init__(self, server: _Optional[str] = ..., signal: _Optional[str] = ..., pool: _Optional[str] = ..., value: _Optional[float] = ..., limit: _Optional[float] = ..., slows: bool = ...) -> None: ...
|
|
49
|
+
|
|
50
|
+
class GetLoadResponse(_message.Message):
|
|
51
|
+
__slots__ = ("percent", "jobs", "cpu", "now", "jobs_percent", "requests_percent", "requests", "slowed", "busy", "database_percent", "database", "refused", "rate_limited")
|
|
52
|
+
PERCENT_FIELD_NUMBER: _ClassVar[int]
|
|
53
|
+
JOBS_FIELD_NUMBER: _ClassVar[int]
|
|
54
|
+
CPU_FIELD_NUMBER: _ClassVar[int]
|
|
55
|
+
NOW_FIELD_NUMBER: _ClassVar[int]
|
|
56
|
+
JOBS_PERCENT_FIELD_NUMBER: _ClassVar[int]
|
|
57
|
+
REQUESTS_PERCENT_FIELD_NUMBER: _ClassVar[int]
|
|
58
|
+
REQUESTS_FIELD_NUMBER: _ClassVar[int]
|
|
59
|
+
SLOWED_FIELD_NUMBER: _ClassVar[int]
|
|
60
|
+
BUSY_FIELD_NUMBER: _ClassVar[int]
|
|
61
|
+
DATABASE_PERCENT_FIELD_NUMBER: _ClassVar[int]
|
|
62
|
+
DATABASE_FIELD_NUMBER: _ClassVar[int]
|
|
63
|
+
REFUSED_FIELD_NUMBER: _ClassVar[int]
|
|
64
|
+
RATE_LIMITED_FIELD_NUMBER: _ClassVar[int]
|
|
65
|
+
percent: float
|
|
66
|
+
jobs: _containers.RepeatedCompositeFieldContainer[JobLoad]
|
|
67
|
+
cpu: _containers.RepeatedCompositeFieldContainer[ServerShare]
|
|
68
|
+
now: _timestamp_pb2.Timestamp
|
|
69
|
+
jobs_percent: float
|
|
70
|
+
requests_percent: float
|
|
71
|
+
requests: _containers.RepeatedCompositeFieldContainer[ServerShare]
|
|
72
|
+
slowed: bool
|
|
73
|
+
busy: _containers.RepeatedCompositeFieldContainer[BusySignal]
|
|
74
|
+
database_percent: float
|
|
75
|
+
database: DatabaseLoad
|
|
76
|
+
refused: _containers.RepeatedCompositeFieldContainer[RefusedConnections]
|
|
77
|
+
rate_limited: _containers.RepeatedCompositeFieldContainer[TemporalRateLimited]
|
|
78
|
+
def __init__(self, percent: _Optional[float] = ..., jobs: _Optional[_Iterable[_Union[JobLoad, _Mapping]]] = ..., cpu: _Optional[_Iterable[_Union[ServerShare, _Mapping]]] = ..., now: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., jobs_percent: _Optional[float] = ..., requests_percent: _Optional[float] = ..., requests: _Optional[_Iterable[_Union[ServerShare, _Mapping]]] = ..., slowed: bool = ..., busy: _Optional[_Iterable[_Union[BusySignal, _Mapping]]] = ..., database_percent: _Optional[float] = ..., database: _Optional[_Union[DatabaseLoad, _Mapping]] = ..., refused: _Optional[_Iterable[_Union[RefusedConnections, _Mapping]]] = ..., rate_limited: _Optional[_Iterable[_Union[TemporalRateLimited, _Mapping]]] = ...) -> None: ...
|
|
79
|
+
|
|
80
|
+
class TemporalRateLimited(_message.Message):
|
|
81
|
+
__slots__ = ("server", "namespace", "answers", "gave_up")
|
|
82
|
+
SERVER_FIELD_NUMBER: _ClassVar[int]
|
|
83
|
+
NAMESPACE_FIELD_NUMBER: _ClassVar[int]
|
|
84
|
+
ANSWERS_FIELD_NUMBER: _ClassVar[int]
|
|
85
|
+
GAVE_UP_FIELD_NUMBER: _ClassVar[int]
|
|
86
|
+
server: str
|
|
87
|
+
namespace: str
|
|
88
|
+
answers: int
|
|
89
|
+
gave_up: int
|
|
90
|
+
def __init__(self, server: _Optional[str] = ..., namespace: _Optional[str] = ..., answers: _Optional[int] = ..., gave_up: _Optional[int] = ...) -> None: ...
|
|
91
|
+
|
|
92
|
+
class RefusedConnections(_message.Message):
|
|
93
|
+
__slots__ = ("server", "pool", "count")
|
|
94
|
+
SERVER_FIELD_NUMBER: _ClassVar[int]
|
|
95
|
+
POOL_FIELD_NUMBER: _ClassVar[int]
|
|
96
|
+
COUNT_FIELD_NUMBER: _ClassVar[int]
|
|
97
|
+
server: str
|
|
98
|
+
pool: str
|
|
99
|
+
count: int
|
|
100
|
+
def __init__(self, server: _Optional[str] = ..., pool: _Optional[str] = ..., count: _Optional[int] = ...) -> None: ...
|
|
101
|
+
|
|
102
|
+
class DatabaseLoad(_message.Message):
|
|
103
|
+
__slots__ = ("server", "active_queries", "lock_waiting_queries", "slow_queries", "disk_reads_per_second", "active_percent", "cores")
|
|
104
|
+
SERVER_FIELD_NUMBER: _ClassVar[int]
|
|
105
|
+
ACTIVE_QUERIES_FIELD_NUMBER: _ClassVar[int]
|
|
106
|
+
LOCK_WAITING_QUERIES_FIELD_NUMBER: _ClassVar[int]
|
|
107
|
+
SLOW_QUERIES_FIELD_NUMBER: _ClassVar[int]
|
|
108
|
+
DISK_READS_PER_SECOND_FIELD_NUMBER: _ClassVar[int]
|
|
109
|
+
ACTIVE_PERCENT_FIELD_NUMBER: _ClassVar[int]
|
|
110
|
+
CORES_FIELD_NUMBER: _ClassVar[int]
|
|
111
|
+
server: str
|
|
112
|
+
active_queries: int
|
|
113
|
+
lock_waiting_queries: int
|
|
114
|
+
slow_queries: int
|
|
115
|
+
disk_reads_per_second: float
|
|
116
|
+
active_percent: float
|
|
117
|
+
cores: float
|
|
118
|
+
def __init__(self, server: _Optional[str] = ..., active_queries: _Optional[int] = ..., lock_waiting_queries: _Optional[int] = ..., slow_queries: _Optional[int] = ..., disk_reads_per_second: _Optional[float] = ..., active_percent: _Optional[float] = ..., cores: _Optional[float] = ...) -> None: ...
|