yandexcloud 0.300.0__py3-none-any.whl → 0.302.0__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.

Potentially problematic release.


This version of yandexcloud might be problematic. Click here for more details.

Files changed (63) hide show
  1. yandex/cloud/backup/v1/policy_pb2.py +6 -6
  2. yandex/cloud/backup/v1/policy_pb2.pyi +5 -1
  3. yandex/cloud/backup/v1/policy_service_pb2.py +15 -15
  4. yandex/cloud/backup/v1/policy_service_pb2.pyi +5 -1
  5. yandex/cloud/backup/v1/resource_pb2.py +18 -16
  6. yandex/cloud/backup/v1/resource_pb2.pyi +26 -1
  7. yandex/cloud/datatransfer/v1/endpoint/clickhouse_pb2.py +1 -1
  8. yandex/cloud/datatransfer/v1/endpoint/clickhouse_pb2.pyi +3 -3
  9. yandex/cloud/datatransfer/v1/endpoint/common_pb2.py +1 -1
  10. yandex/cloud/datatransfer/v1/endpoint/common_pb2.pyi +3 -3
  11. yandex/cloud/datatransfer/v1/transfer_pb2.pyi +6 -4
  12. yandex/cloud/loadtesting/api/v1/common/quantiles_pb2.py +3 -1
  13. yandex/cloud/loadtesting/api/v1/common/quantiles_pb2.pyi +59 -0
  14. yandex/cloud/loadtesting/api/v1/regression/__init__.py +0 -0
  15. yandex/cloud/loadtesting/api/v1/regression/dashboard_pb2.py +30 -0
  16. yandex/cloud/loadtesting/api/v1/regression/dashboard_pb2.pyi +90 -0
  17. yandex/cloud/loadtesting/api/v1/regression/dashboard_pb2_grpc.py +4 -0
  18. yandex/cloud/loadtesting/api/v1/regression/dashboard_pb2_grpc.pyi +17 -0
  19. yandex/cloud/loadtesting/api/v1/regression/widget_pb2.py +37 -0
  20. yandex/cloud/loadtesting/api/v1/regression/widget_pb2.pyi +200 -0
  21. yandex/cloud/loadtesting/api/v1/regression/widget_pb2_grpc.py +4 -0
  22. yandex/cloud/loadtesting/api/v1/regression/widget_pb2_grpc.pyi +17 -0
  23. yandex/cloud/loadtesting/api/v1/regression_dashboard_service_pb2.py +86 -0
  24. yandex/cloud/loadtesting/api/v1/regression_dashboard_service_pb2.pyi +251 -0
  25. yandex/cloud/loadtesting/api/v1/regression_dashboard_service_pb2_grpc.py +210 -0
  26. yandex/cloud/loadtesting/api/v1/regression_dashboard_service_pb2_grpc.pyi +141 -0
  27. yandex/cloud/loadtesting/api/v1/report/kpi_pb2.py +49 -0
  28. yandex/cloud/loadtesting/api/v1/report/kpi_pb2.pyi +321 -0
  29. yandex/cloud/loadtesting/api/v1/report/kpi_pb2_grpc.py +4 -0
  30. yandex/cloud/loadtesting/api/v1/report/kpi_pb2_grpc.pyi +17 -0
  31. yandex/cloud/loadtesting/api/v1/report/kpi_value_pb2.py +26 -0
  32. yandex/cloud/loadtesting/api/v1/report/kpi_value_pb2.pyi +37 -0
  33. yandex/cloud/loadtesting/api/v1/report/kpi_value_pb2_grpc.py +4 -0
  34. yandex/cloud/loadtesting/api/v1/report/kpi_value_pb2_grpc.pyi +17 -0
  35. yandex/cloud/loadtesting/api/v1/report_service_pb2.py +25 -9
  36. yandex/cloud/loadtesting/api/v1/report_service_pb2.pyi +58 -0
  37. yandex/cloud/loadtesting/api/v1/report_service_pb2_grpc.py +34 -0
  38. yandex/cloud/loadtesting/api/v1/report_service_pb2_grpc.pyi +20 -0
  39. yandex/cloud/mdb/clickhouse/v1/cluster_pb2.py +32 -32
  40. yandex/cloud/mdb/clickhouse/v1/cluster_pb2.pyi +8 -2
  41. yandex/cloud/mdb/clickhouse/v1/cluster_service_pb2.py +12 -12
  42. yandex/cloud/mdb/clickhouse/v1/cluster_service_pb2.pyi +8 -2
  43. yandex/cloud/serverless/containers/v1/container_service_pb2.py +42 -42
  44. yandex/cloud/serverless/functions/v1/function_service_pb2.py +70 -70
  45. yandex/cloud/serverless/triggers/v1/trigger_service_pb2.py +32 -32
  46. yandex/cloud/video/v1/episode_service_pb2.py +44 -39
  47. yandex/cloud/video/v1/episode_service_pb2.pyi +33 -0
  48. yandex/cloud/video/v1/episode_service_pb2_grpc.py +34 -0
  49. yandex/cloud/video/v1/episode_service_pb2_grpc.pyi +20 -0
  50. yandex/cloud/video/v1/manifest_pb2.py +28 -0
  51. yandex/cloud/video/v1/manifest_pb2.pyi +55 -0
  52. yandex/cloud/video/v1/manifest_pb2_grpc.py +4 -0
  53. yandex/cloud/video/v1/manifest_pb2_grpc.pyi +17 -0
  54. yandex/cloud/video/v1/video_service_pb2.py +50 -45
  55. yandex/cloud/video/v1/video_service_pb2.pyi +33 -0
  56. yandex/cloud/video/v1/video_service_pb2_grpc.py +34 -0
  57. yandex/cloud/video/v1/video_service_pb2_grpc.pyi +20 -0
  58. {yandexcloud-0.300.0.dist-info → yandexcloud-0.302.0.dist-info}/METADATA +2 -2
  59. {yandexcloud-0.300.0.dist-info → yandexcloud-0.302.0.dist-info}/RECORD +63 -38
  60. {yandexcloud-0.300.0.dist-info → yandexcloud-0.302.0.dist-info}/WHEEL +1 -1
  61. {yandexcloud-0.300.0.dist-info → yandexcloud-0.302.0.dist-info}/AUTHORS +0 -0
  62. {yandexcloud-0.300.0.dist-info → yandexcloud-0.302.0.dist-info}/LICENSE +0 -0
  63. {yandexcloud-0.300.0.dist-info → yandexcloud-0.302.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,321 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import collections.abc
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import sys
13
+ import typing
14
+ import yandex.cloud.loadtesting.api.v1.common.quantiles_pb2
15
+
16
+ if sys.version_info >= (3, 10):
17
+ import typing as typing_extensions
18
+ else:
19
+ import typing_extensions
20
+
21
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
22
+
23
+ class _Aggregation:
24
+ ValueType = typing.NewType("ValueType", builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _AggregationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Aggregation.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ AGGREGATION_UNSPECIFIED: _Aggregation.ValueType # 0
30
+ """Unspecified."""
31
+ AGGREGATION_MIN: _Aggregation.ValueType # 1
32
+ """Minimum."""
33
+ AGGREGATION_MAX: _Aggregation.ValueType # 2
34
+ """Maximum."""
35
+ AGGREGATION_AVG: _Aggregation.ValueType # 4
36
+ """Average."""
37
+ AGGREGATION_MEDIAN: _Aggregation.ValueType # 5
38
+ """Median."""
39
+ AGGREGATION_STD_DEV: _Aggregation.ValueType # 6
40
+ """Standard deviation."""
41
+
42
+ class Aggregation(_Aggregation, metaclass=_AggregationEnumTypeWrapper):
43
+ """Aggregation function."""
44
+
45
+ AGGREGATION_UNSPECIFIED: Aggregation.ValueType # 0
46
+ """Unspecified."""
47
+ AGGREGATION_MIN: Aggregation.ValueType # 1
48
+ """Minimum."""
49
+ AGGREGATION_MAX: Aggregation.ValueType # 2
50
+ """Maximum."""
51
+ AGGREGATION_AVG: Aggregation.ValueType # 4
52
+ """Average."""
53
+ AGGREGATION_MEDIAN: Aggregation.ValueType # 5
54
+ """Median."""
55
+ AGGREGATION_STD_DEV: Aggregation.ValueType # 6
56
+ """Standard deviation."""
57
+ global___Aggregation = Aggregation
58
+
59
+ class _Comparison:
60
+ ValueType = typing.NewType("ValueType", builtins.int)
61
+ V: typing_extensions.TypeAlias = ValueType
62
+
63
+ class _ComparisonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Comparison.ValueType], builtins.type):
64
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
65
+ COMPARISON_UNSPECIFIED: _Comparison.ValueType # 0
66
+ """Unspecified."""
67
+ COMPARISON_LT: _Comparison.ValueType # 1
68
+ """Less than the specified value."""
69
+ COMPARISON_LTE: _Comparison.ValueType # 2
70
+ """Less than or equal to the specified value."""
71
+ COMPARISON_GT: _Comparison.ValueType # 3
72
+ """Greater than the specified value."""
73
+ COMPARISON_GTE: _Comparison.ValueType # 4
74
+ """Greater than or equal to the specified value."""
75
+
76
+ class Comparison(_Comparison, metaclass=_ComparisonEnumTypeWrapper):
77
+ """Comparison operator."""
78
+
79
+ COMPARISON_UNSPECIFIED: Comparison.ValueType # 0
80
+ """Unspecified."""
81
+ COMPARISON_LT: Comparison.ValueType # 1
82
+ """Less than the specified value."""
83
+ COMPARISON_LTE: Comparison.ValueType # 2
84
+ """Less than or equal to the specified value."""
85
+ COMPARISON_GT: Comparison.ValueType # 3
86
+ """Greater than the specified value."""
87
+ COMPARISON_GTE: Comparison.ValueType # 4
88
+ """Greater than or equal to the specified value."""
89
+ global___Comparison = Comparison
90
+
91
+ @typing.final
92
+ class Kpi(google.protobuf.message.Message):
93
+ """KPI (Key Performance Indicator) represents some integral indicator measured during test."""
94
+
95
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
96
+
97
+ SELECTOR_FIELD_NUMBER: builtins.int
98
+ THRESHOLD_FIELD_NUMBER: builtins.int
99
+ @property
100
+ def selector(self) -> global___KpiSelector:
101
+ """Kind of KPI."""
102
+
103
+ @property
104
+ def threshold(self) -> global___KpiThreshold:
105
+ """A condition that should be specified."""
106
+
107
+ def __init__(
108
+ self,
109
+ *,
110
+ selector: global___KpiSelector | None = ...,
111
+ threshold: global___KpiThreshold | None = ...,
112
+ ) -> None: ...
113
+ def HasField(self, field_name: typing.Literal["selector", b"selector", "threshold", b"threshold"]) -> builtins.bool: ...
114
+ def ClearField(self, field_name: typing.Literal["selector", b"selector", "threshold", b"threshold"]) -> None: ...
115
+
116
+ global___Kpi = Kpi
117
+
118
+ @typing.final
119
+ class KpiThreshold(google.protobuf.message.Message):
120
+ """KPI threshold represents a condition that an actual value of test's KPI should satisfy."""
121
+
122
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
123
+
124
+ VALUE_FIELD_NUMBER: builtins.int
125
+ COMPARISON_FIELD_NUMBER: builtins.int
126
+ value: builtins.float
127
+ """Value for comparison with an actual KPI value."""
128
+ comparison: global___Comparison.ValueType
129
+ """Comparison operator for comparing actual with the threshold value.
130
+
131
+ Rule: actual (</<=/>/>=) reference
132
+ """
133
+ def __init__(
134
+ self,
135
+ *,
136
+ value: builtins.float = ...,
137
+ comparison: global___Comparison.ValueType = ...,
138
+ ) -> None: ...
139
+ def ClearField(self, field_name: typing.Literal["comparison", b"comparison", "value", b"value"]) -> None: ...
140
+
141
+ global___KpiThreshold = KpiThreshold
142
+
143
+ @typing.final
144
+ class KpiSelector(google.protobuf.message.Message):
145
+ """KPI selector."""
146
+
147
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
148
+
149
+ @typing.final
150
+ class ResponseTime(google.protobuf.message.Message):
151
+ """Response time."""
152
+
153
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
154
+
155
+ QUANTILE_FIELD_NUMBER: builtins.int
156
+ quantile: yandex.cloud.loadtesting.api.v1.common.quantiles_pb2.QuantileType.ValueType
157
+ """Cummulative quantile (percentile)."""
158
+ def __init__(
159
+ self,
160
+ *,
161
+ quantile: yandex.cloud.loadtesting.api.v1.common.quantiles_pb2.QuantileType.ValueType = ...,
162
+ ) -> None: ...
163
+ def ClearField(self, field_name: typing.Literal["quantile", b"quantile"]) -> None: ...
164
+
165
+ @typing.final
166
+ class Instances(google.protobuf.message.Message):
167
+ """Aggregated number of instances."""
168
+
169
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
170
+
171
+ AGG_FIELD_NUMBER: builtins.int
172
+ agg: global___Aggregation.ValueType
173
+ """Aggregation function."""
174
+ def __init__(
175
+ self,
176
+ *,
177
+ agg: global___Aggregation.ValueType = ...,
178
+ ) -> None: ...
179
+ def ClearField(self, field_name: typing.Literal["agg", b"agg"]) -> None: ...
180
+
181
+ @typing.final
182
+ class ImbalanceRps(google.protobuf.message.Message):
183
+ """Imbalance RPS."""
184
+
185
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
186
+
187
+ def __init__(
188
+ self,
189
+ ) -> None: ...
190
+
191
+ @typing.final
192
+ class ProtocolCodesAbsolute(google.protobuf.message.Message):
193
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
194
+
195
+ CODES_PATTERNS_FIELD_NUMBER: builtins.int
196
+ @property
197
+ def codes_patterns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
198
+ """Protocol (HTTP, GRPC) code patterns to match.
199
+
200
+ All successful HTTP responses: ['2xx', '3xx'].
201
+ All failed HTTP responses: ['0', '4xx', '5xx'].
202
+ """
203
+
204
+ def __init__(
205
+ self,
206
+ *,
207
+ codes_patterns: collections.abc.Iterable[builtins.str] | None = ...,
208
+ ) -> None: ...
209
+ def ClearField(self, field_name: typing.Literal["codes_patterns", b"codes_patterns"]) -> None: ...
210
+
211
+ @typing.final
212
+ class ProtocolCodesRelative(google.protobuf.message.Message):
213
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
214
+
215
+ CODES_PATTERNS_FIELD_NUMBER: builtins.int
216
+ @property
217
+ def codes_patterns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
218
+ """Protocol (HTTP, GRPC) code patterns to match.
219
+
220
+ All successful HTTP responses: ['2xx', '3xx'].
221
+ All failed HTTP responses: ['0', '4xx', '5xx'].
222
+ """
223
+
224
+ def __init__(
225
+ self,
226
+ *,
227
+ codes_patterns: collections.abc.Iterable[builtins.str] | None = ...,
228
+ ) -> None: ...
229
+ def ClearField(self, field_name: typing.Literal["codes_patterns", b"codes_patterns"]) -> None: ...
230
+
231
+ @typing.final
232
+ class NetworkCodesAbsolute(google.protobuf.message.Message):
233
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
234
+
235
+ CODES_PATTERNS_FIELD_NUMBER: builtins.int
236
+ @property
237
+ def codes_patterns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
238
+ """Network code patterns to match.
239
+
240
+ All successful network responses: ['0'].
241
+ All failed network responses: ['xx', 'xxx'].
242
+ """
243
+
244
+ def __init__(
245
+ self,
246
+ *,
247
+ codes_patterns: collections.abc.Iterable[builtins.str] | None = ...,
248
+ ) -> None: ...
249
+ def ClearField(self, field_name: typing.Literal["codes_patterns", b"codes_patterns"]) -> None: ...
250
+
251
+ @typing.final
252
+ class NetworkCodesRelative(google.protobuf.message.Message):
253
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
254
+
255
+ CODES_PATTERNS_FIELD_NUMBER: builtins.int
256
+ @property
257
+ def codes_patterns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
258
+ """Network code patterns to match.
259
+
260
+ All successful network responses: ['0'].
261
+ All failed network responses: ['xx', 'xxx'].
262
+ """
263
+
264
+ def __init__(
265
+ self,
266
+ *,
267
+ codes_patterns: collections.abc.Iterable[builtins.str] | None = ...,
268
+ ) -> None: ...
269
+ def ClearField(self, field_name: typing.Literal["codes_patterns", b"codes_patterns"]) -> None: ...
270
+
271
+ RESPONSE_TIME_FIELD_NUMBER: builtins.int
272
+ INSTANCES_FIELD_NUMBER: builtins.int
273
+ IMBALANCE_RPS_FIELD_NUMBER: builtins.int
274
+ PROTOCOL_CODES_ABSOLUTE_FIELD_NUMBER: builtins.int
275
+ PROTOCOL_CODES_RELATIVE_FIELD_NUMBER: builtins.int
276
+ NETWORK_CODES_ABSOLUTE_FIELD_NUMBER: builtins.int
277
+ NETWORK_CODES_RELATIVE_FIELD_NUMBER: builtins.int
278
+ @property
279
+ def response_time(self) -> global___KpiSelector.ResponseTime:
280
+ """Response time cummulative quantile (percentile)."""
281
+
282
+ @property
283
+ def instances(self) -> global___KpiSelector.Instances:
284
+ """A number of instances throughout the test."""
285
+
286
+ @property
287
+ def imbalance_rps(self) -> global___KpiSelector.ImbalanceRps:
288
+ """An RPS at the moment the test has been auto-stopped."""
289
+
290
+ @property
291
+ def protocol_codes_absolute(self) -> global___KpiSelector.ProtocolCodesAbsolute:
292
+ """A total number of requests completed with certain protocol (HTTP, GRPC, etc.) codes."""
293
+
294
+ @property
295
+ def protocol_codes_relative(self) -> global___KpiSelector.ProtocolCodesRelative:
296
+ """A percentage of requests completed with certain protocol (HTTP, GRPC, etc.) codes."""
297
+
298
+ @property
299
+ def network_codes_absolute(self) -> global___KpiSelector.NetworkCodesAbsolute:
300
+ """A total number of requests completed with certain network codes."""
301
+
302
+ @property
303
+ def network_codes_relative(self) -> global___KpiSelector.NetworkCodesRelative:
304
+ """A percentage of requests completed with certain network codes."""
305
+
306
+ def __init__(
307
+ self,
308
+ *,
309
+ response_time: global___KpiSelector.ResponseTime | None = ...,
310
+ instances: global___KpiSelector.Instances | None = ...,
311
+ imbalance_rps: global___KpiSelector.ImbalanceRps | None = ...,
312
+ protocol_codes_absolute: global___KpiSelector.ProtocolCodesAbsolute | None = ...,
313
+ protocol_codes_relative: global___KpiSelector.ProtocolCodesRelative | None = ...,
314
+ network_codes_absolute: global___KpiSelector.NetworkCodesAbsolute | None = ...,
315
+ network_codes_relative: global___KpiSelector.NetworkCodesRelative | None = ...,
316
+ ) -> None: ...
317
+ def HasField(self, field_name: typing.Literal["imbalance_rps", b"imbalance_rps", "instances", b"instances", "kind", b"kind", "network_codes_absolute", b"network_codes_absolute", "network_codes_relative", b"network_codes_relative", "protocol_codes_absolute", b"protocol_codes_absolute", "protocol_codes_relative", b"protocol_codes_relative", "response_time", b"response_time"]) -> builtins.bool: ...
318
+ def ClearField(self, field_name: typing.Literal["imbalance_rps", b"imbalance_rps", "instances", b"instances", "kind", b"kind", "network_codes_absolute", b"network_codes_absolute", "network_codes_relative", b"network_codes_relative", "protocol_codes_absolute", b"protocol_codes_absolute", "protocol_codes_relative", b"protocol_codes_relative", "response_time", b"response_time"]) -> None: ...
319
+ def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["response_time", "instances", "imbalance_rps", "protocol_codes_absolute", "protocol_codes_relative", "network_codes_absolute", "network_codes_relative"] | None: ...
320
+
321
+ global___KpiSelector = KpiSelector
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,17 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import abc
7
+ import collections.abc
8
+ import grpc
9
+ import grpc.aio
10
+ import typing
11
+
12
+ _T = typing.TypeVar("_T")
13
+
14
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
15
+
16
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
17
+ ...
@@ -0,0 +1,26 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: yandex/cloud/loadtesting/api/v1/report/kpi_value.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import descriptor_pool as _descriptor_pool
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ from google.protobuf.internal import builder as _builder
9
+ # @@protoc_insertion_point(imports)
10
+
11
+ _sym_db = _symbol_database.Default()
12
+
13
+
14
+
15
+
16
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6yandex/cloud/loadtesting/api/v1/report/kpi_value.proto\x12&yandex.cloud.loadtesting.api.v1.report\"9\n\x08KpiValue\x12\x0f\n\x07test_id\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01\x12\r\n\x05is_ok\x18\x03 \x01(\x08\x42\x7f\n*yandex.cloud.api.loadtesting.api.v1.reportZQgithub.com/yandex-cloud/go-genproto/yandex/cloud/loadtesting/api/v1/report;reportb\x06proto3')
17
+
18
+ _globals = globals()
19
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
20
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'yandex.cloud.loadtesting.api.v1.report.kpi_value_pb2', _globals)
21
+ if _descriptor._USE_C_DESCRIPTORS == False:
22
+ DESCRIPTOR._options = None
23
+ DESCRIPTOR._serialized_options = b'\n*yandex.cloud.api.loadtesting.api.v1.reportZQgithub.com/yandex-cloud/go-genproto/yandex/cloud/loadtesting/api/v1/report;report'
24
+ _globals['_KPIVALUE']._serialized_start=98
25
+ _globals['_KPIVALUE']._serialized_end=155
26
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,37 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.message
9
+ import typing
10
+
11
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
12
+
13
+ @typing.final
14
+ class KpiValue(google.protobuf.message.Message):
15
+ """An actual value of test's KPI."""
16
+
17
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
18
+
19
+ TEST_ID_FIELD_NUMBER: builtins.int
20
+ VALUE_FIELD_NUMBER: builtins.int
21
+ IS_OK_FIELD_NUMBER: builtins.int
22
+ test_id: builtins.str
23
+ """ID of a test."""
24
+ value: builtins.float
25
+ """Value of KPI."""
26
+ is_ok: builtins.bool
27
+ """A flag indicating whether the value satisfies KPI threshold condition."""
28
+ def __init__(
29
+ self,
30
+ *,
31
+ test_id: builtins.str = ...,
32
+ value: builtins.float = ...,
33
+ is_ok: builtins.bool = ...,
34
+ ) -> None: ...
35
+ def ClearField(self, field_name: typing.Literal["is_ok", b"is_ok", "test_id", b"test_id", "value", b"value"]) -> None: ...
36
+
37
+ global___KpiValue = KpiValue
@@ -0,0 +1,4 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+
@@ -0,0 +1,17 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import abc
7
+ import collections.abc
8
+ import grpc
9
+ import grpc.aio
10
+ import typing
11
+
12
+ _T = typing.TypeVar("_T")
13
+
14
+ class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
15
+
16
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
17
+ ...
@@ -12,12 +12,14 @@ _sym_db = _symbol_database.Default()
12
12
 
13
13
 
14
14
  from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
15
+ from yandex.cloud.loadtesting.api.v1.report import kpi_pb2 as yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report_dot_kpi__pb2
16
+ from yandex.cloud.loadtesting.api.v1.report import kpi_value_pb2 as yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report_dot_kpi__value__pb2
15
17
  from yandex.cloud.loadtesting.api.v1.report.table import report_pb2 as yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report_dot_table_dot_report__pb2
16
18
  from yandex.cloud.loadtesting.api.v1.report import status_pb2 as yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report_dot_status__pb2
17
19
  from yandex.cloud import validation_pb2 as yandex_dot_cloud_dot_validation__pb2
18
20
 
19
21
 
20
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4yandex/cloud/loadtesting/api/v1/report_service.proto\x12\x1fyandex.cloud.loadtesting.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x39yandex/cloud/loadtesting/api/v1/report/table/report.proto\x1a\x33yandex/cloud/loadtesting/api/v1/report/status.proto\x1a\x1dyandex/cloud/validation.proto\".\n\x15GetTableReportRequest\x12\x15\n\x07test_id\x18\x01 \x01(\tB\x04\xe8\xc7\x31\x01\"\xd6\x02\n\x16GetTableReportResponse\x12>\n\x06status\x18\x01 \x01(\x0e\x32..yandex.cloud.loadtesting.api.v1.report.Status\x12\x45\n\x07overall\x18\x02 \x01(\x0b\x32\x34.yandex.cloud.loadtesting.api.v1.report.table.Report\x12Q\n\x05\x63\x61ses\x18\x03 \x03(\x0b\x32\x42.yandex.cloud.loadtesting.api.v1.GetTableReportResponse.CasesEntry\x1a\x62\n\nCasesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\x34.yandex.cloud.loadtesting.api.v1.report.table.Report:\x02\x38\x01\x32\xc2\x01\n\rReportService\x12\xb0\x01\n\x08GetTable\x12\x36.yandex.cloud.loadtesting.api.v1.GetTableReportRequest\x1a\x37.yandex.cloud.loadtesting.api.v1.GetTableReportResponse\"3\x82\xd3\xe4\x93\x02-\x12+/loadtesting/api/v1/reports/{test_id}/tableBv\n#yandex.cloud.api.loadtesting.api.v1ZOgithub.com/yandex-cloud/go-genproto/yandex/cloud/loadtesting/api/v1;loadtestingb\x06proto3')
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4yandex/cloud/loadtesting/api/v1/report_service.proto\x12\x1fyandex.cloud.loadtesting.api.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x30yandex/cloud/loadtesting/api/v1/report/kpi.proto\x1a\x36yandex/cloud/loadtesting/api/v1/report/kpi_value.proto\x1a\x39yandex/cloud/loadtesting/api/v1/report/table/report.proto\x1a\x33yandex/cloud/loadtesting/api/v1/report/status.proto\x1a\x1dyandex/cloud/validation.proto\".\n\x15GetTableReportRequest\x12\x15\n\x07test_id\x18\x01 \x01(\tB\x04\xe8\xc7\x31\x01\"\xd6\x02\n\x16GetTableReportResponse\x12>\n\x06status\x18\x01 \x01(\x0e\x32..yandex.cloud.loadtesting.api.v1.report.Status\x12\x45\n\x07overall\x18\x02 \x01(\x0b\x32\x34.yandex.cloud.loadtesting.api.v1.report.table.Report\x12Q\n\x05\x63\x61ses\x18\x03 \x03(\x0b\x32\x42.yandex.cloud.loadtesting.api.v1.GetTableReportResponse.CasesEntry\x1a\x62\n\nCasesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\x34.yandex.cloud.loadtesting.api.v1.report.table.Report:\x02\x38\x01\"\xc5\x01\n\x1f\x43\x61lculateReportKpiValuesRequest\x12\x1f\n\tfolder_id\x18\x01 \x01(\tB\x0c\xe8\xc7\x31\x01\x8a\xc8\x31\x04<=50\x12#\n\x0btest_filter\x18\x02 \x01(\tB\x0e\xe8\xc7\x31\x01\x8a\xc8\x31\x06<=1000\x12\x1c\n\ttest_case\x18\x03 \x01(\tB\t\x8a\xc8\x31\x05<=100\x12>\n\x03kpi\x18\x04 \x01(\x0b\x32+.yandex.cloud.loadtesting.api.v1.report.KpiB\x04\xe8\xc7\x31\x01\"w\n CalculateReportKpiValuesResponse\x12\x11\n\tfolder_id\x18\x01 \x01(\t\x12@\n\x06values\x18\x02 \x03(\x0b\x32\x30.yandex.cloud.loadtesting.api.v1.report.KpiValue2\x99\x03\n\rReportService\x12\xb0\x01\n\x08GetTable\x12\x36.yandex.cloud.loadtesting.api.v1.GetTableReportRequest\x1a\x37.yandex.cloud.loadtesting.api.v1.GetTableReportResponse\"3\x82\xd3\xe4\x93\x02-\x12+/loadtesting/api/v1/reports/{test_id}/table\x12\xd4\x01\n\x12\x43\x61lculateKpiValues\x12@.yandex.cloud.loadtesting.api.v1.CalculateReportKpiValuesRequest\x1a\x41.yandex.cloud.loadtesting.api.v1.CalculateReportKpiValuesResponse\"9\x82\xd3\xe4\x93\x02\x33\"./loadtesting/api/v1/reports/calculateKpiValues:\x01*Bv\n#yandex.cloud.api.loadtesting.api.v1ZOgithub.com/yandex-cloud/go-genproto/yandex/cloud/loadtesting/api/v1;loadtestingb\x06proto3')
21
23
 
22
24
  _globals = globals()
23
25
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -29,14 +31,28 @@ if _descriptor._USE_C_DESCRIPTORS == False:
29
31
  _GETTABLEREPORTREQUEST.fields_by_name['test_id']._serialized_options = b'\350\3071\001'
30
32
  _GETTABLEREPORTRESPONSE_CASESENTRY._options = None
31
33
  _GETTABLEREPORTRESPONSE_CASESENTRY._serialized_options = b'8\001'
34
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['folder_id']._options = None
35
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['folder_id']._serialized_options = b'\350\3071\001\212\3101\004<=50'
36
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['test_filter']._options = None
37
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['test_filter']._serialized_options = b'\350\3071\001\212\3101\006<=1000'
38
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['test_case']._options = None
39
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['test_case']._serialized_options = b'\212\3101\005<=100'
40
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['kpi']._options = None
41
+ _CALCULATEREPORTKPIVALUESREQUEST.fields_by_name['kpi']._serialized_options = b'\350\3071\001'
32
42
  _REPORTSERVICE.methods_by_name['GetTable']._options = None
33
43
  _REPORTSERVICE.methods_by_name['GetTable']._serialized_options = b'\202\323\344\223\002-\022+/loadtesting/api/v1/reports/{test_id}/table'
34
- _globals['_GETTABLEREPORTREQUEST']._serialized_start=262
35
- _globals['_GETTABLEREPORTREQUEST']._serialized_end=308
36
- _globals['_GETTABLEREPORTRESPONSE']._serialized_start=311
37
- _globals['_GETTABLEREPORTRESPONSE']._serialized_end=653
38
- _globals['_GETTABLEREPORTRESPONSE_CASESENTRY']._serialized_start=555
39
- _globals['_GETTABLEREPORTRESPONSE_CASESENTRY']._serialized_end=653
40
- _globals['_REPORTSERVICE']._serialized_start=656
41
- _globals['_REPORTSERVICE']._serialized_end=850
44
+ _REPORTSERVICE.methods_by_name['CalculateKpiValues']._options = None
45
+ _REPORTSERVICE.methods_by_name['CalculateKpiValues']._serialized_options = b'\202\323\344\223\0023\"./loadtesting/api/v1/reports/calculateKpiValues:\001*'
46
+ _globals['_GETTABLEREPORTREQUEST']._serialized_start=368
47
+ _globals['_GETTABLEREPORTREQUEST']._serialized_end=414
48
+ _globals['_GETTABLEREPORTRESPONSE']._serialized_start=417
49
+ _globals['_GETTABLEREPORTRESPONSE']._serialized_end=759
50
+ _globals['_GETTABLEREPORTRESPONSE_CASESENTRY']._serialized_start=661
51
+ _globals['_GETTABLEREPORTRESPONSE_CASESENTRY']._serialized_end=759
52
+ _globals['_CALCULATEREPORTKPIVALUESREQUEST']._serialized_start=762
53
+ _globals['_CALCULATEREPORTKPIVALUESREQUEST']._serialized_end=959
54
+ _globals['_CALCULATEREPORTKPIVALUESRESPONSE']._serialized_start=961
55
+ _globals['_CALCULATEREPORTKPIVALUESRESPONSE']._serialized_end=1080
56
+ _globals['_REPORTSERVICE']._serialized_start=1083
57
+ _globals['_REPORTSERVICE']._serialized_end=1492
42
58
  # @@protoc_insertion_point(module_scope)
@@ -9,6 +9,8 @@ import google.protobuf.descriptor
9
9
  import google.protobuf.internal.containers
10
10
  import google.protobuf.message
11
11
  import typing
12
+ import yandex.cloud.loadtesting.api.v1.report.kpi_pb2
13
+ import yandex.cloud.loadtesting.api.v1.report.kpi_value_pb2
12
14
  import yandex.cloud.loadtesting.api.v1.report.status_pb2
13
15
  import yandex.cloud.loadtesting.api.v1.report.table.report_pb2
14
16
 
@@ -76,3 +78,59 @@ class GetTableReportResponse(google.protobuf.message.Message):
76
78
  def ClearField(self, field_name: typing.Literal["cases", b"cases", "overall", b"overall", "status", b"status"]) -> None: ...
77
79
 
78
80
  global___GetTableReportResponse = GetTableReportResponse
81
+
82
+ @typing.final
83
+ class CalculateReportKpiValuesRequest(google.protobuf.message.Message):
84
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
85
+
86
+ FOLDER_ID_FIELD_NUMBER: builtins.int
87
+ TEST_FILTER_FIELD_NUMBER: builtins.int
88
+ TEST_CASE_FIELD_NUMBER: builtins.int
89
+ KPI_FIELD_NUMBER: builtins.int
90
+ folder_id: builtins.str
91
+ """ID of the folder containing tests."""
92
+ test_filter: builtins.str
93
+ """Test filter selector to calculate KPI values for."""
94
+ test_case: builtins.str
95
+ """Test case to calculate KPI values for.
96
+
97
+ If not specified, KPI values will be calculated for 'overall' case.
98
+ """
99
+ @property
100
+ def kpi(self) -> yandex.cloud.loadtesting.api.v1.report.kpi_pb2.Kpi:
101
+ """KPI to be calculated."""
102
+
103
+ def __init__(
104
+ self,
105
+ *,
106
+ folder_id: builtins.str = ...,
107
+ test_filter: builtins.str = ...,
108
+ test_case: builtins.str = ...,
109
+ kpi: yandex.cloud.loadtesting.api.v1.report.kpi_pb2.Kpi | None = ...,
110
+ ) -> None: ...
111
+ def HasField(self, field_name: typing.Literal["kpi", b"kpi"]) -> builtins.bool: ...
112
+ def ClearField(self, field_name: typing.Literal["folder_id", b"folder_id", "kpi", b"kpi", "test_case", b"test_case", "test_filter", b"test_filter"]) -> None: ...
113
+
114
+ global___CalculateReportKpiValuesRequest = CalculateReportKpiValuesRequest
115
+
116
+ @typing.final
117
+ class CalculateReportKpiValuesResponse(google.protobuf.message.Message):
118
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
119
+
120
+ FOLDER_ID_FIELD_NUMBER: builtins.int
121
+ VALUES_FIELD_NUMBER: builtins.int
122
+ folder_id: builtins.str
123
+ """ID of the folder."""
124
+ @property
125
+ def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.loadtesting.api.v1.report.kpi_value_pb2.KpiValue]:
126
+ """Actual KPI values."""
127
+
128
+ def __init__(
129
+ self,
130
+ *,
131
+ folder_id: builtins.str = ...,
132
+ values: collections.abc.Iterable[yandex.cloud.loadtesting.api.v1.report.kpi_value_pb2.KpiValue] | None = ...,
133
+ ) -> None: ...
134
+ def ClearField(self, field_name: typing.Literal["folder_id", b"folder_id", "values", b"values"]) -> None: ...
135
+
136
+ global___CalculateReportKpiValuesResponse = CalculateReportKpiValuesResponse
@@ -20,6 +20,11 @@ class ReportServiceStub(object):
20
20
  request_serializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.GetTableReportRequest.SerializeToString,
21
21
  response_deserializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.GetTableReportResponse.FromString,
22
22
  )
23
+ self.CalculateKpiValues = channel.unary_unary(
24
+ '/yandex.cloud.loadtesting.api.v1.ReportService/CalculateKpiValues',
25
+ request_serializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.CalculateReportKpiValuesRequest.SerializeToString,
26
+ response_deserializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.CalculateReportKpiValuesResponse.FromString,
27
+ )
23
28
 
24
29
 
25
30
  class ReportServiceServicer(object):
@@ -33,6 +38,13 @@ class ReportServiceServicer(object):
33
38
  context.set_details('Method not implemented!')
34
39
  raise NotImplementedError('Method not implemented!')
35
40
 
41
+ def CalculateKpiValues(self, request, context):
42
+ """Returns a list of KPI values for tests matching the specified filter.
43
+ """
44
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
45
+ context.set_details('Method not implemented!')
46
+ raise NotImplementedError('Method not implemented!')
47
+
36
48
 
37
49
  def add_ReportServiceServicer_to_server(servicer, server):
38
50
  rpc_method_handlers = {
@@ -41,6 +53,11 @@ def add_ReportServiceServicer_to_server(servicer, server):
41
53
  request_deserializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.GetTableReportRequest.FromString,
42
54
  response_serializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.GetTableReportResponse.SerializeToString,
43
55
  ),
56
+ 'CalculateKpiValues': grpc.unary_unary_rpc_method_handler(
57
+ servicer.CalculateKpiValues,
58
+ request_deserializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.CalculateReportKpiValuesRequest.FromString,
59
+ response_serializer=yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.CalculateReportKpiValuesResponse.SerializeToString,
60
+ ),
44
61
  }
45
62
  generic_handler = grpc.method_handlers_generic_handler(
46
63
  'yandex.cloud.loadtesting.api.v1.ReportService', rpc_method_handlers)
@@ -68,3 +85,20 @@ class ReportService(object):
68
85
  yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.GetTableReportResponse.FromString,
69
86
  options, channel_credentials,
70
87
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
88
+
89
+ @staticmethod
90
+ def CalculateKpiValues(request,
91
+ target,
92
+ options=(),
93
+ channel_credentials=None,
94
+ call_credentials=None,
95
+ insecure=False,
96
+ compression=None,
97
+ wait_for_ready=None,
98
+ timeout=None,
99
+ metadata=None):
100
+ return grpc.experimental.unary_unary(request, target, '/yandex.cloud.loadtesting.api.v1.ReportService/CalculateKpiValues',
101
+ yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.CalculateReportKpiValuesRequest.SerializeToString,
102
+ yandex_dot_cloud_dot_loadtesting_dot_api_dot_v1_dot_report__service__pb2.CalculateReportKpiValuesResponse.FromString,
103
+ options, channel_credentials,
104
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -27,6 +27,12 @@ class ReportServiceStub:
27
27
  ]
28
28
  """Returns a report table for the specified test."""
29
29
 
30
+ CalculateKpiValues: grpc.UnaryUnaryMultiCallable[
31
+ yandex.cloud.loadtesting.api.v1.report_service_pb2.CalculateReportKpiValuesRequest,
32
+ yandex.cloud.loadtesting.api.v1.report_service_pb2.CalculateReportKpiValuesResponse,
33
+ ]
34
+ """Returns a list of KPI values for tests matching the specified filter."""
35
+
30
36
  class ReportServiceAsyncStub:
31
37
  """A set of methods for managing test reports."""
32
38
 
@@ -36,6 +42,12 @@ class ReportServiceAsyncStub:
36
42
  ]
37
43
  """Returns a report table for the specified test."""
38
44
 
45
+ CalculateKpiValues: grpc.aio.UnaryUnaryMultiCallable[
46
+ yandex.cloud.loadtesting.api.v1.report_service_pb2.CalculateReportKpiValuesRequest,
47
+ yandex.cloud.loadtesting.api.v1.report_service_pb2.CalculateReportKpiValuesResponse,
48
+ ]
49
+ """Returns a list of KPI values for tests matching the specified filter."""
50
+
39
51
  class ReportServiceServicer(metaclass=abc.ABCMeta):
40
52
  """A set of methods for managing test reports."""
41
53
 
@@ -47,4 +59,12 @@ class ReportServiceServicer(metaclass=abc.ABCMeta):
47
59
  ) -> typing.Union[yandex.cloud.loadtesting.api.v1.report_service_pb2.GetTableReportResponse, collections.abc.Awaitable[yandex.cloud.loadtesting.api.v1.report_service_pb2.GetTableReportResponse]]:
48
60
  """Returns a report table for the specified test."""
49
61
 
62
+ @abc.abstractmethod
63
+ def CalculateKpiValues(
64
+ self,
65
+ request: yandex.cloud.loadtesting.api.v1.report_service_pb2.CalculateReportKpiValuesRequest,
66
+ context: _ServicerContext,
67
+ ) -> typing.Union[yandex.cloud.loadtesting.api.v1.report_service_pb2.CalculateReportKpiValuesResponse, collections.abc.Awaitable[yandex.cloud.loadtesting.api.v1.report_service_pb2.CalculateReportKpiValuesResponse]]:
68
+ """Returns a list of KPI values for tests matching the specified filter."""
69
+
50
70
  def add_ReportServiceServicer_to_server(servicer: ReportServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...