sift-stack-py 0.3.2__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.
- google/__init__.py +1 -0
- google/api/__init__.py +0 -0
- google/api/annotations_pb2.py +27 -0
- google/api/annotations_pb2.pyi +29 -0
- google/api/annotations_pb2_grpc.py +4 -0
- google/api/annotations_pb2_grpc.pyi +30 -0
- google/api/field_behavior_pb2.py +30 -0
- google/api/field_behavior_pb2.pyi +175 -0
- google/api/field_behavior_pb2_grpc.py +4 -0
- google/api/field_behavior_pb2_grpc.pyi +30 -0
- google/api/http_pb2.py +31 -0
- google/api/http_pb2.pyi +433 -0
- google/api/http_pb2_grpc.py +4 -0
- google/api/http_pb2_grpc.pyi +30 -0
- protoc_gen_openapiv2/__init__.py +0 -0
- protoc_gen_openapiv2/options/__init__.py +0 -0
- protoc_gen_openapiv2/options/annotations_pb2.py +27 -0
- protoc_gen_openapiv2/options/annotations_pb2.pyi +48 -0
- protoc_gen_openapiv2/options/annotations_pb2_grpc.py +4 -0
- protoc_gen_openapiv2/options/annotations_pb2_grpc.pyi +17 -0
- protoc_gen_openapiv2/options/openapiv2_pb2.py +132 -0
- protoc_gen_openapiv2/options/openapiv2_pb2.pyi +1533 -0
- protoc_gen_openapiv2/options/openapiv2_pb2_grpc.py +4 -0
- protoc_gen_openapiv2/options/openapiv2_pb2_grpc.pyi +17 -0
- sift/__init__.py +0 -0
- sift/annotation_logs/__init__.py +0 -0
- sift/annotation_logs/v1/__init__.py +0 -0
- sift/annotation_logs/v1/annotation_logs_pb2.py +115 -0
- sift/annotation_logs/v1/annotation_logs_pb2.pyi +370 -0
- sift/annotation_logs/v1/annotation_logs_pb2_grpc.py +135 -0
- sift/annotation_logs/v1/annotation_logs_pb2_grpc.pyi +84 -0
- sift/annotations/__init__.py +0 -0
- sift/annotations/v1/__init__.py +0 -0
- sift/annotations/v1/annotations_pb2.py +180 -0
- sift/annotations/v1/annotations_pb2.pyi +539 -0
- sift/annotations/v1/annotations_pb2_grpc.py +237 -0
- sift/annotations/v1/annotations_pb2_grpc.pyi +144 -0
- sift/assets/__init__.py +0 -0
- sift/assets/v1/__init__.py +0 -0
- sift/assets/v1/assets_pb2.py +90 -0
- sift/assets/v1/assets_pb2.pyi +235 -0
- sift/assets/v1/assets_pb2_grpc.py +168 -0
- sift/assets/v1/assets_pb2_grpc.pyi +101 -0
- sift/calculated_channels/__init__.py +0 -0
- sift/calculated_channels/v1/__init__.py +0 -0
- sift/calculated_channels/v1/calculated_channels_pb2.py +99 -0
- sift/calculated_channels/v1/calculated_channels_pb2.pyi +280 -0
- sift/calculated_channels/v1/calculated_channels_pb2_grpc.py +101 -0
- sift/calculated_channels/v1/calculated_channels_pb2_grpc.pyi +64 -0
- sift/campaigns/__init__.py +0 -0
- sift/campaigns/v1/__init__.py +0 -0
- sift/campaigns/v1/campaigns_pb2.py +144 -0
- sift/campaigns/v1/campaigns_pb2.pyi +383 -0
- sift/campaigns/v1/campaigns_pb2_grpc.py +169 -0
- sift/campaigns/v1/campaigns_pb2_grpc.pyi +104 -0
- sift/channel_schemas/__init__.py +0 -0
- sift/channel_schemas/v1/__init__.py +0 -0
- sift/channel_schemas/v1/channel_schemas_pb2.py +69 -0
- sift/channel_schemas/v1/channel_schemas_pb2.pyi +117 -0
- sift/channel_schemas/v1/channel_schemas_pb2_grpc.py +101 -0
- sift/channel_schemas/v1/channel_schemas_pb2_grpc.pyi +64 -0
- sift/channels/__init__.py +0 -0
- sift/channels/v2/__init__.py +0 -0
- sift/channels/v2/channels_pb2.py +88 -0
- sift/channels/v2/channels_pb2.pyi +183 -0
- sift/channels/v2/channels_pb2_grpc.py +101 -0
- sift/channels/v2/channels_pb2_grpc.pyi +64 -0
- sift/common/__init__.py +0 -0
- sift/common/type/__init__.py +0 -0
- sift/common/type/v1/__init__.py +0 -0
- sift/common/type/v1/channel_bit_field_element_pb2.py +34 -0
- sift/common/type/v1/channel_bit_field_element_pb2.pyi +33 -0
- sift/common/type/v1/channel_bit_field_element_pb2_grpc.py +4 -0
- sift/common/type/v1/channel_bit_field_element_pb2_grpc.pyi +17 -0
- sift/common/type/v1/channel_data_type_pb2.py +29 -0
- sift/common/type/v1/channel_data_type_pb2.pyi +50 -0
- sift/common/type/v1/channel_data_type_pb2_grpc.py +4 -0
- sift/common/type/v1/channel_data_type_pb2_grpc.pyi +17 -0
- sift/common/type/v1/channel_enum_type_pb2.py +32 -0
- sift/common/type/v1/channel_enum_type_pb2.pyi +29 -0
- sift/common/type/v1/channel_enum_type_pb2_grpc.py +4 -0
- sift/common/type/v1/channel_enum_type_pb2_grpc.pyi +17 -0
- sift/common/type/v1/organization_pb2.py +27 -0
- sift/common/type/v1/organization_pb2.pyi +29 -0
- sift/common/type/v1/organization_pb2_grpc.py +4 -0
- sift/common/type/v1/organization_pb2_grpc.pyi +17 -0
- sift/common/type/v1/resource_identifier_pb2.py +46 -0
- sift/common/type/v1/resource_identifier_pb2.pyi +145 -0
- sift/common/type/v1/resource_identifier_pb2_grpc.py +4 -0
- sift/common/type/v1/resource_identifier_pb2_grpc.pyi +17 -0
- sift/common/type/v1/user_pb2.py +33 -0
- sift/common/type/v1/user_pb2.pyi +36 -0
- sift/common/type/v1/user_pb2_grpc.py +4 -0
- sift/common/type/v1/user_pb2_grpc.pyi +17 -0
- sift/data/__init__.py +0 -0
- sift/data/v1/__init__.py +0 -0
- sift/data/v1/data_pb2.py +212 -0
- sift/data/v1/data_pb2.pyi +745 -0
- sift/data/v1/data_pb2_grpc.py +67 -0
- sift/data/v1/data_pb2_grpc.pyi +44 -0
- sift/ingest/__init__.py +0 -0
- sift/ingest/v1/__init__.py +0 -0
- sift/ingest/v1/ingest_pb2.py +35 -0
- sift/ingest/v1/ingest_pb2.pyi +118 -0
- sift/ingest/v1/ingest_pb2_grpc.py +66 -0
- sift/ingest/v1/ingest_pb2_grpc.pyi +41 -0
- sift/ingestion_configs/__init__.py +0 -0
- sift/ingestion_configs/v1/__init__.py +0 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2.py +115 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2.pyi +332 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.py +203 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.pyi +124 -0
- sift/notifications/__init__.py +0 -0
- sift/notifications/v1/__init__.py +0 -0
- sift/notifications/v1/notifications_pb2.py +64 -0
- sift/notifications/v1/notifications_pb2.pyi +225 -0
- sift/notifications/v1/notifications_pb2_grpc.py +101 -0
- sift/notifications/v1/notifications_pb2_grpc.pyi +64 -0
- sift/ping/__init__.py +0 -0
- sift/ping/v1/__init__.py +0 -0
- sift/ping/v1/ping_pb2.py +38 -0
- sift/ping/v1/ping_pb2.pyi +36 -0
- sift/ping/v1/ping_pb2_grpc.py +66 -0
- sift/ping/v1/ping_pb2_grpc.pyi +41 -0
- sift/remote_files/__init__.py +0 -0
- sift/remote_files/v1/__init__.py +0 -0
- sift/remote_files/v1/remote_files_pb2.py +174 -0
- sift/remote_files/v1/remote_files_pb2.pyi +472 -0
- sift/remote_files/v1/remote_files_pb2_grpc.py +271 -0
- sift/remote_files/v1/remote_files_pb2_grpc.pyi +164 -0
- sift/report_templates/__init__.py +0 -0
- sift/report_templates/v1/__init__.py +0 -0
- sift/report_templates/v1/report_templates_pb2.py +146 -0
- sift/report_templates/v1/report_templates_pb2.pyi +381 -0
- sift/report_templates/v1/report_templates_pb2_grpc.py +169 -0
- sift/report_templates/v1/report_templates_pb2_grpc.pyi +104 -0
- sift/reports/__init__.py +0 -0
- sift/reports/v1/__init__.py +0 -0
- sift/reports/v1/reports_pb2.py +193 -0
- sift/reports/v1/reports_pb2.pyi +562 -0
- sift/reports/v1/reports_pb2_grpc.py +205 -0
- sift/reports/v1/reports_pb2_grpc.pyi +136 -0
- sift/rule_evaluation/__init__.py +0 -0
- sift/rule_evaluation/v1/__init__.py +0 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2.py +89 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2.pyi +263 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.py +101 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.pyi +64 -0
- sift/rules/__init__.py +0 -0
- sift/rules/v1/__init__.py +0 -0
- sift/rules/v1/rules_pb2.py +420 -0
- sift/rules/v1/rules_pb2.pyi +1355 -0
- sift/rules/v1/rules_pb2_grpc.py +577 -0
- sift/rules/v1/rules_pb2_grpc.pyi +351 -0
- sift/runs/__init__.py +0 -0
- sift/runs/v2/__init__.py +0 -0
- sift/runs/v2/runs_pb2.py +150 -0
- sift/runs/v2/runs_pb2.pyi +413 -0
- sift/runs/v2/runs_pb2_grpc.py +271 -0
- sift/runs/v2/runs_pb2_grpc.pyi +164 -0
- sift/saved_searches/__init__.py +0 -0
- sift/saved_searches/v1/__init__.py +0 -0
- sift/saved_searches/v1/saved_searches_pb2.py +144 -0
- sift/saved_searches/v1/saved_searches_pb2.pyi +385 -0
- sift/saved_searches/v1/saved_searches_pb2_grpc.py +237 -0
- sift/saved_searches/v1/saved_searches_pb2_grpc.pyi +144 -0
- sift/tags/__init__.py +0 -0
- sift/tags/v1/__init__.py +0 -0
- sift/tags/v1/tags_pb2.py +49 -0
- sift/tags/v1/tags_pb2.pyi +71 -0
- sift/tags/v1/tags_pb2_grpc.py +4 -0
- sift/tags/v1/tags_pb2_grpc.pyi +17 -0
- sift/users/__init__.py +0 -0
- sift/users/v2/__init__.py +0 -0
- sift/users/v2/users_pb2.py +61 -0
- sift/users/v2/users_pb2.pyi +142 -0
- sift/users/v2/users_pb2_grpc.py +135 -0
- sift/users/v2/users_pb2_grpc.pyi +84 -0
- sift/views/__init__.py +0 -0
- sift/views/v1/__init__.py +0 -0
- sift/views/v1/views_pb2.py +130 -0
- sift/views/v1/views_pb2.pyi +466 -0
- sift/views/v1/views_pb2_grpc.py +305 -0
- sift/views/v1/views_pb2_grpc.pyi +184 -0
- sift_grafana/py.typed +0 -0
- sift_grafana/sift_query_model.py +64 -0
- sift_py/__init__.py +923 -0
- sift_py/_internal/__init__.py +5 -0
- sift_py/_internal/cel.py +18 -0
- sift_py/_internal/channel.py +42 -0
- sift_py/_internal/convert/__init__.py +3 -0
- sift_py/_internal/convert/json.py +24 -0
- sift_py/_internal/convert/protobuf.py +34 -0
- sift_py/_internal/convert/timestamp.py +9 -0
- sift_py/_internal/test_util/__init__.py +0 -0
- sift_py/_internal/test_util/channel.py +136 -0
- sift_py/_internal/test_util/fn.py +14 -0
- sift_py/_internal/test_util/server_interceptor.py +62 -0
- sift_py/_internal/time.py +48 -0
- sift_py/_internal/user.py +39 -0
- sift_py/data/__init__.py +171 -0
- sift_py/data/_channel.py +38 -0
- sift_py/data/_deserialize.py +208 -0
- sift_py/data/_deserialize_test.py +134 -0
- sift_py/data/_service_test.py +276 -0
- sift_py/data/_validate.py +10 -0
- sift_py/data/error.py +5 -0
- sift_py/data/query.py +299 -0
- sift_py/data/service.py +497 -0
- sift_py/data_import/__init__.py +130 -0
- sift_py/data_import/_config.py +167 -0
- sift_py/data_import/_config_test.py +166 -0
- sift_py/data_import/_csv_test.py +395 -0
- sift_py/data_import/_status_test.py +176 -0
- sift_py/data_import/_tdms_test.py +238 -0
- sift_py/data_import/ch10.py +157 -0
- sift_py/data_import/config.py +19 -0
- sift_py/data_import/csv.py +259 -0
- sift_py/data_import/status.py +113 -0
- sift_py/data_import/tdms.py +206 -0
- sift_py/data_import/tempfile.py +30 -0
- sift_py/data_import/time_format.py +39 -0
- sift_py/error.py +11 -0
- sift_py/file_attachment/__init__.py +88 -0
- sift_py/file_attachment/_internal/__init__.py +0 -0
- sift_py/file_attachment/_internal/download.py +13 -0
- sift_py/file_attachment/_internal/upload.py +100 -0
- sift_py/file_attachment/_service_test.py +161 -0
- sift_py/file_attachment/entity.py +30 -0
- sift_py/file_attachment/metadata.py +107 -0
- sift_py/file_attachment/service.py +142 -0
- sift_py/grpc/__init__.py +15 -0
- sift_py/grpc/_async_interceptors/__init__.py +0 -0
- sift_py/grpc/_async_interceptors/base.py +72 -0
- sift_py/grpc/_async_interceptors/metadata.py +36 -0
- sift_py/grpc/_interceptors/__init__.py +0 -0
- sift_py/grpc/_interceptors/base.py +61 -0
- sift_py/grpc/_interceptors/context.py +25 -0
- sift_py/grpc/_interceptors/metadata.py +33 -0
- sift_py/grpc/_retry.py +70 -0
- sift_py/grpc/keepalive.py +34 -0
- sift_py/grpc/transport.py +250 -0
- sift_py/grpc/transport_test.py +170 -0
- sift_py/ingestion/__init__.py +6 -0
- sift_py/ingestion/_internal/__init__.py +6 -0
- sift_py/ingestion/_internal/channel.py +12 -0
- sift_py/ingestion/_internal/error.py +10 -0
- sift_py/ingestion/_internal/ingest.py +350 -0
- sift_py/ingestion/_internal/ingest_test.py +357 -0
- sift_py/ingestion/_internal/ingestion_config.py +130 -0
- sift_py/ingestion/_internal/run.py +46 -0
- sift_py/ingestion/_service_test.py +478 -0
- sift_py/ingestion/buffer.py +189 -0
- sift_py/ingestion/channel.py +422 -0
- sift_py/ingestion/config/__init__.py +3 -0
- sift_py/ingestion/config/telemetry.py +281 -0
- sift_py/ingestion/config/telemetry_test.py +405 -0
- sift_py/ingestion/config/yaml/__init__.py +0 -0
- sift_py/ingestion/config/yaml/error.py +44 -0
- sift_py/ingestion/config/yaml/load.py +126 -0
- sift_py/ingestion/config/yaml/spec.py +58 -0
- sift_py/ingestion/config/yaml/test_load.py +25 -0
- sift_py/ingestion/flow.py +73 -0
- sift_py/ingestion/manager.py +99 -0
- sift_py/ingestion/rule/__init__.py +4 -0
- sift_py/ingestion/rule/config.py +11 -0
- sift_py/ingestion/service.py +237 -0
- sift_py/py.typed +0 -0
- sift_py/report_templates/__init__.py +0 -0
- sift_py/report_templates/_config_test.py +34 -0
- sift_py/report_templates/_service_test.py +94 -0
- sift_py/report_templates/config.py +36 -0
- sift_py/report_templates/service.py +171 -0
- sift_py/rest.py +29 -0
- sift_py/rule/__init__.py +0 -0
- sift_py/rule/_config_test.py +109 -0
- sift_py/rule/_service_test.py +168 -0
- sift_py/rule/config.py +229 -0
- sift_py/rule/service.py +484 -0
- sift_py/yaml/__init__.py +0 -0
- sift_py/yaml/_channel_test.py +169 -0
- sift_py/yaml/_rule_test.py +207 -0
- sift_py/yaml/channel.py +224 -0
- sift_py/yaml/report_templates.py +73 -0
- sift_py/yaml/rule.py +321 -0
- sift_py/yaml/utils.py +15 -0
- sift_stack_py-0.3.2.dist-info/LICENSE +7 -0
- sift_stack_py-0.3.2.dist-info/METADATA +109 -0
- sift_stack_py-0.3.2.dist-info/RECORD +291 -0
- sift_stack_py-0.3.2.dist-info/WHEEL +5 -0
- sift_stack_py-0.3.2.dist-info/top_level.txt +5 -0
|
@@ -0,0 +1,383 @@
|
|
|
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.field_mask_pb2
|
|
10
|
+
import google.protobuf.internal.containers
|
|
11
|
+
import google.protobuf.message
|
|
12
|
+
import google.protobuf.timestamp_pb2
|
|
13
|
+
import sift.common.type.v1.resource_identifier_pb2
|
|
14
|
+
import sift.tags.v1.tags_pb2
|
|
15
|
+
import typing
|
|
16
|
+
|
|
17
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
18
|
+
|
|
19
|
+
@typing.final
|
|
20
|
+
class Campaign(google.protobuf.message.Message):
|
|
21
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
22
|
+
|
|
23
|
+
CAMPAIGN_ID_FIELD_NUMBER: builtins.int
|
|
24
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
25
|
+
CLIENT_KEY_FIELD_NUMBER: builtins.int
|
|
26
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
27
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
28
|
+
CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
|
|
29
|
+
MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
|
|
30
|
+
CREATED_DATE_FIELD_NUMBER: builtins.int
|
|
31
|
+
MODIFIED_DATE_FIELD_NUMBER: builtins.int
|
|
32
|
+
ARCHIVED_DATE_FIELD_NUMBER: builtins.int
|
|
33
|
+
TAGS_FIELD_NUMBER: builtins.int
|
|
34
|
+
REPORTS_FIELD_NUMBER: builtins.int
|
|
35
|
+
CREATED_FROM_CAMPAIGN_ID_FIELD_NUMBER: builtins.int
|
|
36
|
+
campaign_id: builtins.str
|
|
37
|
+
organization_id: builtins.str
|
|
38
|
+
client_key: builtins.str
|
|
39
|
+
name: builtins.str
|
|
40
|
+
description: builtins.str
|
|
41
|
+
created_by_user_id: builtins.str
|
|
42
|
+
modified_by_user_id: builtins.str
|
|
43
|
+
created_from_campaign_id: builtins.str
|
|
44
|
+
"""If this campaign was created by duplicating another campaign, that other campaign will be referenced here"""
|
|
45
|
+
@property
|
|
46
|
+
def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
47
|
+
@property
|
|
48
|
+
def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
49
|
+
@property
|
|
50
|
+
def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
51
|
+
@property
|
|
52
|
+
def tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.tags.v1.tags_pb2.TagRef]: ...
|
|
53
|
+
@property
|
|
54
|
+
def reports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CampaignReport]:
|
|
55
|
+
"""A campaign, at its core, is a list of reports"""
|
|
56
|
+
|
|
57
|
+
def __init__(
|
|
58
|
+
self,
|
|
59
|
+
*,
|
|
60
|
+
campaign_id: builtins.str = ...,
|
|
61
|
+
organization_id: builtins.str = ...,
|
|
62
|
+
client_key: builtins.str = ...,
|
|
63
|
+
name: builtins.str = ...,
|
|
64
|
+
description: builtins.str = ...,
|
|
65
|
+
created_by_user_id: builtins.str = ...,
|
|
66
|
+
modified_by_user_id: builtins.str = ...,
|
|
67
|
+
created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
68
|
+
modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
69
|
+
archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
70
|
+
tags: collections.abc.Iterable[sift.tags.v1.tags_pb2.TagRef] | None = ...,
|
|
71
|
+
reports: collections.abc.Iterable[global___CampaignReport] | None = ...,
|
|
72
|
+
created_from_campaign_id: builtins.str = ...,
|
|
73
|
+
) -> None: ...
|
|
74
|
+
def HasField(self, field_name: typing.Literal["archived_date", b"archived_date", "created_date", b"created_date", "modified_date", b"modified_date"]) -> builtins.bool: ...
|
|
75
|
+
def ClearField(self, field_name: typing.Literal["archived_date", b"archived_date", "campaign_id", b"campaign_id", "client_key", b"client_key", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "created_from_campaign_id", b"created_from_campaign_id", "description", b"description", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "reports", b"reports", "tags", b"tags"]) -> None: ...
|
|
76
|
+
|
|
77
|
+
global___Campaign = Campaign
|
|
78
|
+
|
|
79
|
+
@typing.final
|
|
80
|
+
class CampaignReport(google.protobuf.message.Message):
|
|
81
|
+
"""A top-level summary of the report's rules is provided here so clients needn't aggregate this information themselves"""
|
|
82
|
+
|
|
83
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
84
|
+
|
|
85
|
+
REPORT_ID_FIELD_NUMBER: builtins.int
|
|
86
|
+
REPORT_NAME_FIELD_NUMBER: builtins.int
|
|
87
|
+
NUM_ANNOTATIONS_FIELD_NUMBER: builtins.int
|
|
88
|
+
NUM_PASSED_RULES_FIELD_NUMBER: builtins.int
|
|
89
|
+
NUM_ACCEPTED_RULES_FIELD_NUMBER: builtins.int
|
|
90
|
+
NUM_FAILED_RULES_FIELD_NUMBER: builtins.int
|
|
91
|
+
NUM_OPEN_RULES_FIELD_NUMBER: builtins.int
|
|
92
|
+
report_id: builtins.str
|
|
93
|
+
"""Direct reference to the report. Set this on the client to tell the backend which report you're referring to."""
|
|
94
|
+
report_name: builtins.str
|
|
95
|
+
num_annotations: builtins.int
|
|
96
|
+
"""How many annotations exist under the report's various rules."""
|
|
97
|
+
num_passed_rules: builtins.int
|
|
98
|
+
"""How many rules from this report were never triggered and generated NO annotations."""
|
|
99
|
+
num_accepted_rules: builtins.int
|
|
100
|
+
"""How many rules have annotations which are ALL marked as accepted."""
|
|
101
|
+
num_failed_rules: builtins.int
|
|
102
|
+
"""How many rules have ANY annotations which are marked as failed."""
|
|
103
|
+
num_open_rules: builtins.int
|
|
104
|
+
"""How many rules have annotations of which SOME are marked as open and NONE are marked as failed."""
|
|
105
|
+
def __init__(
|
|
106
|
+
self,
|
|
107
|
+
*,
|
|
108
|
+
report_id: builtins.str = ...,
|
|
109
|
+
report_name: builtins.str = ...,
|
|
110
|
+
num_annotations: builtins.int = ...,
|
|
111
|
+
num_passed_rules: builtins.int = ...,
|
|
112
|
+
num_accepted_rules: builtins.int = ...,
|
|
113
|
+
num_failed_rules: builtins.int = ...,
|
|
114
|
+
num_open_rules: builtins.int = ...,
|
|
115
|
+
) -> None: ...
|
|
116
|
+
def ClearField(self, field_name: typing.Literal["num_accepted_rules", b"num_accepted_rules", "num_annotations", b"num_annotations", "num_failed_rules", b"num_failed_rules", "num_open_rules", b"num_open_rules", "num_passed_rules", b"num_passed_rules", "report_id", b"report_id", "report_name", b"report_name"]) -> None: ...
|
|
117
|
+
|
|
118
|
+
global___CampaignReport = CampaignReport
|
|
119
|
+
|
|
120
|
+
@typing.final
|
|
121
|
+
class GetCampaignRequest(google.protobuf.message.Message):
|
|
122
|
+
"""The request for a call to `CampaignService_GetCampaign` to retrieve a campaign.
|
|
123
|
+
If `campaign_id` is provided then all other arguments will be ignored.
|
|
124
|
+
The `organization_id` argument is only required if using `client_key` and the user belongs to multiple organizations.
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
128
|
+
|
|
129
|
+
CAMPAIGN_ID_FIELD_NUMBER: builtins.int
|
|
130
|
+
CLIENT_KEY_FIELD_NUMBER: builtins.int
|
|
131
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
132
|
+
campaign_id: builtins.str
|
|
133
|
+
client_key: builtins.str
|
|
134
|
+
organization_id: builtins.str
|
|
135
|
+
def __init__(
|
|
136
|
+
self,
|
|
137
|
+
*,
|
|
138
|
+
campaign_id: builtins.str = ...,
|
|
139
|
+
client_key: builtins.str = ...,
|
|
140
|
+
organization_id: builtins.str = ...,
|
|
141
|
+
) -> None: ...
|
|
142
|
+
def ClearField(self, field_name: typing.Literal["campaign_id", b"campaign_id", "client_key", b"client_key", "organization_id", b"organization_id"]) -> None: ...
|
|
143
|
+
|
|
144
|
+
global___GetCampaignRequest = GetCampaignRequest
|
|
145
|
+
|
|
146
|
+
@typing.final
|
|
147
|
+
class GetCampaignResponse(google.protobuf.message.Message):
|
|
148
|
+
"""The response of a call to `CampaignService_GetCampaign` to retrieve a campaign."""
|
|
149
|
+
|
|
150
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
151
|
+
|
|
152
|
+
CAMPAIGN_FIELD_NUMBER: builtins.int
|
|
153
|
+
@property
|
|
154
|
+
def campaign(self) -> global___Campaign: ...
|
|
155
|
+
def __init__(
|
|
156
|
+
self,
|
|
157
|
+
*,
|
|
158
|
+
campaign: global___Campaign | None = ...,
|
|
159
|
+
) -> None: ...
|
|
160
|
+
def HasField(self, field_name: typing.Literal["campaign", b"campaign"]) -> builtins.bool: ...
|
|
161
|
+
def ClearField(self, field_name: typing.Literal["campaign", b"campaign"]) -> None: ...
|
|
162
|
+
|
|
163
|
+
global___GetCampaignResponse = GetCampaignResponse
|
|
164
|
+
|
|
165
|
+
@typing.final
|
|
166
|
+
class CreateCampaignRequest(google.protobuf.message.Message):
|
|
167
|
+
"""The request of a call to `CampaignService_CreateCampaign` to create a campaign."""
|
|
168
|
+
|
|
169
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
170
|
+
|
|
171
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
172
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
173
|
+
TAGS_FIELD_NUMBER: builtins.int
|
|
174
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
175
|
+
CLIENT_KEY_FIELD_NUMBER: builtins.int
|
|
176
|
+
CREATE_FROM_FIELD_NUMBER: builtins.int
|
|
177
|
+
name: builtins.str
|
|
178
|
+
"""The descriptive display name of the created campaign"""
|
|
179
|
+
description: builtins.str
|
|
180
|
+
"""A custom description for the campaign"""
|
|
181
|
+
organization_id: builtins.str
|
|
182
|
+
"""`organization_id` is only required if your user belongs to multiple organizations"""
|
|
183
|
+
client_key: builtins.str
|
|
184
|
+
"""User-specified unique identifier."""
|
|
185
|
+
@property
|
|
186
|
+
def tags(self) -> sift.common.type.v1.resource_identifier_pb2.NamedResources:
|
|
187
|
+
"""Tags to be applied to the new campaign"""
|
|
188
|
+
|
|
189
|
+
@property
|
|
190
|
+
def create_from(self) -> global___CreateCampaignFrom:
|
|
191
|
+
"""Initialize the campaign, or leave this field empty to create an empty campaign to be populated later"""
|
|
192
|
+
|
|
193
|
+
def __init__(
|
|
194
|
+
self,
|
|
195
|
+
*,
|
|
196
|
+
name: builtins.str = ...,
|
|
197
|
+
description: builtins.str = ...,
|
|
198
|
+
tags: sift.common.type.v1.resource_identifier_pb2.NamedResources | None = ...,
|
|
199
|
+
organization_id: builtins.str = ...,
|
|
200
|
+
client_key: builtins.str = ...,
|
|
201
|
+
create_from: global___CreateCampaignFrom | None = ...,
|
|
202
|
+
) -> None: ...
|
|
203
|
+
def HasField(self, field_name: typing.Literal["create_from", b"create_from", "tags", b"tags"]) -> builtins.bool: ...
|
|
204
|
+
def ClearField(self, field_name: typing.Literal["client_key", b"client_key", "create_from", b"create_from", "description", b"description", "name", b"name", "organization_id", b"organization_id", "tags", b"tags"]) -> None: ...
|
|
205
|
+
|
|
206
|
+
global___CreateCampaignRequest = CreateCampaignRequest
|
|
207
|
+
|
|
208
|
+
@typing.final
|
|
209
|
+
class CreateCampaignFrom(google.protobuf.message.Message):
|
|
210
|
+
"""Campaigns can be created from a few different sources"""
|
|
211
|
+
|
|
212
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
213
|
+
|
|
214
|
+
REPORT_IDS_FIELD_NUMBER: builtins.int
|
|
215
|
+
RUN_IDS_FIELD_NUMBER: builtins.int
|
|
216
|
+
CAMPAIGN_ID_FIELD_NUMBER: builtins.int
|
|
217
|
+
@property
|
|
218
|
+
def report_ids(self) -> sift.common.type.v1.resource_identifier_pb2.ResourceIdentifiers:
|
|
219
|
+
"""Create a campaign directly from a set of reports"""
|
|
220
|
+
|
|
221
|
+
@property
|
|
222
|
+
def run_ids(self) -> sift.common.type.v1.resource_identifier_pb2.ResourceIdentifiers:
|
|
223
|
+
"""Create a campaign from a set of runs by collecting all the reports generated by those runs"""
|
|
224
|
+
|
|
225
|
+
@property
|
|
226
|
+
def campaign_id(self) -> sift.common.type.v1.resource_identifier_pb2.ResourceIdentifier:
|
|
227
|
+
"""Duplicate another campaign"""
|
|
228
|
+
|
|
229
|
+
def __init__(
|
|
230
|
+
self,
|
|
231
|
+
*,
|
|
232
|
+
report_ids: sift.common.type.v1.resource_identifier_pb2.ResourceIdentifiers | None = ...,
|
|
233
|
+
run_ids: sift.common.type.v1.resource_identifier_pb2.ResourceIdentifiers | None = ...,
|
|
234
|
+
campaign_id: sift.common.type.v1.resource_identifier_pb2.ResourceIdentifier | None = ...,
|
|
235
|
+
) -> None: ...
|
|
236
|
+
def HasField(self, field_name: typing.Literal["campaign_id", b"campaign_id", "initializer", b"initializer", "report_ids", b"report_ids", "run_ids", b"run_ids"]) -> builtins.bool: ...
|
|
237
|
+
def ClearField(self, field_name: typing.Literal["campaign_id", b"campaign_id", "initializer", b"initializer", "report_ids", b"report_ids", "run_ids", b"run_ids"]) -> None: ...
|
|
238
|
+
def WhichOneof(self, oneof_group: typing.Literal["initializer", b"initializer"]) -> typing.Literal["report_ids", "run_ids", "campaign_id"] | None: ...
|
|
239
|
+
|
|
240
|
+
global___CreateCampaignFrom = CreateCampaignFrom
|
|
241
|
+
|
|
242
|
+
@typing.final
|
|
243
|
+
class CreateCampaignResponse(google.protobuf.message.Message):
|
|
244
|
+
"""The response of a call to `CampaignService_CreateCampaign` to create a campaign."""
|
|
245
|
+
|
|
246
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
247
|
+
|
|
248
|
+
CAMPAIGN_FIELD_NUMBER: builtins.int
|
|
249
|
+
@property
|
|
250
|
+
def campaign(self) -> global___Campaign: ...
|
|
251
|
+
def __init__(
|
|
252
|
+
self,
|
|
253
|
+
*,
|
|
254
|
+
campaign: global___Campaign | None = ...,
|
|
255
|
+
) -> None: ...
|
|
256
|
+
def HasField(self, field_name: typing.Literal["campaign", b"campaign"]) -> builtins.bool: ...
|
|
257
|
+
def ClearField(self, field_name: typing.Literal["campaign", b"campaign"]) -> None: ...
|
|
258
|
+
|
|
259
|
+
global___CreateCampaignResponse = CreateCampaignResponse
|
|
260
|
+
|
|
261
|
+
@typing.final
|
|
262
|
+
class ListCampaignsRequest(google.protobuf.message.Message):
|
|
263
|
+
"""The request for a call to `CampaignService_ListCampaigns` to retrieve campaigns."""
|
|
264
|
+
|
|
265
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
266
|
+
|
|
267
|
+
PAGE_SIZE_FIELD_NUMBER: builtins.int
|
|
268
|
+
PAGE_TOKEN_FIELD_NUMBER: builtins.int
|
|
269
|
+
FILTER_FIELD_NUMBER: builtins.int
|
|
270
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
271
|
+
INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int
|
|
272
|
+
ORDER_BY_FIELD_NUMBER: builtins.int
|
|
273
|
+
page_size: builtins.int
|
|
274
|
+
"""The maximum number of campaigns to return. The service may return fewer than this value.
|
|
275
|
+
If unspecified, at most 50 campaigns will be returned. The maximum value is 1000; values above
|
|
276
|
+
1000 will be coerced to 1000. Optional.
|
|
277
|
+
"""
|
|
278
|
+
page_token: builtins.str
|
|
279
|
+
"""A page token, received from a previous `ListCampaigns` call.
|
|
280
|
+
Provide this to retrieve the subsequent page.
|
|
281
|
+
When paginating, all other parameters provided to `ListCampaigns` must match
|
|
282
|
+
the call that provided the page token. Optional.
|
|
283
|
+
"""
|
|
284
|
+
filter: builtins.str
|
|
285
|
+
"""A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
|
|
286
|
+
Available fields to filter by are `campaign_id`, `tag_id`, `tag_name`, `client_key`, and `name`.
|
|
287
|
+
For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions).
|
|
288
|
+
For more information about the fields used for filtering, please refer to [this definition](/protocol-buffers/documentation#campaigns). Optional.
|
|
289
|
+
"""
|
|
290
|
+
organization_id: builtins.str
|
|
291
|
+
"""This field is only required if your user belongs to multiple organizations."""
|
|
292
|
+
include_archived: builtins.bool
|
|
293
|
+
"""If `true` then archived campaigns will be included in the query. Defaults to `false`."""
|
|
294
|
+
order_by: builtins.str
|
|
295
|
+
"""How to order the retrieved campaigns. Formatted as a comma-separated string i.e. "<field_name>[ desc],...".
|
|
296
|
+
Available fields to order_by are `created_date` and `modified_date`.
|
|
297
|
+
If left empty, items are ordered by `created_date` in ascending order (oldest-first).
|
|
298
|
+
For more information about the format of this field, read [this](https://google.aip.dev/132#ordering)
|
|
299
|
+
Example: "created_date desc,modified_date"
|
|
300
|
+
"""
|
|
301
|
+
def __init__(
|
|
302
|
+
self,
|
|
303
|
+
*,
|
|
304
|
+
page_size: builtins.int = ...,
|
|
305
|
+
page_token: builtins.str = ...,
|
|
306
|
+
filter: builtins.str = ...,
|
|
307
|
+
organization_id: builtins.str = ...,
|
|
308
|
+
include_archived: builtins.bool = ...,
|
|
309
|
+
order_by: builtins.str = ...,
|
|
310
|
+
) -> None: ...
|
|
311
|
+
def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "organization_id", b"organization_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
|
|
312
|
+
|
|
313
|
+
global___ListCampaignsRequest = ListCampaignsRequest
|
|
314
|
+
|
|
315
|
+
@typing.final
|
|
316
|
+
class ListCampaignsResponse(google.protobuf.message.Message):
|
|
317
|
+
"""The response of a call to `CampaignService_ListCampaignsResponse`."""
|
|
318
|
+
|
|
319
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
320
|
+
|
|
321
|
+
CAMPAIGNS_FIELD_NUMBER: builtins.int
|
|
322
|
+
NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
|
|
323
|
+
next_page_token: builtins.str
|
|
324
|
+
@property
|
|
325
|
+
def campaigns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Campaign]: ...
|
|
326
|
+
def __init__(
|
|
327
|
+
self,
|
|
328
|
+
*,
|
|
329
|
+
campaigns: collections.abc.Iterable[global___Campaign] | None = ...,
|
|
330
|
+
next_page_token: builtins.str = ...,
|
|
331
|
+
) -> None: ...
|
|
332
|
+
def ClearField(self, field_name: typing.Literal["campaigns", b"campaigns", "next_page_token", b"next_page_token"]) -> None: ...
|
|
333
|
+
|
|
334
|
+
global___ListCampaignsResponse = ListCampaignsResponse
|
|
335
|
+
|
|
336
|
+
@typing.final
|
|
337
|
+
class UpdateCampaignRequest(google.protobuf.message.Message):
|
|
338
|
+
"""The request for a call to `CampaignService_UpdateCampaign` to update a campaign. When updating
|
|
339
|
+
tags or rules, the update will perform a full replace. Additionally, when updating rules, only the rule ID or the rule client key
|
|
340
|
+
is required, but it is okay to provide both. If some rules contain only client keys and others only rule IDs, they will be consolidated.
|
|
341
|
+
"""
|
|
342
|
+
|
|
343
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
344
|
+
|
|
345
|
+
CAMPAIGN_FIELD_NUMBER: builtins.int
|
|
346
|
+
UPDATE_MASK_FIELD_NUMBER: builtins.int
|
|
347
|
+
@property
|
|
348
|
+
def campaign(self) -> global___Campaign:
|
|
349
|
+
"""The campaign to update."""
|
|
350
|
+
|
|
351
|
+
@property
|
|
352
|
+
def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
|
|
353
|
+
"""The list of fields to be updated. The fields available to be updated are `name`, `archived_date`, `description`, `tags`, and `reports`."""
|
|
354
|
+
|
|
355
|
+
def __init__(
|
|
356
|
+
self,
|
|
357
|
+
*,
|
|
358
|
+
campaign: global___Campaign | None = ...,
|
|
359
|
+
update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
|
|
360
|
+
) -> None: ...
|
|
361
|
+
def HasField(self, field_name: typing.Literal["campaign", b"campaign", "update_mask", b"update_mask"]) -> builtins.bool: ...
|
|
362
|
+
def ClearField(self, field_name: typing.Literal["campaign", b"campaign", "update_mask", b"update_mask"]) -> None: ...
|
|
363
|
+
|
|
364
|
+
global___UpdateCampaignRequest = UpdateCampaignRequest
|
|
365
|
+
|
|
366
|
+
@typing.final
|
|
367
|
+
class UpdateCampaignResponse(google.protobuf.message.Message):
|
|
368
|
+
"""The response of a call to `CampaignService_UpdateCampaign`."""
|
|
369
|
+
|
|
370
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
371
|
+
|
|
372
|
+
CAMPAIGN_FIELD_NUMBER: builtins.int
|
|
373
|
+
@property
|
|
374
|
+
def campaign(self) -> global___Campaign: ...
|
|
375
|
+
def __init__(
|
|
376
|
+
self,
|
|
377
|
+
*,
|
|
378
|
+
campaign: global___Campaign | None = ...,
|
|
379
|
+
) -> None: ...
|
|
380
|
+
def HasField(self, field_name: typing.Literal["campaign", b"campaign"]) -> builtins.bool: ...
|
|
381
|
+
def ClearField(self, field_name: typing.Literal["campaign", b"campaign"]) -> None: ...
|
|
382
|
+
|
|
383
|
+
global___UpdateCampaignResponse = UpdateCampaignResponse
|
|
@@ -0,0 +1,169 @@
|
|
|
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
|
+
|
|
5
|
+
from sift.campaigns.v1 import campaigns_pb2 as sift_dot_campaigns_dot_v1_dot_campaigns__pb2
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class CampaignServiceStub(object):
|
|
9
|
+
"""Missing associated documentation comment in .proto file."""
|
|
10
|
+
|
|
11
|
+
def __init__(self, channel):
|
|
12
|
+
"""Constructor.
|
|
13
|
+
|
|
14
|
+
Args:
|
|
15
|
+
channel: A grpc.Channel.
|
|
16
|
+
"""
|
|
17
|
+
self.GetCampaign = channel.unary_unary(
|
|
18
|
+
'/sift.campaigns.v1.CampaignService/GetCampaign',
|
|
19
|
+
request_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.GetCampaignRequest.SerializeToString,
|
|
20
|
+
response_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.GetCampaignResponse.FromString,
|
|
21
|
+
)
|
|
22
|
+
self.CreateCampaign = channel.unary_unary(
|
|
23
|
+
'/sift.campaigns.v1.CampaignService/CreateCampaign',
|
|
24
|
+
request_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.CreateCampaignRequest.SerializeToString,
|
|
25
|
+
response_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.CreateCampaignResponse.FromString,
|
|
26
|
+
)
|
|
27
|
+
self.ListCampaigns = channel.unary_unary(
|
|
28
|
+
'/sift.campaigns.v1.CampaignService/ListCampaigns',
|
|
29
|
+
request_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.ListCampaignsRequest.SerializeToString,
|
|
30
|
+
response_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.ListCampaignsResponse.FromString,
|
|
31
|
+
)
|
|
32
|
+
self.UpdateCampaign = channel.unary_unary(
|
|
33
|
+
'/sift.campaigns.v1.CampaignService/UpdateCampaign',
|
|
34
|
+
request_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.UpdateCampaignRequest.SerializeToString,
|
|
35
|
+
response_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.UpdateCampaignResponse.FromString,
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class CampaignServiceServicer(object):
|
|
40
|
+
"""Missing associated documentation comment in .proto file."""
|
|
41
|
+
|
|
42
|
+
def GetCampaign(self, request, context):
|
|
43
|
+
"""Retrieve a campaign.
|
|
44
|
+
"""
|
|
45
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
46
|
+
context.set_details('Method not implemented!')
|
|
47
|
+
raise NotImplementedError('Method not implemented!')
|
|
48
|
+
|
|
49
|
+
def CreateCampaign(self, request, context):
|
|
50
|
+
"""Create a campaign.
|
|
51
|
+
"""
|
|
52
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
53
|
+
context.set_details('Method not implemented!')
|
|
54
|
+
raise NotImplementedError('Method not implemented!')
|
|
55
|
+
|
|
56
|
+
def ListCampaigns(self, request, context):
|
|
57
|
+
"""List campaigns.
|
|
58
|
+
"""
|
|
59
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
60
|
+
context.set_details('Method not implemented!')
|
|
61
|
+
raise NotImplementedError('Method not implemented!')
|
|
62
|
+
|
|
63
|
+
def UpdateCampaign(self, request, context):
|
|
64
|
+
"""Updates an existing campaign using the list of fields specified in `update_mask`.
|
|
65
|
+
"""
|
|
66
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
67
|
+
context.set_details('Method not implemented!')
|
|
68
|
+
raise NotImplementedError('Method not implemented!')
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def add_CampaignServiceServicer_to_server(servicer, server):
|
|
72
|
+
rpc_method_handlers = {
|
|
73
|
+
'GetCampaign': grpc.unary_unary_rpc_method_handler(
|
|
74
|
+
servicer.GetCampaign,
|
|
75
|
+
request_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.GetCampaignRequest.FromString,
|
|
76
|
+
response_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.GetCampaignResponse.SerializeToString,
|
|
77
|
+
),
|
|
78
|
+
'CreateCampaign': grpc.unary_unary_rpc_method_handler(
|
|
79
|
+
servicer.CreateCampaign,
|
|
80
|
+
request_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.CreateCampaignRequest.FromString,
|
|
81
|
+
response_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.CreateCampaignResponse.SerializeToString,
|
|
82
|
+
),
|
|
83
|
+
'ListCampaigns': grpc.unary_unary_rpc_method_handler(
|
|
84
|
+
servicer.ListCampaigns,
|
|
85
|
+
request_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.ListCampaignsRequest.FromString,
|
|
86
|
+
response_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.ListCampaignsResponse.SerializeToString,
|
|
87
|
+
),
|
|
88
|
+
'UpdateCampaign': grpc.unary_unary_rpc_method_handler(
|
|
89
|
+
servicer.UpdateCampaign,
|
|
90
|
+
request_deserializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.UpdateCampaignRequest.FromString,
|
|
91
|
+
response_serializer=sift_dot_campaigns_dot_v1_dot_campaigns__pb2.UpdateCampaignResponse.SerializeToString,
|
|
92
|
+
),
|
|
93
|
+
}
|
|
94
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
95
|
+
'sift.campaigns.v1.CampaignService', rpc_method_handlers)
|
|
96
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
# This class is part of an EXPERIMENTAL API.
|
|
100
|
+
class CampaignService(object):
|
|
101
|
+
"""Missing associated documentation comment in .proto file."""
|
|
102
|
+
|
|
103
|
+
@staticmethod
|
|
104
|
+
def GetCampaign(request,
|
|
105
|
+
target,
|
|
106
|
+
options=(),
|
|
107
|
+
channel_credentials=None,
|
|
108
|
+
call_credentials=None,
|
|
109
|
+
insecure=False,
|
|
110
|
+
compression=None,
|
|
111
|
+
wait_for_ready=None,
|
|
112
|
+
timeout=None,
|
|
113
|
+
metadata=None):
|
|
114
|
+
return grpc.experimental.unary_unary(request, target, '/sift.campaigns.v1.CampaignService/GetCampaign',
|
|
115
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.GetCampaignRequest.SerializeToString,
|
|
116
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.GetCampaignResponse.FromString,
|
|
117
|
+
options, channel_credentials,
|
|
118
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
119
|
+
|
|
120
|
+
@staticmethod
|
|
121
|
+
def CreateCampaign(request,
|
|
122
|
+
target,
|
|
123
|
+
options=(),
|
|
124
|
+
channel_credentials=None,
|
|
125
|
+
call_credentials=None,
|
|
126
|
+
insecure=False,
|
|
127
|
+
compression=None,
|
|
128
|
+
wait_for_ready=None,
|
|
129
|
+
timeout=None,
|
|
130
|
+
metadata=None):
|
|
131
|
+
return grpc.experimental.unary_unary(request, target, '/sift.campaigns.v1.CampaignService/CreateCampaign',
|
|
132
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.CreateCampaignRequest.SerializeToString,
|
|
133
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.CreateCampaignResponse.FromString,
|
|
134
|
+
options, channel_credentials,
|
|
135
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
136
|
+
|
|
137
|
+
@staticmethod
|
|
138
|
+
def ListCampaigns(request,
|
|
139
|
+
target,
|
|
140
|
+
options=(),
|
|
141
|
+
channel_credentials=None,
|
|
142
|
+
call_credentials=None,
|
|
143
|
+
insecure=False,
|
|
144
|
+
compression=None,
|
|
145
|
+
wait_for_ready=None,
|
|
146
|
+
timeout=None,
|
|
147
|
+
metadata=None):
|
|
148
|
+
return grpc.experimental.unary_unary(request, target, '/sift.campaigns.v1.CampaignService/ListCampaigns',
|
|
149
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.ListCampaignsRequest.SerializeToString,
|
|
150
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.ListCampaignsResponse.FromString,
|
|
151
|
+
options, channel_credentials,
|
|
152
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
153
|
+
|
|
154
|
+
@staticmethod
|
|
155
|
+
def UpdateCampaign(request,
|
|
156
|
+
target,
|
|
157
|
+
options=(),
|
|
158
|
+
channel_credentials=None,
|
|
159
|
+
call_credentials=None,
|
|
160
|
+
insecure=False,
|
|
161
|
+
compression=None,
|
|
162
|
+
wait_for_ready=None,
|
|
163
|
+
timeout=None,
|
|
164
|
+
metadata=None):
|
|
165
|
+
return grpc.experimental.unary_unary(request, target, '/sift.campaigns.v1.CampaignService/UpdateCampaign',
|
|
166
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.UpdateCampaignRequest.SerializeToString,
|
|
167
|
+
sift_dot_campaigns_dot_v1_dot_campaigns__pb2.UpdateCampaignResponse.FromString,
|
|
168
|
+
options, channel_credentials,
|
|
169
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
@@ -0,0 +1,104 @@
|
|
|
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 sift.campaigns.v1.campaigns_pb2
|
|
11
|
+
import typing
|
|
12
|
+
|
|
13
|
+
_T = typing.TypeVar("_T")
|
|
14
|
+
|
|
15
|
+
class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
|
|
16
|
+
|
|
17
|
+
class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
|
|
18
|
+
...
|
|
19
|
+
|
|
20
|
+
class CampaignServiceStub:
|
|
21
|
+
def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
|
|
22
|
+
GetCampaign: grpc.UnaryUnaryMultiCallable[
|
|
23
|
+
sift.campaigns.v1.campaigns_pb2.GetCampaignRequest,
|
|
24
|
+
sift.campaigns.v1.campaigns_pb2.GetCampaignResponse,
|
|
25
|
+
]
|
|
26
|
+
"""Retrieve a campaign."""
|
|
27
|
+
|
|
28
|
+
CreateCampaign: grpc.UnaryUnaryMultiCallable[
|
|
29
|
+
sift.campaigns.v1.campaigns_pb2.CreateCampaignRequest,
|
|
30
|
+
sift.campaigns.v1.campaigns_pb2.CreateCampaignResponse,
|
|
31
|
+
]
|
|
32
|
+
"""Create a campaign."""
|
|
33
|
+
|
|
34
|
+
ListCampaigns: grpc.UnaryUnaryMultiCallable[
|
|
35
|
+
sift.campaigns.v1.campaigns_pb2.ListCampaignsRequest,
|
|
36
|
+
sift.campaigns.v1.campaigns_pb2.ListCampaignsResponse,
|
|
37
|
+
]
|
|
38
|
+
"""List campaigns."""
|
|
39
|
+
|
|
40
|
+
UpdateCampaign: grpc.UnaryUnaryMultiCallable[
|
|
41
|
+
sift.campaigns.v1.campaigns_pb2.UpdateCampaignRequest,
|
|
42
|
+
sift.campaigns.v1.campaigns_pb2.UpdateCampaignResponse,
|
|
43
|
+
]
|
|
44
|
+
"""Updates an existing campaign using the list of fields specified in `update_mask`."""
|
|
45
|
+
|
|
46
|
+
class CampaignServiceAsyncStub:
|
|
47
|
+
GetCampaign: grpc.aio.UnaryUnaryMultiCallable[
|
|
48
|
+
sift.campaigns.v1.campaigns_pb2.GetCampaignRequest,
|
|
49
|
+
sift.campaigns.v1.campaigns_pb2.GetCampaignResponse,
|
|
50
|
+
]
|
|
51
|
+
"""Retrieve a campaign."""
|
|
52
|
+
|
|
53
|
+
CreateCampaign: grpc.aio.UnaryUnaryMultiCallable[
|
|
54
|
+
sift.campaigns.v1.campaigns_pb2.CreateCampaignRequest,
|
|
55
|
+
sift.campaigns.v1.campaigns_pb2.CreateCampaignResponse,
|
|
56
|
+
]
|
|
57
|
+
"""Create a campaign."""
|
|
58
|
+
|
|
59
|
+
ListCampaigns: grpc.aio.UnaryUnaryMultiCallable[
|
|
60
|
+
sift.campaigns.v1.campaigns_pb2.ListCampaignsRequest,
|
|
61
|
+
sift.campaigns.v1.campaigns_pb2.ListCampaignsResponse,
|
|
62
|
+
]
|
|
63
|
+
"""List campaigns."""
|
|
64
|
+
|
|
65
|
+
UpdateCampaign: grpc.aio.UnaryUnaryMultiCallable[
|
|
66
|
+
sift.campaigns.v1.campaigns_pb2.UpdateCampaignRequest,
|
|
67
|
+
sift.campaigns.v1.campaigns_pb2.UpdateCampaignResponse,
|
|
68
|
+
]
|
|
69
|
+
"""Updates an existing campaign using the list of fields specified in `update_mask`."""
|
|
70
|
+
|
|
71
|
+
class CampaignServiceServicer(metaclass=abc.ABCMeta):
|
|
72
|
+
@abc.abstractmethod
|
|
73
|
+
def GetCampaign(
|
|
74
|
+
self,
|
|
75
|
+
request: sift.campaigns.v1.campaigns_pb2.GetCampaignRequest,
|
|
76
|
+
context: _ServicerContext,
|
|
77
|
+
) -> typing.Union[sift.campaigns.v1.campaigns_pb2.GetCampaignResponse, collections.abc.Awaitable[sift.campaigns.v1.campaigns_pb2.GetCampaignResponse]]:
|
|
78
|
+
"""Retrieve a campaign."""
|
|
79
|
+
|
|
80
|
+
@abc.abstractmethod
|
|
81
|
+
def CreateCampaign(
|
|
82
|
+
self,
|
|
83
|
+
request: sift.campaigns.v1.campaigns_pb2.CreateCampaignRequest,
|
|
84
|
+
context: _ServicerContext,
|
|
85
|
+
) -> typing.Union[sift.campaigns.v1.campaigns_pb2.CreateCampaignResponse, collections.abc.Awaitable[sift.campaigns.v1.campaigns_pb2.CreateCampaignResponse]]:
|
|
86
|
+
"""Create a campaign."""
|
|
87
|
+
|
|
88
|
+
@abc.abstractmethod
|
|
89
|
+
def ListCampaigns(
|
|
90
|
+
self,
|
|
91
|
+
request: sift.campaigns.v1.campaigns_pb2.ListCampaignsRequest,
|
|
92
|
+
context: _ServicerContext,
|
|
93
|
+
) -> typing.Union[sift.campaigns.v1.campaigns_pb2.ListCampaignsResponse, collections.abc.Awaitable[sift.campaigns.v1.campaigns_pb2.ListCampaignsResponse]]:
|
|
94
|
+
"""List campaigns."""
|
|
95
|
+
|
|
96
|
+
@abc.abstractmethod
|
|
97
|
+
def UpdateCampaign(
|
|
98
|
+
self,
|
|
99
|
+
request: sift.campaigns.v1.campaigns_pb2.UpdateCampaignRequest,
|
|
100
|
+
context: _ServicerContext,
|
|
101
|
+
) -> typing.Union[sift.campaigns.v1.campaigns_pb2.UpdateCampaignResponse, collections.abc.Awaitable[sift.campaigns.v1.campaigns_pb2.UpdateCampaignResponse]]:
|
|
102
|
+
"""Updates an existing campaign using the list of fields specified in `update_mask`."""
|
|
103
|
+
|
|
104
|
+
def add_CampaignServiceServicer_to_server(servicer: CampaignServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
|
|
File without changes
|
|
File without changes
|