yandexcloud 0.316.0__py3-none-any.whl → 0.317.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/backup/v1/resource_pb2.py +10 -10
- yandex/cloud/backup/v1/resource_pb2.pyi +5 -1
- yandex/cloud/datatransfer/v1/transfer_pb2.py +12 -10
- yandex/cloud/datatransfer/v1/transfer_pb2.pyi +17 -3
- yandex/cloud/loadtesting/agent/v1/agent_registration_service_pb2.py +18 -11
- yandex/cloud/loadtesting/agent/v1/agent_registration_service_pb2.pyi +23 -1
- yandex/cloud/loadtesting/api/v1/agent/agent_pb2.py +6 -5
- yandex/cloud/loadtesting/api/v1/agent/agent_pb2.pyi +9 -1
- yandex/cloud/loadtesting/api/v1/agent/log_settings_pb2.py +29 -0
- yandex/cloud/loadtesting/api/v1/agent/log_settings_pb2.pyi +27 -0
- yandex/cloud/loadtesting/api/v1/agent/log_settings_pb2_grpc.py +4 -0
- yandex/cloud/loadtesting/api/v1/agent/log_settings_pb2_grpc.pyi +17 -0
- yandex/cloud/loadtesting/api/v1/agent_service_pb2.py +27 -26
- yandex/cloud/loadtesting/api/v1/agent_service_pb2.pyi +9 -2
- yandex/cloud/loadtesting/api/v1/test/imbalance_point_pb2.py +2 -2
- yandex/cloud/loadtesting/api/v1/test/imbalance_point_pb2.pyi +5 -1
- yandex/cloud/mdb/mysql/v1/backup_service_pb2.py +17 -13
- yandex/cloud/mdb/mysql/v1/backup_service_pb2_grpc.py +35 -0
- yandex/cloud/mdb/mysql/v1/backup_service_pb2_grpc.pyi +21 -0
- yandex/cloud/mdb/opensearch/v1/auth_pb2.py +6 -5
- yandex/cloud/mdb/opensearch/v1/auth_pb2.pyi +9 -1
- yandex/cloud/mdb/opensearch/v1/cluster_pb2.py +50 -43
- yandex/cloud/mdb/opensearch/v1/cluster_pb2.pyi +40 -4
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.py +61 -61
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.pyi +32 -8
- yandex/cloud/monitoring/v3/chart_widget_pb2.py +46 -44
- yandex/cloud/monitoring/v3/chart_widget_pb2.pyi +28 -2
- yandex/cloud/serverless/eventrouter/__init__.py +0 -0
- yandex/cloud/serverless/eventrouter/v1/__init__.py +0 -0
- yandex/cloud/serverless/eventrouter/v1/bus_pb2.py +33 -0
- yandex/cloud/serverless/eventrouter/v1/bus_pb2.pyi +107 -0
- yandex/cloud/serverless/eventrouter/v1/bus_pb2_grpc.py +4 -0
- yandex/cloud/serverless/eventrouter/v1/bus_pb2_grpc.pyi +17 -0
- yandex/cloud/serverless/eventrouter/v1/bus_service_pb2.py +115 -0
- yandex/cloud/serverless/eventrouter/v1/bus_service_pb2.pyi +320 -0
- yandex/cloud/serverless/eventrouter/v1/bus_service_pb2_grpc.py +346 -0
- yandex/cloud/serverless/eventrouter/v1/bus_service_pb2_grpc.pyi +219 -0
- yandex/cloud/serverless/eventrouter/v1/connector_pb2.py +61 -0
- yandex/cloud/serverless/eventrouter/v1/connector_pb2.pyi +223 -0
- yandex/cloud/serverless/eventrouter/v1/connector_pb2_grpc.py +4 -0
- yandex/cloud/serverless/eventrouter/v1/connector_pb2_grpc.pyi +17 -0
- yandex/cloud/serverless/eventrouter/v1/connector_service_pb2.py +135 -0
- yandex/cloud/serverless/eventrouter/v1/connector_service_pb2.pyi +397 -0
- yandex/cloud/serverless/eventrouter/v1/connector_service_pb2_grpc.py +414 -0
- yandex/cloud/serverless/eventrouter/v1/connector_service_pb2_grpc.pyi +259 -0
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2.py +37 -0
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2.pyi +31 -0
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2_grpc.py +71 -0
- yandex/cloud/serverless/eventrouter/v1/event_service_pb2_grpc.pyi +51 -0
- yandex/cloud/serverless/eventrouter/v1/rule_pb2.py +123 -0
- yandex/cloud/serverless/eventrouter/v1/rule_pb2.pyi +532 -0
- yandex/cloud/serverless/eventrouter/v1/rule_pb2_grpc.py +4 -0
- yandex/cloud/serverless/eventrouter/v1/rule_pb2_grpc.pyi +17 -0
- yandex/cloud/serverless/eventrouter/v1/rule_service_pb2.py +139 -0
- yandex/cloud/serverless/eventrouter/v1/rule_service_pb2.pyi +413 -0
- yandex/cloud/serverless/eventrouter/v1/rule_service_pb2_grpc.py +414 -0
- yandex/cloud/serverless/eventrouter/v1/rule_service_pb2_grpc.pyi +259 -0
- yandex/cloud/serverless/functions/v1/function_pb2.py +34 -34
- yandex/cloud/serverless/functions/v1/function_pb2.pyi +8 -0
- yandex/cloud/serverless/workflows/__init__.py +0 -0
- yandex/cloud/serverless/workflows/v1/__init__.py +0 -0
- yandex/cloud/serverless/workflows/v1/execution_pb2.py +43 -0
- yandex/cloud/serverless/workflows/v1/execution_pb2.pyi +203 -0
- yandex/cloud/serverless/workflows/v1/execution_pb2_grpc.py +4 -0
- yandex/cloud/serverless/workflows/v1/execution_pb2_grpc.pyi +17 -0
- yandex/cloud/serverless/workflows/v1/execution_service_pb2.py +74 -0
- yandex/cloud/serverless/workflows/v1/execution_service_pb2.pyi +231 -0
- yandex/cloud/serverless/workflows/v1/execution_service_pb2_grpc.py +206 -0
- yandex/cloud/serverless/workflows/v1/execution_service_pb2_grpc.pyi +130 -0
- yandex/cloud/serverless/workflows/v1/history_entry_pb2.py +41 -0
- yandex/cloud/serverless/workflows/v1/history_entry_pb2.pyi +174 -0
- yandex/cloud/serverless/workflows/v1/history_entry_pb2_grpc.py +4 -0
- yandex/cloud/serverless/workflows/v1/history_entry_pb2_grpc.pyi +17 -0
- yandex/cloud/serverless/workflows/v1/workflow_pb2.py +47 -0
- yandex/cloud/serverless/workflows/v1/workflow_pb2.pyi +260 -0
- yandex/cloud/serverless/workflows/v1/workflow_pb2_grpc.py +4 -0
- yandex/cloud/serverless/workflows/v1/workflow_pb2_grpc.pyi +17 -0
- yandex/cloud/serverless/workflows/v1/workflow_service_pb2.py +112 -0
- yandex/cloud/serverless/workflows/v1/workflow_service_pb2.pyi +395 -0
- yandex/cloud/serverless/workflows/v1/workflow_service_pb2_grpc.py +241 -0
- yandex/cloud/serverless/workflows/v1/workflow_service_pb2_grpc.pyi +151 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/__init__.py +0 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_pb2.py +77 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_pb2.pyi +352 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_pb2_grpc.py +4 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_pb2_grpc.pyi +17 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_service_pb2.py +78 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_service_pb2.pyi +244 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_service_pb2_grpc.py +208 -0
- yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_service_pb2_grpc.pyi +132 -0
- yandex/cloud/smartwebsecurity/v1/waf/__init__.py +0 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_pb2.py +35 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_pb2.pyi +71 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_pb2_grpc.py +4 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_pb2_grpc.pyi +17 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_service_pb2.py +37 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_service_pb2.pyi +31 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_service_pb2_grpc.py +71 -0
- yandex/cloud/smartwebsecurity/v1/waf/rule_set_descriptor_service_pb2_grpc.pyi +51 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_pb2.py +81 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_pb2.pyi +296 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_pb2_grpc.py +4 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_pb2_grpc.pyi +17 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_service_pb2.py +76 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_service_pb2.pyi +283 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_service_pb2_grpc.py +208 -0
- yandex/cloud/smartwebsecurity/v1/waf/waf_profile_service_pb2_grpc.pyi +132 -0
- yandex/cloud/speechsense/v1/analysis/summarization_pb2.py +32 -0
- yandex/cloud/speechsense/v1/analysis/summarization_pb2.pyi +95 -0
- yandex/cloud/speechsense/v1/analysis/summarization_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/analysis/summarization_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/project_pb2.py +29 -0
- yandex/cloud/speechsense/v1/project_pb2.pyi +79 -0
- yandex/cloud/speechsense/v1/project_pb2_grpc.py +4 -0
- yandex/cloud/speechsense/v1/project_pb2_grpc.pyi +17 -0
- yandex/cloud/speechsense/v1/project_service_pb2.py +35 -0
- yandex/cloud/speechsense/v1/project_service_pb2.pyi +59 -0
- yandex/cloud/speechsense/v1/project_service_pb2_grpc.py +68 -0
- yandex/cloud/speechsense/v1/project_service_pb2_grpc.pyi +45 -0
- yandex/cloud/speechsense/v1/talk_pb2.py +8 -7
- yandex/cloud/speechsense/v1/talk_pb2.pyi +7 -2
- yandex/cloud/video/v1/channel_service_pb2.py +33 -28
- yandex/cloud/video/v1/episode_service_pb2.py +56 -47
- yandex/cloud/video/v1/stream_line_service_pb2.py +67 -60
- yandex/cloud/video/v1/stream_service_pb2.py +46 -41
- yandex/cloud/video/v1/thumbnail_service_pb2.py +29 -22
- yandex/cloud/video/v1/video_service_pb2.py +62 -53
- {yandexcloud-0.316.0.dist-info → yandexcloud-0.317.0.dist-info}/METADATA +1 -1
- {yandexcloud-0.316.0.dist-info → yandexcloud-0.317.0.dist-info}/RECORD +133 -39
- {yandexcloud-0.316.0.dist-info → yandexcloud-0.317.0.dist-info}/WHEEL +1 -1
- {yandexcloud-0.316.0.dist-info → yandexcloud-0.317.0.dist-info}/AUTHORS +0 -0
- {yandexcloud-0.316.0.dist-info → yandexcloud-0.317.0.dist-info}/LICENSE +0 -0
- {yandexcloud-0.316.0.dist-info → yandexcloud-0.317.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,151 @@
|
|
|
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
|
+
import yandex.cloud.operation.operation_pb2
|
|
12
|
+
import yandex.cloud.serverless.workflows.v1.workflow_service_pb2
|
|
13
|
+
|
|
14
|
+
_T = typing.TypeVar("_T")
|
|
15
|
+
|
|
16
|
+
class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
|
|
17
|
+
|
|
18
|
+
class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
|
|
19
|
+
...
|
|
20
|
+
|
|
21
|
+
class WorkflowServiceStub:
|
|
22
|
+
"""Set of methods for managing Workflows."""
|
|
23
|
+
|
|
24
|
+
def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
|
|
25
|
+
Create: grpc.UnaryUnaryMultiCallable[
|
|
26
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.CreateWorkflowRequest,
|
|
27
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
28
|
+
]
|
|
29
|
+
"""Creates Workflow in specified folder."""
|
|
30
|
+
|
|
31
|
+
Update: grpc.UnaryUnaryMultiCallable[
|
|
32
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.UpdateWorkflowRequest,
|
|
33
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
34
|
+
]
|
|
35
|
+
"""Updates specified Workflow."""
|
|
36
|
+
|
|
37
|
+
Get: grpc.UnaryUnaryMultiCallable[
|
|
38
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.GetWorkflowRequest,
|
|
39
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.GetWorkflowResponse,
|
|
40
|
+
]
|
|
41
|
+
"""Retrieves specified Workflow."""
|
|
42
|
+
|
|
43
|
+
Delete: grpc.UnaryUnaryMultiCallable[
|
|
44
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.DeleteWorkflowRequest,
|
|
45
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
46
|
+
]
|
|
47
|
+
"""Deletes specified Workflow."""
|
|
48
|
+
|
|
49
|
+
List: grpc.UnaryUnaryMultiCallable[
|
|
50
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListWorkflowsRequest,
|
|
51
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListWorkflowsResponse,
|
|
52
|
+
]
|
|
53
|
+
"""Retrieves list of Workflows in specified folder."""
|
|
54
|
+
|
|
55
|
+
ListOperations: grpc.UnaryUnaryMultiCallable[
|
|
56
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListOperationsRequest,
|
|
57
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListOperationsResponse,
|
|
58
|
+
]
|
|
59
|
+
"""Lists operations for specified Workflow."""
|
|
60
|
+
|
|
61
|
+
class WorkflowServiceAsyncStub:
|
|
62
|
+
"""Set of methods for managing Workflows."""
|
|
63
|
+
|
|
64
|
+
Create: grpc.aio.UnaryUnaryMultiCallable[
|
|
65
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.CreateWorkflowRequest,
|
|
66
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
67
|
+
]
|
|
68
|
+
"""Creates Workflow in specified folder."""
|
|
69
|
+
|
|
70
|
+
Update: grpc.aio.UnaryUnaryMultiCallable[
|
|
71
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.UpdateWorkflowRequest,
|
|
72
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
73
|
+
]
|
|
74
|
+
"""Updates specified Workflow."""
|
|
75
|
+
|
|
76
|
+
Get: grpc.aio.UnaryUnaryMultiCallable[
|
|
77
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.GetWorkflowRequest,
|
|
78
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.GetWorkflowResponse,
|
|
79
|
+
]
|
|
80
|
+
"""Retrieves specified Workflow."""
|
|
81
|
+
|
|
82
|
+
Delete: grpc.aio.UnaryUnaryMultiCallable[
|
|
83
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.DeleteWorkflowRequest,
|
|
84
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
85
|
+
]
|
|
86
|
+
"""Deletes specified Workflow."""
|
|
87
|
+
|
|
88
|
+
List: grpc.aio.UnaryUnaryMultiCallable[
|
|
89
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListWorkflowsRequest,
|
|
90
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListWorkflowsResponse,
|
|
91
|
+
]
|
|
92
|
+
"""Retrieves list of Workflows in specified folder."""
|
|
93
|
+
|
|
94
|
+
ListOperations: grpc.aio.UnaryUnaryMultiCallable[
|
|
95
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListOperationsRequest,
|
|
96
|
+
yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListOperationsResponse,
|
|
97
|
+
]
|
|
98
|
+
"""Lists operations for specified Workflow."""
|
|
99
|
+
|
|
100
|
+
class WorkflowServiceServicer(metaclass=abc.ABCMeta):
|
|
101
|
+
"""Set of methods for managing Workflows."""
|
|
102
|
+
|
|
103
|
+
@abc.abstractmethod
|
|
104
|
+
def Create(
|
|
105
|
+
self,
|
|
106
|
+
request: yandex.cloud.serverless.workflows.v1.workflow_service_pb2.CreateWorkflowRequest,
|
|
107
|
+
context: _ServicerContext,
|
|
108
|
+
) -> typing.Union[yandex.cloud.operation.operation_pb2.Operation, collections.abc.Awaitable[yandex.cloud.operation.operation_pb2.Operation]]:
|
|
109
|
+
"""Creates Workflow in specified folder."""
|
|
110
|
+
|
|
111
|
+
@abc.abstractmethod
|
|
112
|
+
def Update(
|
|
113
|
+
self,
|
|
114
|
+
request: yandex.cloud.serverless.workflows.v1.workflow_service_pb2.UpdateWorkflowRequest,
|
|
115
|
+
context: _ServicerContext,
|
|
116
|
+
) -> typing.Union[yandex.cloud.operation.operation_pb2.Operation, collections.abc.Awaitable[yandex.cloud.operation.operation_pb2.Operation]]:
|
|
117
|
+
"""Updates specified Workflow."""
|
|
118
|
+
|
|
119
|
+
@abc.abstractmethod
|
|
120
|
+
def Get(
|
|
121
|
+
self,
|
|
122
|
+
request: yandex.cloud.serverless.workflows.v1.workflow_service_pb2.GetWorkflowRequest,
|
|
123
|
+
context: _ServicerContext,
|
|
124
|
+
) -> typing.Union[yandex.cloud.serverless.workflows.v1.workflow_service_pb2.GetWorkflowResponse, collections.abc.Awaitable[yandex.cloud.serverless.workflows.v1.workflow_service_pb2.GetWorkflowResponse]]:
|
|
125
|
+
"""Retrieves specified Workflow."""
|
|
126
|
+
|
|
127
|
+
@abc.abstractmethod
|
|
128
|
+
def Delete(
|
|
129
|
+
self,
|
|
130
|
+
request: yandex.cloud.serverless.workflows.v1.workflow_service_pb2.DeleteWorkflowRequest,
|
|
131
|
+
context: _ServicerContext,
|
|
132
|
+
) -> typing.Union[yandex.cloud.operation.operation_pb2.Operation, collections.abc.Awaitable[yandex.cloud.operation.operation_pb2.Operation]]:
|
|
133
|
+
"""Deletes specified Workflow."""
|
|
134
|
+
|
|
135
|
+
@abc.abstractmethod
|
|
136
|
+
def List(
|
|
137
|
+
self,
|
|
138
|
+
request: yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListWorkflowsRequest,
|
|
139
|
+
context: _ServicerContext,
|
|
140
|
+
) -> typing.Union[yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListWorkflowsResponse, collections.abc.Awaitable[yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListWorkflowsResponse]]:
|
|
141
|
+
"""Retrieves list of Workflows in specified folder."""
|
|
142
|
+
|
|
143
|
+
@abc.abstractmethod
|
|
144
|
+
def ListOperations(
|
|
145
|
+
self,
|
|
146
|
+
request: yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListOperationsRequest,
|
|
147
|
+
context: _ServicerContext,
|
|
148
|
+
) -> typing.Union[yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListOperationsResponse, collections.abc.Awaitable[yandex.cloud.serverless.workflows.v1.workflow_service_pb2.ListOperationsResponse]]:
|
|
149
|
+
"""Lists operations for specified Workflow."""
|
|
150
|
+
|
|
151
|
+
def add_WorkflowServiceServicer_to_server(servicer: WorkflowServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
|
|
File without changes
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile.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.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
15
|
+
from yandex.cloud.smartwebsecurity.v1 import security_profile_pb2 as yandex_dot_cloud_dot_smartwebsecurity_dot_v1_dot_security__profile__pb2
|
|
16
|
+
from yandex.cloud import validation_pb2 as yandex_dot_cloud_dot_validation__pb2
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nZyandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile.proto\x12\x36yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x37yandex/cloud/smartwebsecurity/v1/security_profile.proto\x1a\x1dyandex/cloud/validation.proto\"\xb0\x04\n\x1a\x41\x64vancedRateLimiterProfile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tfolder_id\x18\x02 \x01(\t\x12\xab\x01\n\x06labels\x18\x03 \x03(\x0b\x32^.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterProfile.LabelsEntryB;\xf2\xc7\x31\x0b[-_0-9a-z]*\x82\xc8\x31\x04<=64\x8a\xc8\x31\x04<=63\xb2\xc8\x31\x18\x12\x10[a-z][-_0-9a-z]*\x1a\x04\x31-63\x12\x38\n\x04name\x18\x04 \x01(\tB*\xe8\xc7\x31\x01\xf2\xc7\x31\x1a[a-zA-Z0-9][a-zA-Z0-9-_.]*\x8a\xc8\x31\x04\x31-50\x12\x1e\n\x0b\x64\x65scription\x18\x05 \x01(\tB\t\x8a\xc8\x31\x05<=512\x12t\n\x1b\x61\x64vanced_rate_limiter_rules\x18\x06 \x03(\x0b\x32O.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x63loud_id\x18\t \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x08\x10\t\"\xe3\x10\n\x17\x41\x64vancedRateLimiterRule\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe8\xc7\x31\x01\xf2\xc7\x31\x1a[a-zA-Z0-9][a-zA-Z0-9-_.]*\x8a\xc8\x31\x04\x31-50\x12\x1e\n\x08priority\x18\x02 \x01(\x03\x42\x0c\xfa\xc7\x31\x08\x31-999999\x12\x1e\n\x0b\x64\x65scription\x18\x03 \x01(\tB\t\x8a\xc8\x31\x05<=512\x12\x0f\n\x07\x64ry_run\x18\x04 \x01(\x08\x12s\n\x0cstatic_quota\x18\x05 \x01(\x0b\x32[.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.StaticQuotaH\x00\x12u\n\rdynamic_quota\x18\x06 \x01(\x0b\x32\\.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.DynamicQuotaH\x00\x1a\xa7\x02\n\x0bStaticQuota\x12\x66\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32V.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.Action\x12>\n\tcondition\x18\x02 \x01(\x0b\x32+.yandex.cloud.smartwebsecurity.v1.Condition\x12\"\n\x05limit\x18\x03 \x01(\x03\x42\x13\xfa\xc7\x31\x0f\x31-9999999999999\x12L\n\x06period\x18\x04 \x01(\x03\x42<\xfa\xc7\x31\x38\x31,5,10,30,60,120,180,240,300,600,900,1200,1800,2700,3600\x1a\xe2\n\n\x0c\x44ynamicQuota\x12\x66\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32V.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.Action\x12>\n\tcondition\x18\x02 \x01(\x0b\x32+.yandex.cloud.smartwebsecurity.v1.Condition\x12\"\n\x05limit\x18\x03 \x01(\x03\x42\x13\xfa\xc7\x31\x0f\x31-9999999999999\x12L\n\x06period\x18\x04 \x01(\x03\x42<\xfa\xc7\x31\x38\x31,5,10,30,60,120,180,240,300,600,900,1200,1800,2700,3600\x12\x8d\x01\n\x0f\x63haracteristics\x18\x05 \x03(\x0b\x32k.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.DynamicQuota.CharacteristicB\x07\x82\xc8\x31\x03<=3\x1a\xa7\x07\n\x0e\x43haracteristic\x12\xa2\x01\n\x15simple_characteristic\x18\x01 \x01(\x0b\x32\x80\x01.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristicH\x00\x12\x9b\x01\n\x12key_characteristic\x18\x02 \x01(\x0b\x32}.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristicH\x00\x12\x18\n\x10\x63\x61se_insensitive\x18\n \x01(\x08\x1a\x89\x02\n\x14SimpleCharacteristic\x12\x94\x01\n\x04type\x18\x01 \x01(\x0e\x32\x85\x01.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type\"Z\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cREQUEST_PATH\x10\x01\x12\x0f\n\x0bHTTP_METHOD\x10\x02\x12\x06\n\x02IP\x10\x03\x12\x07\n\x03GEO\x10\x04\x12\x08\n\x04HOST\x10\x05\x1a\x83\x02\n\x11KeyCharacteristic\x12\x91\x01\n\x04type\x18\x01 \x01(\x0e\x32\x82\x01.yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic.Type\x12\r\n\x05value\x18\x02 \x01(\t\"K\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nCOOKIE_KEY\x10\x01\x12\x0e\n\nHEADER_KEY\x10\x02\x12\r\n\tQUERY_KEY\x10\x03\x42 \n\x18\x63haracteristic_specifier\x12\x04\xc0\xc1\x31\x01J\x04\x08\x03\x10\n\"*\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x08\n\x04\x44\x45NY\x10\x01\x42\x16\n\x0erule_specifier\x12\x04\xc0\xc1\x31\x01\x42\xa9\x01\n:yandex.cloud.api.smartwebsecurity.v1.advanced_rate_limiterZkgithub.com/yandex-cloud/go-genproto/yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter;smartwebsecurityb\x06proto3')
|
|
20
|
+
|
|
21
|
+
_globals = globals()
|
|
22
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
23
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'yandex.cloud.smartwebsecurity.v1.advanced_rate_limiter.advanced_rate_limiter_profile_pb2', _globals)
|
|
24
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
25
|
+
DESCRIPTOR._options = None
|
|
26
|
+
DESCRIPTOR._serialized_options = b'\n:yandex.cloud.api.smartwebsecurity.v1.advanced_rate_limiterZkgithub.com/yandex-cloud/go-genproto/yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter;smartwebsecurity'
|
|
27
|
+
_ADVANCEDRATELIMITERPROFILE_LABELSENTRY._options = None
|
|
28
|
+
_ADVANCEDRATELIMITERPROFILE_LABELSENTRY._serialized_options = b'8\001'
|
|
29
|
+
_ADVANCEDRATELIMITERPROFILE.fields_by_name['labels']._options = None
|
|
30
|
+
_ADVANCEDRATELIMITERPROFILE.fields_by_name['labels']._serialized_options = b'\362\3071\013[-_0-9a-z]*\202\3101\004<=64\212\3101\004<=63\262\3101\030\022\020[a-z][-_0-9a-z]*\032\0041-63'
|
|
31
|
+
_ADVANCEDRATELIMITERPROFILE.fields_by_name['name']._options = None
|
|
32
|
+
_ADVANCEDRATELIMITERPROFILE.fields_by_name['name']._serialized_options = b'\350\3071\001\362\3071\032[a-zA-Z0-9][a-zA-Z0-9-_.]*\212\3101\0041-50'
|
|
33
|
+
_ADVANCEDRATELIMITERPROFILE.fields_by_name['description']._options = None
|
|
34
|
+
_ADVANCEDRATELIMITERPROFILE.fields_by_name['description']._serialized_options = b'\212\3101\005<=512'
|
|
35
|
+
_ADVANCEDRATELIMITERRULE_STATICQUOTA.fields_by_name['limit']._options = None
|
|
36
|
+
_ADVANCEDRATELIMITERRULE_STATICQUOTA.fields_by_name['limit']._serialized_options = b'\372\3071\0171-9999999999999'
|
|
37
|
+
_ADVANCEDRATELIMITERRULE_STATICQUOTA.fields_by_name['period']._options = None
|
|
38
|
+
_ADVANCEDRATELIMITERRULE_STATICQUOTA.fields_by_name['period']._serialized_options = b'\372\307181,5,10,30,60,120,180,240,300,600,900,1200,1800,2700,3600'
|
|
39
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC.oneofs_by_name['characteristic_specifier']._options = None
|
|
40
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC.oneofs_by_name['characteristic_specifier']._serialized_options = b'\300\3011\001'
|
|
41
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA.fields_by_name['limit']._options = None
|
|
42
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA.fields_by_name['limit']._serialized_options = b'\372\3071\0171-9999999999999'
|
|
43
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA.fields_by_name['period']._options = None
|
|
44
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA.fields_by_name['period']._serialized_options = b'\372\307181,5,10,30,60,120,180,240,300,600,900,1200,1800,2700,3600'
|
|
45
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA.fields_by_name['characteristics']._options = None
|
|
46
|
+
_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA.fields_by_name['characteristics']._serialized_options = b'\202\3101\003<=3'
|
|
47
|
+
_ADVANCEDRATELIMITERRULE.oneofs_by_name['rule_specifier']._options = None
|
|
48
|
+
_ADVANCEDRATELIMITERRULE.oneofs_by_name['rule_specifier']._serialized_options = b'\300\3011\001'
|
|
49
|
+
_ADVANCEDRATELIMITERRULE.fields_by_name['name']._options = None
|
|
50
|
+
_ADVANCEDRATELIMITERRULE.fields_by_name['name']._serialized_options = b'\350\3071\001\362\3071\032[a-zA-Z0-9][a-zA-Z0-9-_.]*\212\3101\0041-50'
|
|
51
|
+
_ADVANCEDRATELIMITERRULE.fields_by_name['priority']._options = None
|
|
52
|
+
_ADVANCEDRATELIMITERRULE.fields_by_name['priority']._serialized_options = b'\372\3071\0101-999999'
|
|
53
|
+
_ADVANCEDRATELIMITERRULE.fields_by_name['description']._options = None
|
|
54
|
+
_ADVANCEDRATELIMITERRULE.fields_by_name['description']._serialized_options = b'\212\3101\005<=512'
|
|
55
|
+
_globals['_ADVANCEDRATELIMITERPROFILE']._serialized_start=272
|
|
56
|
+
_globals['_ADVANCEDRATELIMITERPROFILE']._serialized_end=832
|
|
57
|
+
_globals['_ADVANCEDRATELIMITERPROFILE_LABELSENTRY']._serialized_start=781
|
|
58
|
+
_globals['_ADVANCEDRATELIMITERPROFILE_LABELSENTRY']._serialized_end=826
|
|
59
|
+
_globals['_ADVANCEDRATELIMITERRULE']._serialized_start=835
|
|
60
|
+
_globals['_ADVANCEDRATELIMITERRULE']._serialized_end=2982
|
|
61
|
+
_globals['_ADVANCEDRATELIMITERRULE_STATICQUOTA']._serialized_start=1238
|
|
62
|
+
_globals['_ADVANCEDRATELIMITERRULE_STATICQUOTA']._serialized_end=1533
|
|
63
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA']._serialized_start=1536
|
|
64
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA']._serialized_end=2914
|
|
65
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC']._serialized_start=1979
|
|
66
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC']._serialized_end=2914
|
|
67
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_SIMPLECHARACTERISTIC']._serialized_start=2347
|
|
68
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_SIMPLECHARACTERISTIC']._serialized_end=2612
|
|
69
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_SIMPLECHARACTERISTIC_TYPE']._serialized_start=2522
|
|
70
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_SIMPLECHARACTERISTIC_TYPE']._serialized_end=2612
|
|
71
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_KEYCHARACTERISTIC']._serialized_start=2615
|
|
72
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_KEYCHARACTERISTIC']._serialized_end=2874
|
|
73
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_KEYCHARACTERISTIC_TYPE']._serialized_start=2799
|
|
74
|
+
_globals['_ADVANCEDRATELIMITERRULE_DYNAMICQUOTA_CHARACTERISTIC_KEYCHARACTERISTIC_TYPE']._serialized_end=2874
|
|
75
|
+
_globals['_ADVANCEDRATELIMITERRULE_ACTION']._serialized_start=2916
|
|
76
|
+
_globals['_ADVANCEDRATELIMITERRULE_ACTION']._serialized_end=2958
|
|
77
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,352 @@
|
|
|
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
|
+
import yandex.cloud.smartwebsecurity.v1.security_profile_pb2
|
|
16
|
+
|
|
17
|
+
if sys.version_info >= (3, 10):
|
|
18
|
+
import typing as typing_extensions
|
|
19
|
+
else:
|
|
20
|
+
import typing_extensions
|
|
21
|
+
|
|
22
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
23
|
+
|
|
24
|
+
@typing.final
|
|
25
|
+
class AdvancedRateLimiterProfile(google.protobuf.message.Message):
|
|
26
|
+
"""A AdvancedRateLimiterProfile (ARL) resource."""
|
|
27
|
+
|
|
28
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
29
|
+
|
|
30
|
+
@typing.final
|
|
31
|
+
class LabelsEntry(google.protobuf.message.Message):
|
|
32
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
33
|
+
|
|
34
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
35
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
36
|
+
key: builtins.str
|
|
37
|
+
value: builtins.str
|
|
38
|
+
def __init__(
|
|
39
|
+
self,
|
|
40
|
+
*,
|
|
41
|
+
key: builtins.str = ...,
|
|
42
|
+
value: builtins.str = ...,
|
|
43
|
+
) -> None: ...
|
|
44
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
45
|
+
|
|
46
|
+
ID_FIELD_NUMBER: builtins.int
|
|
47
|
+
FOLDER_ID_FIELD_NUMBER: builtins.int
|
|
48
|
+
LABELS_FIELD_NUMBER: builtins.int
|
|
49
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
50
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
51
|
+
ADVANCED_RATE_LIMITER_RULES_FIELD_NUMBER: builtins.int
|
|
52
|
+
CREATED_AT_FIELD_NUMBER: builtins.int
|
|
53
|
+
CLOUD_ID_FIELD_NUMBER: builtins.int
|
|
54
|
+
id: builtins.str
|
|
55
|
+
"""ID of the ARL profile."""
|
|
56
|
+
folder_id: builtins.str
|
|
57
|
+
"""ID of the folder that the ARL profile belongs to."""
|
|
58
|
+
name: builtins.str
|
|
59
|
+
"""Name of the ARL profile. The name is unique within the folder. 1-50 characters long."""
|
|
60
|
+
description: builtins.str
|
|
61
|
+
"""Optional description of the ARL profile."""
|
|
62
|
+
cloud_id: builtins.str
|
|
63
|
+
"""ID of the cloud that the ARL profile belongs to."""
|
|
64
|
+
@property
|
|
65
|
+
def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
|
66
|
+
"""Labels as `` key:value `` pairs. Maximum of 64 per resource."""
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
def advanced_rate_limiter_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AdvancedRateLimiterRule]:
|
|
70
|
+
"""List of rules."""
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
74
|
+
"""Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format."""
|
|
75
|
+
|
|
76
|
+
def __init__(
|
|
77
|
+
self,
|
|
78
|
+
*,
|
|
79
|
+
id: builtins.str = ...,
|
|
80
|
+
folder_id: builtins.str = ...,
|
|
81
|
+
labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
82
|
+
name: builtins.str = ...,
|
|
83
|
+
description: builtins.str = ...,
|
|
84
|
+
advanced_rate_limiter_rules: collections.abc.Iterable[global___AdvancedRateLimiterRule] | None = ...,
|
|
85
|
+
created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
86
|
+
cloud_id: builtins.str = ...,
|
|
87
|
+
) -> None: ...
|
|
88
|
+
def HasField(self, field_name: typing.Literal["created_at", b"created_at"]) -> builtins.bool: ...
|
|
89
|
+
def ClearField(self, field_name: typing.Literal["advanced_rate_limiter_rules", b"advanced_rate_limiter_rules", "cloud_id", b"cloud_id", "created_at", b"created_at", "description", b"description", "folder_id", b"folder_id", "id", b"id", "labels", b"labels", "name", b"name"]) -> None: ...
|
|
90
|
+
|
|
91
|
+
global___AdvancedRateLimiterProfile = AdvancedRateLimiterProfile
|
|
92
|
+
|
|
93
|
+
@typing.final
|
|
94
|
+
class AdvancedRateLimiterRule(google.protobuf.message.Message):
|
|
95
|
+
"""A AdvancedRateLimiterRule object, see [Rules](/docs/smartwebsecurity/concepts/arl#traffic-conditions)."""
|
|
96
|
+
|
|
97
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
98
|
+
|
|
99
|
+
class _Action:
|
|
100
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
101
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
102
|
+
|
|
103
|
+
class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AdvancedRateLimiterRule._Action.ValueType], builtins.type):
|
|
104
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
105
|
+
ACTION_UNSPECIFIED: AdvancedRateLimiterRule._Action.ValueType # 0
|
|
106
|
+
DENY: AdvancedRateLimiterRule._Action.ValueType # 1
|
|
107
|
+
"""Deny request."""
|
|
108
|
+
|
|
109
|
+
class Action(_Action, metaclass=_ActionEnumTypeWrapper):
|
|
110
|
+
"""Type of action to perform if this rule matched."""
|
|
111
|
+
|
|
112
|
+
ACTION_UNSPECIFIED: AdvancedRateLimiterRule.Action.ValueType # 0
|
|
113
|
+
DENY: AdvancedRateLimiterRule.Action.ValueType # 1
|
|
114
|
+
"""Deny request."""
|
|
115
|
+
|
|
116
|
+
@typing.final
|
|
117
|
+
class StaticQuota(google.protobuf.message.Message):
|
|
118
|
+
"""StaticQuota object."""
|
|
119
|
+
|
|
120
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
121
|
+
|
|
122
|
+
ACTION_FIELD_NUMBER: builtins.int
|
|
123
|
+
CONDITION_FIELD_NUMBER: builtins.int
|
|
124
|
+
LIMIT_FIELD_NUMBER: builtins.int
|
|
125
|
+
PERIOD_FIELD_NUMBER: builtins.int
|
|
126
|
+
action: global___AdvancedRateLimiterRule.Action.ValueType
|
|
127
|
+
"""Action in case of exceeding this quota."""
|
|
128
|
+
limit: builtins.int
|
|
129
|
+
"""Desired maximum number of requests per period.
|
|
130
|
+
Enter an integer within the range of 1 and 9999999999999.
|
|
131
|
+
"""
|
|
132
|
+
period: builtins.int
|
|
133
|
+
"""Period of time in seconds."""
|
|
134
|
+
@property
|
|
135
|
+
def condition(self) -> yandex.cloud.smartwebsecurity.v1.security_profile_pb2.Condition:
|
|
136
|
+
"""The condition for matching the quota."""
|
|
137
|
+
|
|
138
|
+
def __init__(
|
|
139
|
+
self,
|
|
140
|
+
*,
|
|
141
|
+
action: global___AdvancedRateLimiterRule.Action.ValueType = ...,
|
|
142
|
+
condition: yandex.cloud.smartwebsecurity.v1.security_profile_pb2.Condition | None = ...,
|
|
143
|
+
limit: builtins.int = ...,
|
|
144
|
+
period: builtins.int = ...,
|
|
145
|
+
) -> None: ...
|
|
146
|
+
def HasField(self, field_name: typing.Literal["condition", b"condition"]) -> builtins.bool: ...
|
|
147
|
+
def ClearField(self, field_name: typing.Literal["action", b"action", "condition", b"condition", "limit", b"limit", "period", b"period"]) -> None: ...
|
|
148
|
+
|
|
149
|
+
@typing.final
|
|
150
|
+
class DynamicQuota(google.protobuf.message.Message):
|
|
151
|
+
"""DynamicQuota object."""
|
|
152
|
+
|
|
153
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
154
|
+
|
|
155
|
+
@typing.final
|
|
156
|
+
class Characteristic(google.protobuf.message.Message):
|
|
157
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
158
|
+
|
|
159
|
+
@typing.final
|
|
160
|
+
class SimpleCharacteristic(google.protobuf.message.Message):
|
|
161
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
162
|
+
|
|
163
|
+
class _Type:
|
|
164
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
165
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
166
|
+
|
|
167
|
+
class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic._Type.ValueType], builtins.type):
|
|
168
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
169
|
+
TYPE_UNSPECIFIED: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic._Type.ValueType # 0
|
|
170
|
+
REQUEST_PATH: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic._Type.ValueType # 1
|
|
171
|
+
"""HTTP Request path."""
|
|
172
|
+
HTTP_METHOD: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic._Type.ValueType # 2
|
|
173
|
+
"""HTTP Method."""
|
|
174
|
+
IP: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic._Type.ValueType # 3
|
|
175
|
+
"""IP address."""
|
|
176
|
+
GEO: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic._Type.ValueType # 4
|
|
177
|
+
"""Region."""
|
|
178
|
+
HOST: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic._Type.ValueType # 5
|
|
179
|
+
"""Host."""
|
|
180
|
+
|
|
181
|
+
class Type(_Type, metaclass=_TypeEnumTypeWrapper):
|
|
182
|
+
"""Type of simple characteristic."""
|
|
183
|
+
|
|
184
|
+
TYPE_UNSPECIFIED: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType # 0
|
|
185
|
+
REQUEST_PATH: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType # 1
|
|
186
|
+
"""HTTP Request path."""
|
|
187
|
+
HTTP_METHOD: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType # 2
|
|
188
|
+
"""HTTP Method."""
|
|
189
|
+
IP: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType # 3
|
|
190
|
+
"""IP address."""
|
|
191
|
+
GEO: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType # 4
|
|
192
|
+
"""Region."""
|
|
193
|
+
HOST: AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType # 5
|
|
194
|
+
"""Host."""
|
|
195
|
+
|
|
196
|
+
TYPE_FIELD_NUMBER: builtins.int
|
|
197
|
+
type: global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType
|
|
198
|
+
"""Type of simple characteristic."""
|
|
199
|
+
def __init__(
|
|
200
|
+
self,
|
|
201
|
+
*,
|
|
202
|
+
type: global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic.Type.ValueType = ...,
|
|
203
|
+
) -> None: ...
|
|
204
|
+
def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ...
|
|
205
|
+
|
|
206
|
+
@typing.final
|
|
207
|
+
class KeyCharacteristic(google.protobuf.message.Message):
|
|
208
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
209
|
+
|
|
210
|
+
class _Type:
|
|
211
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
212
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
213
|
+
|
|
214
|
+
class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic._Type.ValueType], builtins.type):
|
|
215
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
216
|
+
TYPE_UNSPECIFIED: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic._Type.ValueType # 0
|
|
217
|
+
COOKIE_KEY: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic._Type.ValueType # 1
|
|
218
|
+
"""HTTP cookie key."""
|
|
219
|
+
HEADER_KEY: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic._Type.ValueType # 2
|
|
220
|
+
"""HTTP header key."""
|
|
221
|
+
QUERY_KEY: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic._Type.ValueType # 3
|
|
222
|
+
"""Query params key."""
|
|
223
|
+
|
|
224
|
+
class Type(_Type, metaclass=_TypeEnumTypeWrapper):
|
|
225
|
+
"""Type of key characteristic."""
|
|
226
|
+
|
|
227
|
+
TYPE_UNSPECIFIED: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic.Type.ValueType # 0
|
|
228
|
+
COOKIE_KEY: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic.Type.ValueType # 1
|
|
229
|
+
"""HTTP cookie key."""
|
|
230
|
+
HEADER_KEY: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic.Type.ValueType # 2
|
|
231
|
+
"""HTTP header key."""
|
|
232
|
+
QUERY_KEY: AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic.Type.ValueType # 3
|
|
233
|
+
"""Query params key."""
|
|
234
|
+
|
|
235
|
+
TYPE_FIELD_NUMBER: builtins.int
|
|
236
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
237
|
+
type: global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic.Type.ValueType
|
|
238
|
+
"""Type of key characteristic."""
|
|
239
|
+
value: builtins.str
|
|
240
|
+
"""String value of the key."""
|
|
241
|
+
def __init__(
|
|
242
|
+
self,
|
|
243
|
+
*,
|
|
244
|
+
type: global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic.Type.ValueType = ...,
|
|
245
|
+
value: builtins.str = ...,
|
|
246
|
+
) -> None: ...
|
|
247
|
+
def ClearField(self, field_name: typing.Literal["type", b"type", "value", b"value"]) -> None: ...
|
|
248
|
+
|
|
249
|
+
SIMPLE_CHARACTERISTIC_FIELD_NUMBER: builtins.int
|
|
250
|
+
KEY_CHARACTERISTIC_FIELD_NUMBER: builtins.int
|
|
251
|
+
CASE_INSENSITIVE_FIELD_NUMBER: builtins.int
|
|
252
|
+
case_insensitive: builtins.bool
|
|
253
|
+
"""Determines case-sensitive or case-insensitive keys matching."""
|
|
254
|
+
@property
|
|
255
|
+
def simple_characteristic(self) -> global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic:
|
|
256
|
+
"""Characteristic automatically based on the Request path, HTTP method, IP address, Region, and Host attributes.
|
|
257
|
+
See [Rules](/docs/smartwebsecurity/concepts/arl#requests-counting) for more details.
|
|
258
|
+
"""
|
|
259
|
+
|
|
260
|
+
@property
|
|
261
|
+
def key_characteristic(self) -> global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic:
|
|
262
|
+
"""Characteristic based on key match in the Query params, HTTP header, and HTTP cookie attributes.
|
|
263
|
+
See [Rules](/docs/smartwebsecurity/concepts/arl#requests-counting) for more details.
|
|
264
|
+
"""
|
|
265
|
+
|
|
266
|
+
def __init__(
|
|
267
|
+
self,
|
|
268
|
+
*,
|
|
269
|
+
simple_characteristic: global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.SimpleCharacteristic | None = ...,
|
|
270
|
+
key_characteristic: global___AdvancedRateLimiterRule.DynamicQuota.Characteristic.KeyCharacteristic | None = ...,
|
|
271
|
+
case_insensitive: builtins.bool = ...,
|
|
272
|
+
) -> None: ...
|
|
273
|
+
def HasField(self, field_name: typing.Literal["characteristic_specifier", b"characteristic_specifier", "key_characteristic", b"key_characteristic", "simple_characteristic", b"simple_characteristic"]) -> builtins.bool: ...
|
|
274
|
+
def ClearField(self, field_name: typing.Literal["case_insensitive", b"case_insensitive", "characteristic_specifier", b"characteristic_specifier", "key_characteristic", b"key_characteristic", "simple_characteristic", b"simple_characteristic"]) -> None: ...
|
|
275
|
+
def WhichOneof(self, oneof_group: typing.Literal["characteristic_specifier", b"characteristic_specifier"]) -> typing.Literal["simple_characteristic", "key_characteristic"] | None: ...
|
|
276
|
+
|
|
277
|
+
ACTION_FIELD_NUMBER: builtins.int
|
|
278
|
+
CONDITION_FIELD_NUMBER: builtins.int
|
|
279
|
+
LIMIT_FIELD_NUMBER: builtins.int
|
|
280
|
+
PERIOD_FIELD_NUMBER: builtins.int
|
|
281
|
+
CHARACTERISTICS_FIELD_NUMBER: builtins.int
|
|
282
|
+
action: global___AdvancedRateLimiterRule.Action.ValueType
|
|
283
|
+
"""Action in case of exceeding this quota."""
|
|
284
|
+
limit: builtins.int
|
|
285
|
+
"""Desired maximum number of requests per period.
|
|
286
|
+
Enter an integer within the range of 1 and 9999999999999.
|
|
287
|
+
"""
|
|
288
|
+
period: builtins.int
|
|
289
|
+
"""Period of time in seconds."""
|
|
290
|
+
@property
|
|
291
|
+
def condition(self) -> yandex.cloud.smartwebsecurity.v1.security_profile_pb2.Condition:
|
|
292
|
+
"""The condition for matching the quota."""
|
|
293
|
+
|
|
294
|
+
@property
|
|
295
|
+
def characteristics(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AdvancedRateLimiterRule.DynamicQuota.Characteristic]:
|
|
296
|
+
"""List of characteristics."""
|
|
297
|
+
|
|
298
|
+
def __init__(
|
|
299
|
+
self,
|
|
300
|
+
*,
|
|
301
|
+
action: global___AdvancedRateLimiterRule.Action.ValueType = ...,
|
|
302
|
+
condition: yandex.cloud.smartwebsecurity.v1.security_profile_pb2.Condition | None = ...,
|
|
303
|
+
limit: builtins.int = ...,
|
|
304
|
+
period: builtins.int = ...,
|
|
305
|
+
characteristics: collections.abc.Iterable[global___AdvancedRateLimiterRule.DynamicQuota.Characteristic] | None = ...,
|
|
306
|
+
) -> None: ...
|
|
307
|
+
def HasField(self, field_name: typing.Literal["condition", b"condition"]) -> builtins.bool: ...
|
|
308
|
+
def ClearField(self, field_name: typing.Literal["action", b"action", "characteristics", b"characteristics", "condition", b"condition", "limit", b"limit", "period", b"period"]) -> None: ...
|
|
309
|
+
|
|
310
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
311
|
+
PRIORITY_FIELD_NUMBER: builtins.int
|
|
312
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
313
|
+
DRY_RUN_FIELD_NUMBER: builtins.int
|
|
314
|
+
STATIC_QUOTA_FIELD_NUMBER: builtins.int
|
|
315
|
+
DYNAMIC_QUOTA_FIELD_NUMBER: builtins.int
|
|
316
|
+
name: builtins.str
|
|
317
|
+
"""Name of the rule. The name is unique within the ARL profile. 1-50 characters long."""
|
|
318
|
+
priority: builtins.int
|
|
319
|
+
"""Determines the priority in case there are several matched rules.
|
|
320
|
+
Enter an integer within the range of 1 and 999999.
|
|
321
|
+
The rule priority must be unique within the entire ARL profile.
|
|
322
|
+
A lower numeric value means a higher priority.
|
|
323
|
+
"""
|
|
324
|
+
description: builtins.str
|
|
325
|
+
"""Optional description of the rule. 0-512 characters long."""
|
|
326
|
+
dry_run: builtins.bool
|
|
327
|
+
"""This allows you to evaluate backend capabilities and find the optimum limit values.
|
|
328
|
+
Requests will not be blocked in this mode.
|
|
329
|
+
"""
|
|
330
|
+
@property
|
|
331
|
+
def static_quota(self) -> global___AdvancedRateLimiterRule.StaticQuota:
|
|
332
|
+
"""Static quota. Counting each request individually."""
|
|
333
|
+
|
|
334
|
+
@property
|
|
335
|
+
def dynamic_quota(self) -> global___AdvancedRateLimiterRule.DynamicQuota:
|
|
336
|
+
"""Dynamic quota. Grouping requests by a certain attribute and limiting the number of groups."""
|
|
337
|
+
|
|
338
|
+
def __init__(
|
|
339
|
+
self,
|
|
340
|
+
*,
|
|
341
|
+
name: builtins.str = ...,
|
|
342
|
+
priority: builtins.int = ...,
|
|
343
|
+
description: builtins.str = ...,
|
|
344
|
+
dry_run: builtins.bool = ...,
|
|
345
|
+
static_quota: global___AdvancedRateLimiterRule.StaticQuota | None = ...,
|
|
346
|
+
dynamic_quota: global___AdvancedRateLimiterRule.DynamicQuota | None = ...,
|
|
347
|
+
) -> None: ...
|
|
348
|
+
def HasField(self, field_name: typing.Literal["dynamic_quota", b"dynamic_quota", "rule_specifier", b"rule_specifier", "static_quota", b"static_quota"]) -> builtins.bool: ...
|
|
349
|
+
def ClearField(self, field_name: typing.Literal["description", b"description", "dry_run", b"dry_run", "dynamic_quota", b"dynamic_quota", "name", b"name", "priority", b"priority", "rule_specifier", b"rule_specifier", "static_quota", b"static_quota"]) -> None: ...
|
|
350
|
+
def WhichOneof(self, oneof_group: typing.Literal["rule_specifier", b"rule_specifier"]) -> typing.Literal["static_quota", "dynamic_quota"] | None: ...
|
|
351
|
+
|
|
352
|
+
global___AdvancedRateLimiterRule = AdvancedRateLimiterRule
|
yandex/cloud/smartwebsecurity/v1/advanced_rate_limiter/advanced_rate_limiter_profile_pb2_grpc.pyi
ADDED
|
@@ -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
|
+
...
|