yandexcloud 0.294.0__py3-none-any.whl → 0.296.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.
- yandex/cloud/ai/foundation_models/v1/image_generation/image_generation_pb2.py +5 -3
- yandex/cloud/ai/foundation_models/v1/image_generation/image_generation_pb2.pyi +28 -1
- yandex/cloud/backup/v1/resource_pb2.py +16 -14
- yandex/cloud/backup/v1/resource_pb2.pyi +38 -1
- yandex/cloud/billing/v1/customer_service_pb2.pyi +1 -1
- yandex/cloud/billing/v1/sku_service_pb2.pyi +1 -0
- yandex/cloud/compute/v1/instance_pb2.pyi +1 -3
- yandex/cloud/compute/v1/instance_service_pb2.py +26 -26
- yandex/cloud/compute/v1/instance_service_pb2.pyi +5 -1
- yandex/cloud/datasphere/v2/jobs/jobs_pb2.py +40 -32
- yandex/cloud/datasphere/v2/jobs/jobs_pb2.pyi +78 -1
- yandex/cloud/datasphere/v2/jobs/project_job_service_pb2.py +56 -54
- yandex/cloud/datasphere/v2/jobs/project_job_service_pb2.pyi +21 -6
- yandex/cloud/datasphere/v2/project_service_pb2.py +34 -30
- yandex/cloud/datasphere/v2/project_service_pb2.pyi +13 -3
- yandex/cloud/iam/v1/api_key_service_pb2.py +13 -3
- yandex/cloud/iam/v1/api_key_service_pb2.pyi +53 -0
- yandex/cloud/iam/v1/api_key_service_pb2_grpc.py +34 -0
- yandex/cloud/iam/v1/api_key_service_pb2_grpc.pyi +20 -0
- yandex/cloud/iot/devices/v1/registry_pb2.py +13 -13
- yandex/cloud/iot/devices/v1/registry_pb2.pyi +4 -0
- yandex/cloud/iot/devices/v1/registry_service_pb2.py +23 -3
- yandex/cloud/iot/devices/v1/registry_service_pb2.pyi +64 -0
- yandex/cloud/iot/devices/v1/registry_service_pb2_grpc.py +68 -0
- yandex/cloud/iot/devices/v1/registry_service_pb2_grpc.pyi +40 -0
- yandex/cloud/mdb/greenplum/v1/pxf_pb2.pyi +226 -52
- yandex/cloud/mdb/kafka/v1/cluster_pb2.py +42 -35
- yandex/cloud/mdb/kafka/v1/cluster_pb2.pyi +32 -2
- yandex/cloud/mdb/mongodb/v1/cluster_service_pb2.pyi +13 -7
- yandex/cloud/mdb/postgresql/v1/user_pb2.pyi +33 -16
- yandex/cloud/organizationmanager/v1/os_login_service_pb2.py +20 -20
- yandex/cloud/organizationmanager/v1/os_login_service_pb2.pyi +2 -2
- yandex/cloud/serverless/functions/v1/function_pb2.py +30 -28
- yandex/cloud/serverless/functions/v1/function_pb2.pyi +5 -1
- yandex/cloud/serverless/functions/v1/function_service_pb2.py +38 -36
- yandex/cloud/serverless/functions/v1/function_service_pb2.pyi +5 -1
- yandex/cloud/smartcaptcha/__init__.py +0 -0
- yandex/cloud/smartcaptcha/v1/__init__.py +0 -0
- yandex/cloud/smartcaptcha/v1/captcha_pb2.py +100 -0
- yandex/cloud/smartcaptcha/v1/captcha_pb2.pyi +500 -0
- yandex/cloud/smartcaptcha/v1/captcha_pb2_grpc.py +4 -0
- yandex/cloud/smartcaptcha/v1/captcha_pb2_grpc.pyi +17 -0
- yandex/cloud/smartcaptcha/v1/captcha_service_pb2.py +76 -0
- yandex/cloud/smartcaptcha/v1/captcha_service_pb2.pyi +268 -0
- yandex/cloud/smartcaptcha/v1/captcha_service_pb2_grpc.py +242 -0
- yandex/cloud/smartcaptcha/v1/captcha_service_pb2_grpc.pyi +152 -0
- yandex/cloud/smartwebsecurity/__init__.py +0 -0
- yandex/cloud/smartwebsecurity/v1/__init__.py +0 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_pb2.py +110 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_pb2.pyi +520 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_pb2_grpc.py +4 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_pb2_grpc.pyi +17 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2.py +78 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2.pyi +260 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2_grpc.py +208 -0
- yandex/cloud/smartwebsecurity/v1/security_profile_service_pb2_grpc.pyi +132 -0
- yandex/cloud/speechsense/v1/analysis/__init__.py +0 -0
- yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2.py +28 -0
- yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2.pyi +40 -0
- yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/conversation_statistics_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2.py +29 -0
- yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2.pyi +66 -0
- yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/interrupts_statistics_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/points_pb2.py +29 -0
- yandex/cloud/speechsense/v1/analysis/points_pb2.pyi +53 -0
- yandex/cloud/speechsense/v1/analysis/points_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/points_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2.py +30 -0
- yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2.pyi +93 -0
- yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/predefined_classifiers_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2.py +27 -0
- yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2.pyi +41 -0
- yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/silence_statistics_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2.py +28 -0
- yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2.pyi +58 -0
- yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/speaker_statistics_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2.py +27 -0
- yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2.pyi +43 -0
- yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/speech_statistics_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/statistics_common_pb2.py +30 -0
- yandex/cloud/speechsense/v1/analysis/statistics_common_pb2.pyi +91 -0
- yandex/cloud/speechsense/v1/analysis/statistics_common_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/statistics_common_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2.py +33 -0
- yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2.pyi +102 -0
- yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/text_classifiers_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/transcription_pb2.py +41 -0
- yandex/cloud/speechsense/v1/analysis/transcription_pb2.pyi +186 -0
- yandex/cloud/speechsense/v1/analysis/transcription_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/transcription_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2.py +27 -0
- yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2.pyi +70 -0
- yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/utterance_statistics_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/search_pb2.py +51 -0
- yandex/cloud/speechsense/v1/search_pb2.pyi +324 -0
- yandex/cloud/speechsense/v1/search_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/search_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/talk_pb2.py +38 -0
- yandex/cloud/speechsense/v1/talk_pb2.pyi +161 -0
- yandex/cloud/speechsense/v1/talk_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/talk_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/talk_service_pb2.py +34 -18
- yandex/cloud/speechsense/v1/talk_service_pb2.pyi +143 -0
- yandex/cloud/speechsense/v1/talk_service_pb2_grpc.py +68 -0
- yandex/cloud/speechsense/v1/talk_service_pb2_grpc.pyi +40 -0
- {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/METADATA +8 -8
- {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/RECORD +119 -46
- {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/AUTHORS +0 -0
- {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/LICENSE +0 -0
- {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/WHEEL +0 -0
- {yandexcloud-0.294.0.dist-info → yandexcloud-0.296.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,520 @@
|
|
|
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 google.protobuf.timestamp_pb2
|
|
13
|
+
import sys
|
|
14
|
+
import typing
|
|
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
|
+
@typing.final
|
|
24
|
+
class SecurityProfile(google.protobuf.message.Message):
|
|
25
|
+
"""A SecurityProfile resource."""
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
28
|
+
|
|
29
|
+
class _DefaultAction:
|
|
30
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
31
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
32
|
+
|
|
33
|
+
class _DefaultActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SecurityProfile._DefaultAction.ValueType], builtins.type):
|
|
34
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
35
|
+
DEFAULT_ACTION_UNSPECIFIED: SecurityProfile._DefaultAction.ValueType # 0
|
|
36
|
+
ALLOW: SecurityProfile._DefaultAction.ValueType # 1
|
|
37
|
+
"""Pass request to service."""
|
|
38
|
+
DENY: SecurityProfile._DefaultAction.ValueType # 2
|
|
39
|
+
"""Deny request."""
|
|
40
|
+
|
|
41
|
+
class DefaultAction(_DefaultAction, metaclass=_DefaultActionEnumTypeWrapper):
|
|
42
|
+
"""Action to perform if none of rules matched."""
|
|
43
|
+
|
|
44
|
+
DEFAULT_ACTION_UNSPECIFIED: SecurityProfile.DefaultAction.ValueType # 0
|
|
45
|
+
ALLOW: SecurityProfile.DefaultAction.ValueType # 1
|
|
46
|
+
"""Pass request to service."""
|
|
47
|
+
DENY: SecurityProfile.DefaultAction.ValueType # 2
|
|
48
|
+
"""Deny request."""
|
|
49
|
+
|
|
50
|
+
@typing.final
|
|
51
|
+
class LabelsEntry(google.protobuf.message.Message):
|
|
52
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
53
|
+
|
|
54
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
55
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
56
|
+
key: builtins.str
|
|
57
|
+
value: builtins.str
|
|
58
|
+
def __init__(
|
|
59
|
+
self,
|
|
60
|
+
*,
|
|
61
|
+
key: builtins.str = ...,
|
|
62
|
+
value: builtins.str = ...,
|
|
63
|
+
) -> None: ...
|
|
64
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
65
|
+
|
|
66
|
+
ID_FIELD_NUMBER: builtins.int
|
|
67
|
+
FOLDER_ID_FIELD_NUMBER: builtins.int
|
|
68
|
+
CLOUD_ID_FIELD_NUMBER: builtins.int
|
|
69
|
+
LABELS_FIELD_NUMBER: builtins.int
|
|
70
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
71
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
72
|
+
DEFAULT_ACTION_FIELD_NUMBER: builtins.int
|
|
73
|
+
SECURITY_RULES_FIELD_NUMBER: builtins.int
|
|
74
|
+
CREATED_AT_FIELD_NUMBER: builtins.int
|
|
75
|
+
CAPTCHA_ID_FIELD_NUMBER: builtins.int
|
|
76
|
+
id: builtins.str
|
|
77
|
+
"""ID of the security profile."""
|
|
78
|
+
folder_id: builtins.str
|
|
79
|
+
"""ID of the folder that the security profile belongs to."""
|
|
80
|
+
cloud_id: builtins.str
|
|
81
|
+
"""ID of the cloud that the security profile belongs to."""
|
|
82
|
+
name: builtins.str
|
|
83
|
+
"""Name of the security profile. The name is unique within the folder. 1-50 characters long."""
|
|
84
|
+
description: builtins.str
|
|
85
|
+
"""Optional description of the security profile."""
|
|
86
|
+
default_action: global___SecurityProfile.DefaultAction.ValueType
|
|
87
|
+
"""Action to perform if none of rules matched."""
|
|
88
|
+
captcha_id: builtins.str
|
|
89
|
+
"""Captcha ID to use with this security profile. Set empty to use default."""
|
|
90
|
+
@property
|
|
91
|
+
def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
|
92
|
+
"""Labels as `` key:value `` pairs. Maximum of 64 per resource."""
|
|
93
|
+
|
|
94
|
+
@property
|
|
95
|
+
def security_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityRule]:
|
|
96
|
+
"""List of security rules."""
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
100
|
+
"""Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format."""
|
|
101
|
+
|
|
102
|
+
def __init__(
|
|
103
|
+
self,
|
|
104
|
+
*,
|
|
105
|
+
id: builtins.str = ...,
|
|
106
|
+
folder_id: builtins.str = ...,
|
|
107
|
+
cloud_id: builtins.str = ...,
|
|
108
|
+
labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
109
|
+
name: builtins.str = ...,
|
|
110
|
+
description: builtins.str = ...,
|
|
111
|
+
default_action: global___SecurityProfile.DefaultAction.ValueType = ...,
|
|
112
|
+
security_rules: collections.abc.Iterable[global___SecurityRule] | None = ...,
|
|
113
|
+
created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
114
|
+
captcha_id: builtins.str = ...,
|
|
115
|
+
) -> None: ...
|
|
116
|
+
def HasField(self, field_name: typing.Literal["created_at", b"created_at"]) -> builtins.bool: ...
|
|
117
|
+
def ClearField(self, field_name: typing.Literal["captcha_id", b"captcha_id", "cloud_id", b"cloud_id", "created_at", b"created_at", "default_action", b"default_action", "description", b"description", "folder_id", b"folder_id", "id", b"id", "labels", b"labels", "name", b"name", "security_rules", b"security_rules"]) -> None: ...
|
|
118
|
+
|
|
119
|
+
global___SecurityProfile = SecurityProfile
|
|
120
|
+
|
|
121
|
+
@typing.final
|
|
122
|
+
class SecurityRule(google.protobuf.message.Message):
|
|
123
|
+
"""A SecurityRule object, see [Rules](/docs/smartwebsecurity/concepts/rules)."""
|
|
124
|
+
|
|
125
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
126
|
+
|
|
127
|
+
@typing.final
|
|
128
|
+
class RuleCondition(google.protobuf.message.Message):
|
|
129
|
+
"""RuleCondition object."""
|
|
130
|
+
|
|
131
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
132
|
+
|
|
133
|
+
class _Action:
|
|
134
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
135
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
136
|
+
|
|
137
|
+
class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SecurityRule.RuleCondition._Action.ValueType], builtins.type):
|
|
138
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
139
|
+
ACTION_UNSPECIFIED: SecurityRule.RuleCondition._Action.ValueType # 0
|
|
140
|
+
ALLOW: SecurityRule.RuleCondition._Action.ValueType # 1
|
|
141
|
+
"""Pass request to service."""
|
|
142
|
+
DENY: SecurityRule.RuleCondition._Action.ValueType # 2
|
|
143
|
+
"""Deny request."""
|
|
144
|
+
|
|
145
|
+
class Action(_Action, metaclass=_ActionEnumTypeWrapper):
|
|
146
|
+
"""Type of action to perform if this rule matched."""
|
|
147
|
+
|
|
148
|
+
ACTION_UNSPECIFIED: SecurityRule.RuleCondition.Action.ValueType # 0
|
|
149
|
+
ALLOW: SecurityRule.RuleCondition.Action.ValueType # 1
|
|
150
|
+
"""Pass request to service."""
|
|
151
|
+
DENY: SecurityRule.RuleCondition.Action.ValueType # 2
|
|
152
|
+
"""Deny request."""
|
|
153
|
+
|
|
154
|
+
ACTION_FIELD_NUMBER: builtins.int
|
|
155
|
+
CONDITION_FIELD_NUMBER: builtins.int
|
|
156
|
+
action: global___SecurityRule.RuleCondition.Action.ValueType
|
|
157
|
+
"""Action to perform if this rule matched."""
|
|
158
|
+
@property
|
|
159
|
+
def condition(self) -> global___Condition:
|
|
160
|
+
"""The condition for matching the rule."""
|
|
161
|
+
|
|
162
|
+
def __init__(
|
|
163
|
+
self,
|
|
164
|
+
*,
|
|
165
|
+
action: global___SecurityRule.RuleCondition.Action.ValueType = ...,
|
|
166
|
+
condition: global___Condition | None = ...,
|
|
167
|
+
) -> None: ...
|
|
168
|
+
def HasField(self, field_name: typing.Literal["condition", b"condition"]) -> builtins.bool: ...
|
|
169
|
+
def ClearField(self, field_name: typing.Literal["action", b"action", "condition", b"condition"]) -> None: ...
|
|
170
|
+
|
|
171
|
+
@typing.final
|
|
172
|
+
class SmartProtection(google.protobuf.message.Message):
|
|
173
|
+
"""SmartProtection object."""
|
|
174
|
+
|
|
175
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
176
|
+
|
|
177
|
+
class _Mode:
|
|
178
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
179
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
180
|
+
|
|
181
|
+
class _ModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SecurityRule.SmartProtection._Mode.ValueType], builtins.type):
|
|
182
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
183
|
+
MODE_UNSPECIFIED: SecurityRule.SmartProtection._Mode.ValueType # 0
|
|
184
|
+
FULL: SecurityRule.SmartProtection._Mode.ValueType # 1
|
|
185
|
+
"""Full protection means that the traffic will be checked based on ML models and behavioral analysis,
|
|
186
|
+
with suspicious requests being sent to SmartCaptcha.
|
|
187
|
+
"""
|
|
188
|
+
API: SecurityRule.SmartProtection._Mode.ValueType # 2
|
|
189
|
+
"""API protection means checking the traffic based on ML models and behavioral analysis without sending suspicious
|
|
190
|
+
requests to SmartCaptcha. The suspicious requests will be blocked.
|
|
191
|
+
"""
|
|
192
|
+
|
|
193
|
+
class Mode(_Mode, metaclass=_ModeEnumTypeWrapper):
|
|
194
|
+
"""Mode of protection."""
|
|
195
|
+
|
|
196
|
+
MODE_UNSPECIFIED: SecurityRule.SmartProtection.Mode.ValueType # 0
|
|
197
|
+
FULL: SecurityRule.SmartProtection.Mode.ValueType # 1
|
|
198
|
+
"""Full protection means that the traffic will be checked based on ML models and behavioral analysis,
|
|
199
|
+
with suspicious requests being sent to SmartCaptcha.
|
|
200
|
+
"""
|
|
201
|
+
API: SecurityRule.SmartProtection.Mode.ValueType # 2
|
|
202
|
+
"""API protection means checking the traffic based on ML models and behavioral analysis without sending suspicious
|
|
203
|
+
requests to SmartCaptcha. The suspicious requests will be blocked.
|
|
204
|
+
"""
|
|
205
|
+
|
|
206
|
+
MODE_FIELD_NUMBER: builtins.int
|
|
207
|
+
CONDITION_FIELD_NUMBER: builtins.int
|
|
208
|
+
mode: global___SecurityRule.SmartProtection.Mode.ValueType
|
|
209
|
+
"""Mode of protection."""
|
|
210
|
+
@property
|
|
211
|
+
def condition(self) -> global___Condition:
|
|
212
|
+
"""The condition for matching the rule."""
|
|
213
|
+
|
|
214
|
+
def __init__(
|
|
215
|
+
self,
|
|
216
|
+
*,
|
|
217
|
+
mode: global___SecurityRule.SmartProtection.Mode.ValueType = ...,
|
|
218
|
+
condition: global___Condition | None = ...,
|
|
219
|
+
) -> None: ...
|
|
220
|
+
def HasField(self, field_name: typing.Literal["condition", b"condition"]) -> builtins.bool: ...
|
|
221
|
+
def ClearField(self, field_name: typing.Literal["condition", b"condition", "mode", b"mode"]) -> None: ...
|
|
222
|
+
|
|
223
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
224
|
+
PRIORITY_FIELD_NUMBER: builtins.int
|
|
225
|
+
DRY_RUN_FIELD_NUMBER: builtins.int
|
|
226
|
+
RULE_CONDITION_FIELD_NUMBER: builtins.int
|
|
227
|
+
SMART_PROTECTION_FIELD_NUMBER: builtins.int
|
|
228
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
229
|
+
name: builtins.str
|
|
230
|
+
"""Name of the rule. The name is unique within the folder. 1-50 characters long."""
|
|
231
|
+
priority: builtins.int
|
|
232
|
+
"""Determines the priority for checking the incoming traffic.
|
|
233
|
+
Enter an integer within the range of 1 and 999999.
|
|
234
|
+
The rule priority must be unique within the entire security profile.
|
|
235
|
+
A lower numeric value means a higher priority.
|
|
236
|
+
The default_action has the lowest priority.
|
|
237
|
+
"""
|
|
238
|
+
dry_run: builtins.bool
|
|
239
|
+
"""This mode allows you to test your security profile or a single rule.
|
|
240
|
+
For example, you can have the number of alarms for a specific rule displayed.
|
|
241
|
+
Note: if this option is true, no real action affecting your traffic regarding this rule will be taken.
|
|
242
|
+
"""
|
|
243
|
+
description: builtins.str
|
|
244
|
+
"""Optional description of the rule. 0-512 characters long."""
|
|
245
|
+
@property
|
|
246
|
+
def rule_condition(self) -> global___SecurityRule.RuleCondition:
|
|
247
|
+
"""Rule actions, see [Rule actions](/docs/smartwebsecurity/concepts/rules#rule-action)."""
|
|
248
|
+
|
|
249
|
+
@property
|
|
250
|
+
def smart_protection(self) -> global___SecurityRule.SmartProtection:
|
|
251
|
+
"""Smart Protection rule, see [Smart Protection rules](/docs/smartwebsecurity/concepts/rules#smart-protection-rules)."""
|
|
252
|
+
|
|
253
|
+
def __init__(
|
|
254
|
+
self,
|
|
255
|
+
*,
|
|
256
|
+
name: builtins.str = ...,
|
|
257
|
+
priority: builtins.int = ...,
|
|
258
|
+
dry_run: builtins.bool = ...,
|
|
259
|
+
rule_condition: global___SecurityRule.RuleCondition | None = ...,
|
|
260
|
+
smart_protection: global___SecurityRule.SmartProtection | None = ...,
|
|
261
|
+
description: builtins.str = ...,
|
|
262
|
+
) -> None: ...
|
|
263
|
+
def HasField(self, field_name: typing.Literal["rule_condition", b"rule_condition", "rule_specifier", b"rule_specifier", "smart_protection", b"smart_protection"]) -> builtins.bool: ...
|
|
264
|
+
def ClearField(self, field_name: typing.Literal["description", b"description", "dry_run", b"dry_run", "name", b"name", "priority", b"priority", "rule_condition", b"rule_condition", "rule_specifier", b"rule_specifier", "smart_protection", b"smart_protection"]) -> None: ...
|
|
265
|
+
def WhichOneof(self, oneof_group: typing.Literal["rule_specifier", b"rule_specifier"]) -> typing.Literal["rule_condition", "smart_protection"] | None: ...
|
|
266
|
+
|
|
267
|
+
global___SecurityRule = SecurityRule
|
|
268
|
+
|
|
269
|
+
@typing.final
|
|
270
|
+
class Condition(google.protobuf.message.Message):
|
|
271
|
+
"""Condition object. AND semantics implied.
|
|
272
|
+
See [documentation](/docs/smartwebsecurity/concepts/conditions) for matchers description.
|
|
273
|
+
"""
|
|
274
|
+
|
|
275
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
276
|
+
|
|
277
|
+
@typing.final
|
|
278
|
+
class StringMatcher(google.protobuf.message.Message):
|
|
279
|
+
"""StringMatcher object."""
|
|
280
|
+
|
|
281
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
282
|
+
|
|
283
|
+
EXACT_MATCH_FIELD_NUMBER: builtins.int
|
|
284
|
+
EXACT_NOT_MATCH_FIELD_NUMBER: builtins.int
|
|
285
|
+
PREFIX_MATCH_FIELD_NUMBER: builtins.int
|
|
286
|
+
PREFIX_NOT_MATCH_FIELD_NUMBER: builtins.int
|
|
287
|
+
PIRE_REGEX_MATCH_FIELD_NUMBER: builtins.int
|
|
288
|
+
PIRE_REGEX_NOT_MATCH_FIELD_NUMBER: builtins.int
|
|
289
|
+
exact_match: builtins.str
|
|
290
|
+
exact_not_match: builtins.str
|
|
291
|
+
prefix_match: builtins.str
|
|
292
|
+
prefix_not_match: builtins.str
|
|
293
|
+
pire_regex_match: builtins.str
|
|
294
|
+
pire_regex_not_match: builtins.str
|
|
295
|
+
def __init__(
|
|
296
|
+
self,
|
|
297
|
+
*,
|
|
298
|
+
exact_match: builtins.str = ...,
|
|
299
|
+
exact_not_match: builtins.str = ...,
|
|
300
|
+
prefix_match: builtins.str = ...,
|
|
301
|
+
prefix_not_match: builtins.str = ...,
|
|
302
|
+
pire_regex_match: builtins.str = ...,
|
|
303
|
+
pire_regex_not_match: builtins.str = ...,
|
|
304
|
+
) -> None: ...
|
|
305
|
+
def HasField(self, field_name: typing.Literal["exact_match", b"exact_match", "exact_not_match", b"exact_not_match", "match", b"match", "pire_regex_match", b"pire_regex_match", "pire_regex_not_match", b"pire_regex_not_match", "prefix_match", b"prefix_match", "prefix_not_match", b"prefix_not_match"]) -> builtins.bool: ...
|
|
306
|
+
def ClearField(self, field_name: typing.Literal["exact_match", b"exact_match", "exact_not_match", b"exact_not_match", "match", b"match", "pire_regex_match", b"pire_regex_match", "pire_regex_not_match", b"pire_regex_not_match", "prefix_match", b"prefix_match", "prefix_not_match", b"prefix_not_match"]) -> None: ...
|
|
307
|
+
def WhichOneof(self, oneof_group: typing.Literal["match", b"match"]) -> typing.Literal["exact_match", "exact_not_match", "prefix_match", "prefix_not_match", "pire_regex_match", "pire_regex_not_match"] | None: ...
|
|
308
|
+
|
|
309
|
+
@typing.final
|
|
310
|
+
class HttpMethodMatcher(google.protobuf.message.Message):
|
|
311
|
+
"""HttpMethodMatcher object."""
|
|
312
|
+
|
|
313
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
314
|
+
|
|
315
|
+
HTTP_METHODS_FIELD_NUMBER: builtins.int
|
|
316
|
+
@property
|
|
317
|
+
def http_methods(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Condition.StringMatcher]:
|
|
318
|
+
"""List of HTTP methods. OR semantics implied."""
|
|
319
|
+
|
|
320
|
+
def __init__(
|
|
321
|
+
self,
|
|
322
|
+
*,
|
|
323
|
+
http_methods: collections.abc.Iterable[global___Condition.StringMatcher] | None = ...,
|
|
324
|
+
) -> None: ...
|
|
325
|
+
def ClearField(self, field_name: typing.Literal["http_methods", b"http_methods"]) -> None: ...
|
|
326
|
+
|
|
327
|
+
@typing.final
|
|
328
|
+
class AuthorityMatcher(google.protobuf.message.Message):
|
|
329
|
+
"""AuthorityMatcher object."""
|
|
330
|
+
|
|
331
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
332
|
+
|
|
333
|
+
AUTHORITIES_FIELD_NUMBER: builtins.int
|
|
334
|
+
@property
|
|
335
|
+
def authorities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Condition.StringMatcher]:
|
|
336
|
+
"""List of authorities. OR semantics implied."""
|
|
337
|
+
|
|
338
|
+
def __init__(
|
|
339
|
+
self,
|
|
340
|
+
*,
|
|
341
|
+
authorities: collections.abc.Iterable[global___Condition.StringMatcher] | None = ...,
|
|
342
|
+
) -> None: ...
|
|
343
|
+
def ClearField(self, field_name: typing.Literal["authorities", b"authorities"]) -> None: ...
|
|
344
|
+
|
|
345
|
+
@typing.final
|
|
346
|
+
class RequestUriMatcher(google.protobuf.message.Message):
|
|
347
|
+
"""RequestUriMatcher object. AND semantics implied."""
|
|
348
|
+
|
|
349
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
350
|
+
|
|
351
|
+
PATH_FIELD_NUMBER: builtins.int
|
|
352
|
+
QUERIES_FIELD_NUMBER: builtins.int
|
|
353
|
+
@property
|
|
354
|
+
def path(self) -> global___Condition.StringMatcher:
|
|
355
|
+
"""Path of the URI [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.3)."""
|
|
356
|
+
|
|
357
|
+
@property
|
|
358
|
+
def queries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Condition.QueryMatcher]:
|
|
359
|
+
"""List of query matchers. AND semantics implied."""
|
|
360
|
+
|
|
361
|
+
def __init__(
|
|
362
|
+
self,
|
|
363
|
+
*,
|
|
364
|
+
path: global___Condition.StringMatcher | None = ...,
|
|
365
|
+
queries: collections.abc.Iterable[global___Condition.QueryMatcher] | None = ...,
|
|
366
|
+
) -> None: ...
|
|
367
|
+
def HasField(self, field_name: typing.Literal["path", b"path"]) -> builtins.bool: ...
|
|
368
|
+
def ClearField(self, field_name: typing.Literal["path", b"path", "queries", b"queries"]) -> None: ...
|
|
369
|
+
|
|
370
|
+
@typing.final
|
|
371
|
+
class QueryMatcher(google.protobuf.message.Message):
|
|
372
|
+
"""QueryMatcher object."""
|
|
373
|
+
|
|
374
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
375
|
+
|
|
376
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
377
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
378
|
+
key: builtins.str
|
|
379
|
+
"""Key of the query parameter."""
|
|
380
|
+
@property
|
|
381
|
+
def value(self) -> global___Condition.StringMatcher:
|
|
382
|
+
"""Value of the query parameter."""
|
|
383
|
+
|
|
384
|
+
def __init__(
|
|
385
|
+
self,
|
|
386
|
+
*,
|
|
387
|
+
key: builtins.str = ...,
|
|
388
|
+
value: global___Condition.StringMatcher | None = ...,
|
|
389
|
+
) -> None: ...
|
|
390
|
+
def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
|
|
391
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
392
|
+
|
|
393
|
+
@typing.final
|
|
394
|
+
class HeaderMatcher(google.protobuf.message.Message):
|
|
395
|
+
"""HeaderMatcher object."""
|
|
396
|
+
|
|
397
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
398
|
+
|
|
399
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
400
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
401
|
+
name: builtins.str
|
|
402
|
+
"""Name of header (case insensitive)."""
|
|
403
|
+
@property
|
|
404
|
+
def value(self) -> global___Condition.StringMatcher:
|
|
405
|
+
"""Value of the header."""
|
|
406
|
+
|
|
407
|
+
def __init__(
|
|
408
|
+
self,
|
|
409
|
+
*,
|
|
410
|
+
name: builtins.str = ...,
|
|
411
|
+
value: global___Condition.StringMatcher | None = ...,
|
|
412
|
+
) -> None: ...
|
|
413
|
+
def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
|
|
414
|
+
def ClearField(self, field_name: typing.Literal["name", b"name", "value", b"value"]) -> None: ...
|
|
415
|
+
|
|
416
|
+
@typing.final
|
|
417
|
+
class IpMatcher(google.protobuf.message.Message):
|
|
418
|
+
"""IpMatcher object. AND semantics implied."""
|
|
419
|
+
|
|
420
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
421
|
+
|
|
422
|
+
IP_RANGES_MATCH_FIELD_NUMBER: builtins.int
|
|
423
|
+
IP_RANGES_NOT_MATCH_FIELD_NUMBER: builtins.int
|
|
424
|
+
GEO_IP_MATCH_FIELD_NUMBER: builtins.int
|
|
425
|
+
GEO_IP_NOT_MATCH_FIELD_NUMBER: builtins.int
|
|
426
|
+
@property
|
|
427
|
+
def ip_ranges_match(self) -> global___Condition.IpRangesMatcher: ...
|
|
428
|
+
@property
|
|
429
|
+
def ip_ranges_not_match(self) -> global___Condition.IpRangesMatcher: ...
|
|
430
|
+
@property
|
|
431
|
+
def geo_ip_match(self) -> global___Condition.GeoIpMatcher: ...
|
|
432
|
+
@property
|
|
433
|
+
def geo_ip_not_match(self) -> global___Condition.GeoIpMatcher: ...
|
|
434
|
+
def __init__(
|
|
435
|
+
self,
|
|
436
|
+
*,
|
|
437
|
+
ip_ranges_match: global___Condition.IpRangesMatcher | None = ...,
|
|
438
|
+
ip_ranges_not_match: global___Condition.IpRangesMatcher | None = ...,
|
|
439
|
+
geo_ip_match: global___Condition.GeoIpMatcher | None = ...,
|
|
440
|
+
geo_ip_not_match: global___Condition.GeoIpMatcher | None = ...,
|
|
441
|
+
) -> None: ...
|
|
442
|
+
def HasField(self, field_name: typing.Literal["geo_ip_match", b"geo_ip_match", "geo_ip_not_match", b"geo_ip_not_match", "ip_ranges_match", b"ip_ranges_match", "ip_ranges_not_match", b"ip_ranges_not_match"]) -> builtins.bool: ...
|
|
443
|
+
def ClearField(self, field_name: typing.Literal["geo_ip_match", b"geo_ip_match", "geo_ip_not_match", b"geo_ip_not_match", "ip_ranges_match", b"ip_ranges_match", "ip_ranges_not_match", b"ip_ranges_not_match"]) -> None: ...
|
|
444
|
+
|
|
445
|
+
@typing.final
|
|
446
|
+
class IpRangesMatcher(google.protobuf.message.Message):
|
|
447
|
+
"""IpRangesMatcher object."""
|
|
448
|
+
|
|
449
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
450
|
+
|
|
451
|
+
IP_RANGES_FIELD_NUMBER: builtins.int
|
|
452
|
+
@property
|
|
453
|
+
def ip_ranges(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
|
454
|
+
"""List of IP ranges. OR semantics implied.
|
|
455
|
+
v4/v6 - allow, exact IP == /32 or /128 range
|
|
456
|
+
"""
|
|
457
|
+
|
|
458
|
+
def __init__(
|
|
459
|
+
self,
|
|
460
|
+
*,
|
|
461
|
+
ip_ranges: collections.abc.Iterable[builtins.str] | None = ...,
|
|
462
|
+
) -> None: ...
|
|
463
|
+
def ClearField(self, field_name: typing.Literal["ip_ranges", b"ip_ranges"]) -> None: ...
|
|
464
|
+
|
|
465
|
+
@typing.final
|
|
466
|
+
class GeoIpMatcher(google.protobuf.message.Message):
|
|
467
|
+
"""GeoIpMatcher object."""
|
|
468
|
+
|
|
469
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
470
|
+
|
|
471
|
+
LOCATIONS_FIELD_NUMBER: builtins.int
|
|
472
|
+
@property
|
|
473
|
+
def locations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
|
|
474
|
+
"""ISO 3166-1 alpha 2. OR semantics implied."""
|
|
475
|
+
|
|
476
|
+
def __init__(
|
|
477
|
+
self,
|
|
478
|
+
*,
|
|
479
|
+
locations: collections.abc.Iterable[builtins.str] | None = ...,
|
|
480
|
+
) -> None: ...
|
|
481
|
+
def ClearField(self, field_name: typing.Literal["locations", b"locations"]) -> None: ...
|
|
482
|
+
|
|
483
|
+
AUTHORITY_FIELD_NUMBER: builtins.int
|
|
484
|
+
HTTP_METHOD_FIELD_NUMBER: builtins.int
|
|
485
|
+
REQUEST_URI_FIELD_NUMBER: builtins.int
|
|
486
|
+
HEADERS_FIELD_NUMBER: builtins.int
|
|
487
|
+
SOURCE_IP_FIELD_NUMBER: builtins.int
|
|
488
|
+
@property
|
|
489
|
+
def authority(self) -> global___Condition.AuthorityMatcher:
|
|
490
|
+
"""Match authority (Host header)."""
|
|
491
|
+
|
|
492
|
+
@property
|
|
493
|
+
def http_method(self) -> global___Condition.HttpMethodMatcher:
|
|
494
|
+
"""Match HTTP method."""
|
|
495
|
+
|
|
496
|
+
@property
|
|
497
|
+
def request_uri(self) -> global___Condition.RequestUriMatcher:
|
|
498
|
+
"""Match Request URI."""
|
|
499
|
+
|
|
500
|
+
@property
|
|
501
|
+
def headers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Condition.HeaderMatcher]:
|
|
502
|
+
"""Match HTTP headers."""
|
|
503
|
+
|
|
504
|
+
@property
|
|
505
|
+
def source_ip(self) -> global___Condition.IpMatcher:
|
|
506
|
+
"""Match IP."""
|
|
507
|
+
|
|
508
|
+
def __init__(
|
|
509
|
+
self,
|
|
510
|
+
*,
|
|
511
|
+
authority: global___Condition.AuthorityMatcher | None = ...,
|
|
512
|
+
http_method: global___Condition.HttpMethodMatcher | None = ...,
|
|
513
|
+
request_uri: global___Condition.RequestUriMatcher | None = ...,
|
|
514
|
+
headers: collections.abc.Iterable[global___Condition.HeaderMatcher] | None = ...,
|
|
515
|
+
source_ip: global___Condition.IpMatcher | None = ...,
|
|
516
|
+
) -> None: ...
|
|
517
|
+
def HasField(self, field_name: typing.Literal["authority", b"authority", "http_method", b"http_method", "request_uri", b"request_uri", "source_ip", b"source_ip"]) -> builtins.bool: ...
|
|
518
|
+
def ClearField(self, field_name: typing.Literal["authority", b"authority", "headers", b"headers", "http_method", b"http_method", "request_uri", b"request_uri", "source_ip", b"source_ip"]) -> None: ...
|
|
519
|
+
|
|
520
|
+
global___Condition = Condition
|
|
@@ -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,78 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: yandex/cloud/smartwebsecurity/v1/security_profile_service.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
|
+
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
15
|
+
from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
|
|
16
|
+
from yandex.cloud.api import operation_pb2 as yandex_dot_cloud_dot_api_dot_operation__pb2
|
|
17
|
+
from yandex.cloud import validation_pb2 as yandex_dot_cloud_dot_validation__pb2
|
|
18
|
+
from yandex.cloud.operation import operation_pb2 as yandex_dot_cloud_dot_operation_dot_operation__pb2
|
|
19
|
+
from yandex.cloud.smartwebsecurity.v1 import security_profile_pb2 as yandex_dot_cloud_dot_smartwebsecurity_dot_v1_dot_security__profile__pb2
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?yandex/cloud/smartwebsecurity/v1/security_profile_service.proto\x12 yandex.cloud.smartwebsecurity.v1\x1a\x1cgoogle/api/annotations.proto\x1a google/protobuf/field_mask.proto\x1a yandex/cloud/api/operation.proto\x1a\x1dyandex/cloud/validation.proto\x1a&yandex/cloud/operation/operation.proto\x1a\x37yandex/cloud/smartwebsecurity/v1/security_profile.proto\">\n\x19GetSecurityProfileRequest\x12!\n\x13security_profile_id\x18\x01 \x01(\tB\x04\xe8\xc7\x31\x01\"6\n\x1bListSecurityProfilesRequest\x12\x17\n\tfolder_id\x18\x01 \x01(\tB\x04\xe8\xc7\x31\x01\"l\n\x1cListSecurityProfilesResponse\x12L\n\x11security_profiles\x18\x01 \x03(\x0b\x32\x31.yandex.cloud.smartwebsecurity.v1.SecurityProfile\"\x9a\x03\n\x1c\x43reateSecurityProfileRequest\x12\x17\n\tfolder_id\x18\x01 \x01(\tB\x04\xe8\xc7\x31\x01\x12Z\n\x06labels\x18\x02 \x03(\x0b\x32J.yandex.cloud.smartwebsecurity.v1.CreateSecurityProfileRequest.LabelsEntry\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12W\n\x0e\x64\x65\x66\x61ult_action\x18\x05 \x01(\x0e\x32?.yandex.cloud.smartwebsecurity.v1.SecurityProfile.DefaultAction\x12\x46\n\x0esecurity_rules\x18\x06 \x03(\x0b\x32..yandex.cloud.smartwebsecurity.v1.SecurityRule\x12\x12\n\ncaptcha_id\x18\x07 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"<\n\x1d\x43reateSecurityProfileMetadata\x12\x1b\n\x13security_profile_id\x18\x01 \x01(\t\"\xd5\x03\n\x1cUpdateSecurityProfileRequest\x12!\n\x13security_profile_id\x18\x01 \x01(\tB\x04\xe8\xc7\x31\x01\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12Z\n\x06labels\x18\x03 \x03(\x0b\x32J.yandex.cloud.smartwebsecurity.v1.UpdateSecurityProfileRequest.LabelsEntry\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12W\n\x0e\x64\x65\x66\x61ult_action\x18\x06 \x01(\x0e\x32?.yandex.cloud.smartwebsecurity.v1.SecurityProfile.DefaultAction\x12\x46\n\x0esecurity_rules\x18\x07 \x03(\x0b\x32..yandex.cloud.smartwebsecurity.v1.SecurityRule\x12\x12\n\ncaptcha_id\x18\x08 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"<\n\x1dUpdateSecurityProfileMetadata\x12\x1b\n\x13security_profile_id\x18\x01 \x01(\t\"A\n\x1c\x44\x65leteSecurityProfileRequest\x12!\n\x13security_profile_id\x18\x01 \x01(\tB\x04\xe8\xc7\x31\x01\"<\n\x1d\x44\x65leteSecurityProfileMetadata\x12\x1b\n\x13security_profile_id\x18\x01 \x01(\t2\xb7\x08\n\x16SecurityProfileService\x12\xba\x01\n\x03Get\x12;.yandex.cloud.smartwebsecurity.v1.GetSecurityProfileRequest\x1a\x31.yandex.cloud.smartwebsecurity.v1.SecurityProfile\"C\x82\xd3\xe4\x93\x02=\x12;/smartwebsecurity/v1/securityProfiles/{security_profile_id}\x12\xb4\x01\n\x04List\x12=.yandex.cloud.smartwebsecurity.v1.ListSecurityProfilesRequest\x1a>.yandex.cloud.smartwebsecurity.v1.ListSecurityProfilesResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/smartwebsecurity/v1/securityProfiles\x12\xd1\x01\n\x06\x43reate\x12>.yandex.cloud.smartwebsecurity.v1.CreateSecurityProfileRequest\x1a!.yandex.cloud.operation.Operation\"d\xb2\xd2*0\n\x1d\x43reateSecurityProfileMetadata\x12\x0fSecurityProfile\x82\xd3\xe4\x93\x02*\"%/smartwebsecurity/v1/securityProfiles:\x01*\x12\xe7\x01\n\x06Update\x12>.yandex.cloud.smartwebsecurity.v1.UpdateSecurityProfileRequest\x1a!.yandex.cloud.operation.Operation\"z\xb2\xd2*0\n\x1dUpdateSecurityProfileMetadata\x12\x0fSecurityProfile\x82\xd3\xe4\x93\x02@2;/smartwebsecurity/v1/securityProfiles/{security_profile_id}:\x01*\x12\xea\x01\n\x06\x44\x65lete\x12>.yandex.cloud.smartwebsecurity.v1.DeleteSecurityProfileRequest\x1a!.yandex.cloud.operation.Operation\"}\xb2\xd2*6\n\x1d\x44\x65leteSecurityProfileMetadata\x12\x15google.protobuf.Empty\x82\xd3\xe4\x93\x02=*;/smartwebsecurity/v1/securityProfiles/{security_profile_id}B}\n$yandex.cloud.api.smartwebsecurity.v1ZUgithub.com/yandex-cloud/go-genproto/yandex/cloud/smartwebsecurity/v1;smartwebsecurityb\x06proto3')
|
|
23
|
+
|
|
24
|
+
_globals = globals()
|
|
25
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
26
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'yandex.cloud.smartwebsecurity.v1.security_profile_service_pb2', _globals)
|
|
27
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
28
|
+
DESCRIPTOR._options = None
|
|
29
|
+
DESCRIPTOR._serialized_options = b'\n$yandex.cloud.api.smartwebsecurity.v1ZUgithub.com/yandex-cloud/go-genproto/yandex/cloud/smartwebsecurity/v1;smartwebsecurity'
|
|
30
|
+
_GETSECURITYPROFILEREQUEST.fields_by_name['security_profile_id']._options = None
|
|
31
|
+
_GETSECURITYPROFILEREQUEST.fields_by_name['security_profile_id']._serialized_options = b'\350\3071\001'
|
|
32
|
+
_LISTSECURITYPROFILESREQUEST.fields_by_name['folder_id']._options = None
|
|
33
|
+
_LISTSECURITYPROFILESREQUEST.fields_by_name['folder_id']._serialized_options = b'\350\3071\001'
|
|
34
|
+
_CREATESECURITYPROFILEREQUEST_LABELSENTRY._options = None
|
|
35
|
+
_CREATESECURITYPROFILEREQUEST_LABELSENTRY._serialized_options = b'8\001'
|
|
36
|
+
_CREATESECURITYPROFILEREQUEST.fields_by_name['folder_id']._options = None
|
|
37
|
+
_CREATESECURITYPROFILEREQUEST.fields_by_name['folder_id']._serialized_options = b'\350\3071\001'
|
|
38
|
+
_UPDATESECURITYPROFILEREQUEST_LABELSENTRY._options = None
|
|
39
|
+
_UPDATESECURITYPROFILEREQUEST_LABELSENTRY._serialized_options = b'8\001'
|
|
40
|
+
_UPDATESECURITYPROFILEREQUEST.fields_by_name['security_profile_id']._options = None
|
|
41
|
+
_UPDATESECURITYPROFILEREQUEST.fields_by_name['security_profile_id']._serialized_options = b'\350\3071\001'
|
|
42
|
+
_DELETESECURITYPROFILEREQUEST.fields_by_name['security_profile_id']._options = None
|
|
43
|
+
_DELETESECURITYPROFILEREQUEST.fields_by_name['security_profile_id']._serialized_options = b'\350\3071\001'
|
|
44
|
+
_SECURITYPROFILESERVICE.methods_by_name['Get']._options = None
|
|
45
|
+
_SECURITYPROFILESERVICE.methods_by_name['Get']._serialized_options = b'\202\323\344\223\002=\022;/smartwebsecurity/v1/securityProfiles/{security_profile_id}'
|
|
46
|
+
_SECURITYPROFILESERVICE.methods_by_name['List']._options = None
|
|
47
|
+
_SECURITYPROFILESERVICE.methods_by_name['List']._serialized_options = b'\202\323\344\223\002\'\022%/smartwebsecurity/v1/securityProfiles'
|
|
48
|
+
_SECURITYPROFILESERVICE.methods_by_name['Create']._options = None
|
|
49
|
+
_SECURITYPROFILESERVICE.methods_by_name['Create']._serialized_options = b'\262\322*0\n\035CreateSecurityProfileMetadata\022\017SecurityProfile\202\323\344\223\002*\"%/smartwebsecurity/v1/securityProfiles:\001*'
|
|
50
|
+
_SECURITYPROFILESERVICE.methods_by_name['Update']._options = None
|
|
51
|
+
_SECURITYPROFILESERVICE.methods_by_name['Update']._serialized_options = b'\262\322*0\n\035UpdateSecurityProfileMetadata\022\017SecurityProfile\202\323\344\223\002@2;/smartwebsecurity/v1/securityProfiles/{security_profile_id}:\001*'
|
|
52
|
+
_SECURITYPROFILESERVICE.methods_by_name['Delete']._options = None
|
|
53
|
+
_SECURITYPROFILESERVICE.methods_by_name['Delete']._serialized_options = b'\262\322*6\n\035DeleteSecurityProfileMetadata\022\025google.protobuf.Empty\202\323\344\223\002=*;/smartwebsecurity/v1/securityProfiles/{security_profile_id}'
|
|
54
|
+
_globals['_GETSECURITYPROFILEREQUEST']._serialized_start=327
|
|
55
|
+
_globals['_GETSECURITYPROFILEREQUEST']._serialized_end=389
|
|
56
|
+
_globals['_LISTSECURITYPROFILESREQUEST']._serialized_start=391
|
|
57
|
+
_globals['_LISTSECURITYPROFILESREQUEST']._serialized_end=445
|
|
58
|
+
_globals['_LISTSECURITYPROFILESRESPONSE']._serialized_start=447
|
|
59
|
+
_globals['_LISTSECURITYPROFILESRESPONSE']._serialized_end=555
|
|
60
|
+
_globals['_CREATESECURITYPROFILEREQUEST']._serialized_start=558
|
|
61
|
+
_globals['_CREATESECURITYPROFILEREQUEST']._serialized_end=968
|
|
62
|
+
_globals['_CREATESECURITYPROFILEREQUEST_LABELSENTRY']._serialized_start=923
|
|
63
|
+
_globals['_CREATESECURITYPROFILEREQUEST_LABELSENTRY']._serialized_end=968
|
|
64
|
+
_globals['_CREATESECURITYPROFILEMETADATA']._serialized_start=970
|
|
65
|
+
_globals['_CREATESECURITYPROFILEMETADATA']._serialized_end=1030
|
|
66
|
+
_globals['_UPDATESECURITYPROFILEREQUEST']._serialized_start=1033
|
|
67
|
+
_globals['_UPDATESECURITYPROFILEREQUEST']._serialized_end=1502
|
|
68
|
+
_globals['_UPDATESECURITYPROFILEREQUEST_LABELSENTRY']._serialized_start=923
|
|
69
|
+
_globals['_UPDATESECURITYPROFILEREQUEST_LABELSENTRY']._serialized_end=968
|
|
70
|
+
_globals['_UPDATESECURITYPROFILEMETADATA']._serialized_start=1504
|
|
71
|
+
_globals['_UPDATESECURITYPROFILEMETADATA']._serialized_end=1564
|
|
72
|
+
_globals['_DELETESECURITYPROFILEREQUEST']._serialized_start=1566
|
|
73
|
+
_globals['_DELETESECURITYPROFILEREQUEST']._serialized_end=1631
|
|
74
|
+
_globals['_DELETESECURITYPROFILEMETADATA']._serialized_start=1633
|
|
75
|
+
_globals['_DELETESECURITYPROFILEMETADATA']._serialized_end=1693
|
|
76
|
+
_globals['_SECURITYPROFILESERVICE']._serialized_start=1696
|
|
77
|
+
_globals['_SECURITYPROFILESERVICE']._serialized_end=2775
|
|
78
|
+
# @@protoc_insertion_point(module_scope)
|