yandexcloud 0.334.0__py3-none-any.whl → 0.336.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.
- yandex/cloud/ai/tuning/v1/tuning_service_pb2.py +8 -8
- yandex/cloud/ai/tuning/v1/tuning_service_pb2.pyi +11 -3
- yandex/cloud/cic/v1/common/lag_allocation_settings_pb2.py +4 -4
- yandex/cloud/cic/v1/common/lag_allocation_settings_pb2.pyi +3 -9
- yandex/cloud/cic/v1/partner_pb2.pyi +1 -1
- yandex/cloud/cic/v1/private_connection_pb2.py +10 -9
- yandex/cloud/cic/v1/private_connection_pb2.pyi +40 -12
- yandex/cloud/cic/v1/private_connection_service_pb2.py +76 -9
- yandex/cloud/cic/v1/private_connection_service_pb2.pyi +379 -1
- yandex/cloud/cic/v1/private_connection_service_pb2_grpc.py +270 -0
- yandex/cloud/cic/v1/private_connection_service_pb2_grpc.pyi +151 -0
- yandex/cloud/cic/v1/public_connection_pb2.py +10 -7
- yandex/cloud/cic/v1/public_connection_pb2.pyi +32 -2
- yandex/cloud/cic/v1/trunk_connection_pb2.py +16 -13
- yandex/cloud/cic/v1/trunk_connection_pb2.pyi +40 -2
- yandex/cloud/cic/v1/trunk_connection_service_pb2.py +63 -9
- yandex/cloud/cic/v1/trunk_connection_service_pb2.pyi +368 -1
- yandex/cloud/cic/v1/trunk_connection_service_pb2_grpc.py +180 -0
- yandex/cloud/cic/v1/trunk_connection_service_pb2_grpc.pyi +99 -0
- yandex/cloud/cloudrouter/v1/routing_instance_pb2.py +16 -15
- yandex/cloud/cloudrouter/v1/routing_instance_pb2.pyi +11 -3
- yandex/cloud/cloudrouter/v1/routing_instance_service_pb2.py +86 -15
- yandex/cloud/cloudrouter/v1/routing_instance_service_pb2.pyi +388 -1
- yandex/cloud/cloudrouter/v1/routing_instance_service_pb2_grpc.py +360 -0
- yandex/cloud/cloudrouter/v1/routing_instance_service_pb2_grpc.pyi +203 -0
- yandex/cloud/compute/v1/instance_pb2.py +52 -52
- yandex/cloud/compute/v1/instance_pb2.pyi +5 -1
- yandex/cloud/compute/v1/instance_service_pb2.py +130 -126
- yandex/cloud/compute/v1/instance_service_pb2.pyi +17 -2
- yandex/cloud/compute/v1/reserved_instance_pool_pb2.py +59 -0
- yandex/cloud/compute/v1/reserved_instance_pool_pb2.pyi +171 -0
- yandex/cloud/compute/v1/reserved_instance_pool_pb2_grpc.py +24 -0
- yandex/cloud/compute/v1/reserved_instance_pool_pb2_grpc.pyi +17 -0
- yandex/cloud/compute/v1/reserved_instance_pool_service_pb2.py +123 -0
- yandex/cloud/compute/v1/reserved_instance_pool_service_pb2.pyi +345 -0
- yandex/cloud/compute/v1/reserved_instance_pool_service_pb2_grpc.py +282 -0
- yandex/cloud/compute/v1/reserved_instance_pool_service_pb2_grpc.pyi +147 -0
- yandex/cloud/iot/devices/v1/device_pb2.py +4 -4
- yandex/cloud/iot/devices/v1/device_pb2.pyi +6 -2
- yandex/cloud/loadbalancer/v1/network_load_balancer_pb2.py +22 -22
- yandex/cloud/loadbalancer/v1/network_load_balancer_pb2.pyi +5 -1
- yandex/cloud/loadbalancer/v1/network_load_balancer_service_pb2.py +56 -56
- yandex/cloud/loadbalancer/v1/network_load_balancer_service_pb2.pyi +10 -2
- yandex/cloud/lockbox/v1/secret_service_pb2.py +46 -50
- yandex/cloud/mdb/clickhouse/v1/config/clickhouse_pb2.py +74 -70
- yandex/cloud/mdb/clickhouse/v1/config/clickhouse_pb2.pyi +151 -5
- yandex/cloud/mdb/clickhouse/v1/user_pb2.py +32 -28
- yandex/cloud/mdb/clickhouse/v1/user_pb2.pyi +198 -10
- yandex/cloud/mdb/greenplum/v1/cluster_pb2.py +30 -24
- yandex/cloud/mdb/greenplum/v1/cluster_pb2.pyi +47 -2
- yandex/cloud/mdb/greenplum/v1/cluster_service_pb2.py +78 -78
- yandex/cloud/mdb/greenplum/v1/cluster_service_pb2.pyi +29 -5
- yandex/cloud/mdb/mongodb/v1/cluster_service_pb2.pyi +0 -2
- yandex/cloud/mdb/mongodb/v1/config/mongodb_pb2.py +38 -22
- yandex/cloud/mdb/mongodb/v1/config/mongodb_pb2.pyi +193 -13
- yandex/cloud/mdb/mysql/v1/config/mysql5_7_pb2.py +18 -18
- yandex/cloud/mdb/mysql/v1/config/mysql5_7_pb2.pyi +8 -0
- yandex/cloud/mdb/mysql/v1/config/mysql8_0_pb2.py +18 -18
- yandex/cloud/mdb/mysql/v1/config/mysql8_0_pb2.pyi +8 -0
- yandex/cloud/mdb/mysql/v1/user_pb2.py +3 -3
- yandex/cloud/mdb/mysql/v1/user_pb2.pyi +8 -0
- yandex/cloud/serverless/eventrouter/v1/bus_pb2.py +17 -7
- yandex/cloud/serverless/eventrouter/v1/bus_pb2.pyi +46 -2
- yandex/cloud/serverless/eventrouter/v1/bus_service_pb2.py +22 -22
- yandex/cloud/serverless/eventrouter/v1/bus_service_pb2.pyi +24 -3
- yandex/cloud/storage/v1/bucket_pb2.py +75 -73
- yandex/cloud/video/v1/channel_pb2.py +10 -4
- yandex/cloud/video/v1/channel_pb2.pyi +73 -2
- yandex/cloud/video/v1/channel_service_pb2.py +36 -29
- yandex/cloud/video/v1/channel_service_pb2_grpc.py +133 -0
- yandex/cloud/video/v1/channel_service_pb2_grpc.pyi +61 -0
- yandex/cloud/video/v1/episode_service_pb2.py +54 -53
- yandex/cloud/video/v1/episode_service_pb2.pyi +9 -2
- yandex/cloud/video/v1/video_pb2.py +20 -19
- yandex/cloud/video/v1/video_pb2.pyi +12 -2
- yandex/cloud/video/v1/video_service_pb2.py +64 -63
- yandex/cloud/video/v1/video_service_pb2.pyi +23 -4
- yandexcloud/__init__.py +2 -1
- yandexcloud/_channels.py +8 -3
- yandexcloud/_retry_interceptor.py +2 -0
- yandexcloud/_retry_policy.py +31 -0
- yandexcloud/_sdk.py +5 -10
- {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/METADATA +20 -1
- {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/RECORD +88 -79
- {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/WHEEL +1 -1
- {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/AUTHORS +0 -0
- {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/LICENSE +0 -0
- {yandexcloud-0.334.0.dist-info → yandexcloud-0.336.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import builtins
|
|
7
|
+
import collections.abc
|
|
8
|
+
import google.protobuf.descriptor
|
|
9
|
+
import google.protobuf.field_mask_pb2
|
|
10
|
+
import google.protobuf.internal.containers
|
|
11
|
+
import google.protobuf.message
|
|
12
|
+
import typing
|
|
13
|
+
import yandex.cloud.compute.v1.instance_pb2
|
|
14
|
+
import yandex.cloud.compute.v1.instance_service_pb2
|
|
15
|
+
import yandex.cloud.compute.v1.reserved_instance_pool_pb2
|
|
16
|
+
|
|
17
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
18
|
+
|
|
19
|
+
@typing.final
|
|
20
|
+
class GetReservedInstancePoolRequest(google.protobuf.message.Message):
|
|
21
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
22
|
+
|
|
23
|
+
RESERVED_INSTANCE_POOL_ID_FIELD_NUMBER: builtins.int
|
|
24
|
+
reserved_instance_pool_id: builtins.str
|
|
25
|
+
"""ID of the reserved instance pool resource to return.
|
|
26
|
+
To get the reserved instance pool ID, use a [ReservedInstancePoolService.List] request.
|
|
27
|
+
"""
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
*,
|
|
31
|
+
reserved_instance_pool_id: builtins.str = ...,
|
|
32
|
+
) -> None: ...
|
|
33
|
+
def ClearField(self, field_name: typing.Literal["reserved_instance_pool_id", b"reserved_instance_pool_id"]) -> None: ...
|
|
34
|
+
|
|
35
|
+
global___GetReservedInstancePoolRequest = GetReservedInstancePoolRequest
|
|
36
|
+
|
|
37
|
+
@typing.final
|
|
38
|
+
class ListReservedInstancePoolsRequest(google.protobuf.message.Message):
|
|
39
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
40
|
+
|
|
41
|
+
FOLDER_ID_FIELD_NUMBER: builtins.int
|
|
42
|
+
PAGE_SIZE_FIELD_NUMBER: builtins.int
|
|
43
|
+
PAGE_TOKEN_FIELD_NUMBER: builtins.int
|
|
44
|
+
FILTER_FIELD_NUMBER: builtins.int
|
|
45
|
+
ORDER_BY_FIELD_NUMBER: builtins.int
|
|
46
|
+
folder_id: builtins.str
|
|
47
|
+
"""ID of the Folder to list reserved instance pools in.
|
|
48
|
+
To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
|
|
49
|
+
"""
|
|
50
|
+
page_size: builtins.int
|
|
51
|
+
"""The maximum number of results per page to return. If the number of available
|
|
52
|
+
results is larger than [page_size],
|
|
53
|
+
the service returns a [ListReservedInstancePoolsResponse.next_page_token]
|
|
54
|
+
that can be used to get the next page of results in subsequent list requests.
|
|
55
|
+
"""
|
|
56
|
+
page_token: builtins.str
|
|
57
|
+
"""Page token. To get the next page of results,
|
|
58
|
+
set [page_token] to the [ListReservedInstancePoolsResponse.next_page_token]
|
|
59
|
+
returned by a previous list request.
|
|
60
|
+
"""
|
|
61
|
+
filter: builtins.str
|
|
62
|
+
"""A filter expression that filters resources listed in the response.
|
|
63
|
+
The expression consists of one or more conditions united by `AND` operator: `<condition1> [AND <condition2> [<...> AND <conditionN>]]`.
|
|
64
|
+
|
|
65
|
+
Each condition has the form `<field> <operator> <value>`, where:
|
|
66
|
+
1. `<field>` is the field name. Currently you can use filtering only on the limited number of fields.
|
|
67
|
+
2. `<operator>` is a logical operator, one of `=`, `!=`, `IN`, `NOT IN`.
|
|
68
|
+
3. `<value>` represents a value.
|
|
69
|
+
String values should be written in double (`"`) or single (`'`) quotes. C-style escape sequences are supported (`\\"` turns to `"`, `\\'` to `'`, `\\\\` to backslash).
|
|
70
|
+
"""
|
|
71
|
+
order_by: builtins.str
|
|
72
|
+
"""By which column the listing should be ordered and in which direction,
|
|
73
|
+
format is "createdAt desc". "id asc" if omitted.
|
|
74
|
+
"""
|
|
75
|
+
def __init__(
|
|
76
|
+
self,
|
|
77
|
+
*,
|
|
78
|
+
folder_id: builtins.str = ...,
|
|
79
|
+
page_size: builtins.int = ...,
|
|
80
|
+
page_token: builtins.str = ...,
|
|
81
|
+
filter: builtins.str = ...,
|
|
82
|
+
order_by: builtins.str = ...,
|
|
83
|
+
) -> None: ...
|
|
84
|
+
def ClearField(self, field_name: typing.Literal["filter", b"filter", "folder_id", b"folder_id", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
|
|
85
|
+
|
|
86
|
+
global___ListReservedInstancePoolsRequest = ListReservedInstancePoolsRequest
|
|
87
|
+
|
|
88
|
+
@typing.final
|
|
89
|
+
class ListReservedInstancePoolsResponse(google.protobuf.message.Message):
|
|
90
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
91
|
+
|
|
92
|
+
RESERVED_INSTANCE_POOLS_FIELD_NUMBER: builtins.int
|
|
93
|
+
NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
|
|
94
|
+
next_page_token: builtins.str
|
|
95
|
+
"""This token allows you to get the next page of results for list requests. If the number of results
|
|
96
|
+
is larger than [ListReservedInstancePoolsRequest.page_size], use
|
|
97
|
+
the [next_page_token] as the value
|
|
98
|
+
for the [ListReservedInstancePoolsRequest.page_token] query parameter
|
|
99
|
+
in the next list request. Each subsequent list request will have its own
|
|
100
|
+
[next_page_token] to continue paging through the results.
|
|
101
|
+
"""
|
|
102
|
+
@property
|
|
103
|
+
def reserved_instance_pools(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.compute.v1.reserved_instance_pool_pb2.ReservedInstancePool]:
|
|
104
|
+
"""List of reserved instance pool resources."""
|
|
105
|
+
|
|
106
|
+
def __init__(
|
|
107
|
+
self,
|
|
108
|
+
*,
|
|
109
|
+
reserved_instance_pools: collections.abc.Iterable[yandex.cloud.compute.v1.reserved_instance_pool_pb2.ReservedInstancePool] | None = ...,
|
|
110
|
+
next_page_token: builtins.str = ...,
|
|
111
|
+
) -> None: ...
|
|
112
|
+
def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "reserved_instance_pools", b"reserved_instance_pools"]) -> None: ...
|
|
113
|
+
|
|
114
|
+
global___ListReservedInstancePoolsResponse = ListReservedInstancePoolsResponse
|
|
115
|
+
|
|
116
|
+
@typing.final
|
|
117
|
+
class CreateReservedInstancePoolRequest(google.protobuf.message.Message):
|
|
118
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
119
|
+
|
|
120
|
+
@typing.final
|
|
121
|
+
class LabelsEntry(google.protobuf.message.Message):
|
|
122
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
123
|
+
|
|
124
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
125
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
126
|
+
key: builtins.str
|
|
127
|
+
value: builtins.str
|
|
128
|
+
def __init__(
|
|
129
|
+
self,
|
|
130
|
+
*,
|
|
131
|
+
key: builtins.str = ...,
|
|
132
|
+
value: builtins.str = ...,
|
|
133
|
+
) -> None: ...
|
|
134
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
135
|
+
|
|
136
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
137
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
138
|
+
LABELS_FIELD_NUMBER: builtins.int
|
|
139
|
+
ZONE_ID_FIELD_NUMBER: builtins.int
|
|
140
|
+
FOLDER_ID_FIELD_NUMBER: builtins.int
|
|
141
|
+
PLATFORM_ID_FIELD_NUMBER: builtins.int
|
|
142
|
+
RESOURCES_SPEC_FIELD_NUMBER: builtins.int
|
|
143
|
+
GPU_SETTINGS_FIELD_NUMBER: builtins.int
|
|
144
|
+
BOOT_DISK_SPEC_FIELD_NUMBER: builtins.int
|
|
145
|
+
NETWORK_SETTINGS_FIELD_NUMBER: builtins.int
|
|
146
|
+
SIZE_FIELD_NUMBER: builtins.int
|
|
147
|
+
name: builtins.str
|
|
148
|
+
"""Name of the reserved instance pool."""
|
|
149
|
+
description: builtins.str
|
|
150
|
+
"""Description of the reserved instance pool."""
|
|
151
|
+
zone_id: builtins.str
|
|
152
|
+
"""ID of the availability zone where the reserved instance pool resides.
|
|
153
|
+
To get a list of available zones, use the [yandex.cloud.compute.v1.ZoneService.List] request
|
|
154
|
+
"""
|
|
155
|
+
folder_id: builtins.str
|
|
156
|
+
"""ID of the folder to create the reserved instance pool in.
|
|
157
|
+
To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
|
|
158
|
+
"""
|
|
159
|
+
platform_id: builtins.str
|
|
160
|
+
"""ID of the hardware platform configuration for the reserved instance pool.
|
|
161
|
+
This field affects the available values in [resources_spec] field.
|
|
162
|
+
|
|
163
|
+
For more information, see [Platforms](/docs/compute/concepts/vm-platforms).
|
|
164
|
+
"""
|
|
165
|
+
size: builtins.int
|
|
166
|
+
"""Desired size of the pool (number of slots for instances in this pool)."""
|
|
167
|
+
@property
|
|
168
|
+
def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
|
169
|
+
"""Resource labels as `key:value` pairs."""
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def resources_spec(self) -> yandex.cloud.compute.v1.instance_service_pb2.ResourcesSpec:
|
|
173
|
+
"""Computing resources of the reserved instance pool instances, such as the amount of memory and number of cores.
|
|
174
|
+
To get a list of available values, see [Levels of core performance](/docs/compute/concepts/performance-levels).
|
|
175
|
+
"""
|
|
176
|
+
|
|
177
|
+
@property
|
|
178
|
+
def gpu_settings(self) -> yandex.cloud.compute.v1.instance_pb2.GpuSettings:
|
|
179
|
+
"""GPU settings."""
|
|
180
|
+
|
|
181
|
+
@property
|
|
182
|
+
def boot_disk_spec(self) -> yandex.cloud.compute.v1.reserved_instance_pool_pb2.BootDiskSpec:
|
|
183
|
+
"""Spec is used to determine which License IDs should be allowed for instances created in the pool."""
|
|
184
|
+
|
|
185
|
+
@property
|
|
186
|
+
def network_settings(self) -> yandex.cloud.compute.v1.instance_pb2.NetworkSettings:
|
|
187
|
+
"""Network settings."""
|
|
188
|
+
|
|
189
|
+
def __init__(
|
|
190
|
+
self,
|
|
191
|
+
*,
|
|
192
|
+
name: builtins.str = ...,
|
|
193
|
+
description: builtins.str = ...,
|
|
194
|
+
labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
195
|
+
zone_id: builtins.str = ...,
|
|
196
|
+
folder_id: builtins.str = ...,
|
|
197
|
+
platform_id: builtins.str = ...,
|
|
198
|
+
resources_spec: yandex.cloud.compute.v1.instance_service_pb2.ResourcesSpec | None = ...,
|
|
199
|
+
gpu_settings: yandex.cloud.compute.v1.instance_pb2.GpuSettings | None = ...,
|
|
200
|
+
boot_disk_spec: yandex.cloud.compute.v1.reserved_instance_pool_pb2.BootDiskSpec | None = ...,
|
|
201
|
+
network_settings: yandex.cloud.compute.v1.instance_pb2.NetworkSettings | None = ...,
|
|
202
|
+
size: builtins.int = ...,
|
|
203
|
+
) -> None: ...
|
|
204
|
+
def HasField(self, field_name: typing.Literal["boot_disk_spec", b"boot_disk_spec", "gpu_settings", b"gpu_settings", "network_settings", b"network_settings", "resources_spec", b"resources_spec"]) -> builtins.bool: ...
|
|
205
|
+
def ClearField(self, field_name: typing.Literal["boot_disk_spec", b"boot_disk_spec", "description", b"description", "folder_id", b"folder_id", "gpu_settings", b"gpu_settings", "labels", b"labels", "name", b"name", "network_settings", b"network_settings", "platform_id", b"platform_id", "resources_spec", b"resources_spec", "size", b"size", "zone_id", b"zone_id"]) -> None: ...
|
|
206
|
+
|
|
207
|
+
global___CreateReservedInstancePoolRequest = CreateReservedInstancePoolRequest
|
|
208
|
+
|
|
209
|
+
@typing.final
|
|
210
|
+
class CreateReservedInstancePoolMetadata(google.protobuf.message.Message):
|
|
211
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
212
|
+
|
|
213
|
+
RESERVED_INSTANCE_POOL_ID_FIELD_NUMBER: builtins.int
|
|
214
|
+
reserved_instance_pool_id: builtins.str
|
|
215
|
+
"""ID of the reserved instance pool that is being created."""
|
|
216
|
+
def __init__(
|
|
217
|
+
self,
|
|
218
|
+
*,
|
|
219
|
+
reserved_instance_pool_id: builtins.str = ...,
|
|
220
|
+
) -> None: ...
|
|
221
|
+
def ClearField(self, field_name: typing.Literal["reserved_instance_pool_id", b"reserved_instance_pool_id"]) -> None: ...
|
|
222
|
+
|
|
223
|
+
global___CreateReservedInstancePoolMetadata = CreateReservedInstancePoolMetadata
|
|
224
|
+
|
|
225
|
+
@typing.final
|
|
226
|
+
class UpdateReservedInstancePoolRequest(google.protobuf.message.Message):
|
|
227
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
228
|
+
|
|
229
|
+
@typing.final
|
|
230
|
+
class LabelsEntry(google.protobuf.message.Message):
|
|
231
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
232
|
+
|
|
233
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
234
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
235
|
+
key: builtins.str
|
|
236
|
+
value: builtins.str
|
|
237
|
+
def __init__(
|
|
238
|
+
self,
|
|
239
|
+
*,
|
|
240
|
+
key: builtins.str = ...,
|
|
241
|
+
value: builtins.str = ...,
|
|
242
|
+
) -> None: ...
|
|
243
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
244
|
+
|
|
245
|
+
RESERVED_INSTANCE_POOL_ID_FIELD_NUMBER: builtins.int
|
|
246
|
+
UPDATE_MASK_FIELD_NUMBER: builtins.int
|
|
247
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
248
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
249
|
+
LABELS_FIELD_NUMBER: builtins.int
|
|
250
|
+
SIZE_FIELD_NUMBER: builtins.int
|
|
251
|
+
reserved_instance_pool_id: builtins.str
|
|
252
|
+
"""ID of the reserved instance pool to update.
|
|
253
|
+
To get the reserved instance pool ID, use a [ReservedInstancePoolService.List] request.
|
|
254
|
+
"""
|
|
255
|
+
name: builtins.str
|
|
256
|
+
"""New name for the reserved instance pool."""
|
|
257
|
+
description: builtins.str
|
|
258
|
+
"""Description of the reserved instance pool."""
|
|
259
|
+
size: builtins.int
|
|
260
|
+
"""Desired size of the pool."""
|
|
261
|
+
@property
|
|
262
|
+
def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
|
|
263
|
+
"""Field mask that specifies which fields of the reserved instance pool should be updated."""
|
|
264
|
+
|
|
265
|
+
@property
|
|
266
|
+
def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
|
267
|
+
"""Resource labels as `key:value` pairs.
|
|
268
|
+
|
|
269
|
+
Existing set of `labels` is completely replaced by the provided set.
|
|
270
|
+
"""
|
|
271
|
+
|
|
272
|
+
def __init__(
|
|
273
|
+
self,
|
|
274
|
+
*,
|
|
275
|
+
reserved_instance_pool_id: builtins.str = ...,
|
|
276
|
+
update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
|
|
277
|
+
name: builtins.str = ...,
|
|
278
|
+
description: builtins.str = ...,
|
|
279
|
+
labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
280
|
+
size: builtins.int = ...,
|
|
281
|
+
) -> None: ...
|
|
282
|
+
def HasField(self, field_name: typing.Literal["update_mask", b"update_mask"]) -> builtins.bool: ...
|
|
283
|
+
def ClearField(self, field_name: typing.Literal["description", b"description", "labels", b"labels", "name", b"name", "reserved_instance_pool_id", b"reserved_instance_pool_id", "size", b"size", "update_mask", b"update_mask"]) -> None: ...
|
|
284
|
+
|
|
285
|
+
global___UpdateReservedInstancePoolRequest = UpdateReservedInstancePoolRequest
|
|
286
|
+
|
|
287
|
+
@typing.final
|
|
288
|
+
class UpdateReservedInstancePoolMetadata(google.protobuf.message.Message):
|
|
289
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
290
|
+
|
|
291
|
+
RESERVED_INSTANCE_POOL_ID_FIELD_NUMBER: builtins.int
|
|
292
|
+
reserved_instance_pool_id: builtins.str
|
|
293
|
+
"""ID of the reserved instance pool that is being updated."""
|
|
294
|
+
def __init__(
|
|
295
|
+
self,
|
|
296
|
+
*,
|
|
297
|
+
reserved_instance_pool_id: builtins.str = ...,
|
|
298
|
+
) -> None: ...
|
|
299
|
+
def ClearField(self, field_name: typing.Literal["reserved_instance_pool_id", b"reserved_instance_pool_id"]) -> None: ...
|
|
300
|
+
|
|
301
|
+
global___UpdateReservedInstancePoolMetadata = UpdateReservedInstancePoolMetadata
|
|
302
|
+
|
|
303
|
+
@typing.final
|
|
304
|
+
class DeleteReservedInstancePoolRequest(google.protobuf.message.Message):
|
|
305
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
306
|
+
|
|
307
|
+
RESERVED_INSTANCE_POOL_ID_FIELD_NUMBER: builtins.int
|
|
308
|
+
reserved_instance_pool_id: builtins.str
|
|
309
|
+
"""ID of the reserved instance pool to delete.
|
|
310
|
+
To get the reserved instance pool ID, use a [ReservedInstancePoolService.List] request.
|
|
311
|
+
"""
|
|
312
|
+
def __init__(
|
|
313
|
+
self,
|
|
314
|
+
*,
|
|
315
|
+
reserved_instance_pool_id: builtins.str = ...,
|
|
316
|
+
) -> None: ...
|
|
317
|
+
def ClearField(self, field_name: typing.Literal["reserved_instance_pool_id", b"reserved_instance_pool_id"]) -> None: ...
|
|
318
|
+
|
|
319
|
+
global___DeleteReservedInstancePoolRequest = DeleteReservedInstancePoolRequest
|
|
320
|
+
|
|
321
|
+
@typing.final
|
|
322
|
+
class DeleteReservedInstancePoolMetadata(google.protobuf.message.Message):
|
|
323
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
324
|
+
|
|
325
|
+
RESERVED_INSTANCE_POOL_ID_FIELD_NUMBER: builtins.int
|
|
326
|
+
reserved_instance_pool_id: builtins.str
|
|
327
|
+
"""ID of the reserved instance pool that is being deleted."""
|
|
328
|
+
def __init__(
|
|
329
|
+
self,
|
|
330
|
+
*,
|
|
331
|
+
reserved_instance_pool_id: builtins.str = ...,
|
|
332
|
+
) -> None: ...
|
|
333
|
+
def ClearField(self, field_name: typing.Literal["reserved_instance_pool_id", b"reserved_instance_pool_id"]) -> None: ...
|
|
334
|
+
|
|
335
|
+
global___DeleteReservedInstancePoolMetadata = DeleteReservedInstancePoolMetadata
|
|
336
|
+
|
|
337
|
+
@typing.final
|
|
338
|
+
class DeleteReservedInstancePoolResponse(google.protobuf.message.Message):
|
|
339
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
340
|
+
|
|
341
|
+
def __init__(
|
|
342
|
+
self,
|
|
343
|
+
) -> None: ...
|
|
344
|
+
|
|
345
|
+
global___DeleteReservedInstancePoolResponse = DeleteReservedInstancePoolResponse
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
import warnings
|
|
5
|
+
|
|
6
|
+
from yandex.cloud.compute.v1 import reserved_instance_pool_pb2 as yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__pb2
|
|
7
|
+
from yandex.cloud.compute.v1 import reserved_instance_pool_service_pb2 as yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2
|
|
8
|
+
from yandex.cloud.operation import operation_pb2 as yandex_dot_cloud_dot_operation_dot_operation__pb2
|
|
9
|
+
|
|
10
|
+
GRPC_GENERATED_VERSION = '1.70.0'
|
|
11
|
+
GRPC_VERSION = grpc.__version__
|
|
12
|
+
_version_not_supported = False
|
|
13
|
+
|
|
14
|
+
try:
|
|
15
|
+
from grpc._utilities import first_version_is_lower
|
|
16
|
+
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
|
|
17
|
+
except ImportError:
|
|
18
|
+
_version_not_supported = True
|
|
19
|
+
|
|
20
|
+
if _version_not_supported:
|
|
21
|
+
raise RuntimeError(
|
|
22
|
+
f'The grpc package installed is at version {GRPC_VERSION},'
|
|
23
|
+
+ f' but the generated code in yandex/cloud/compute/v1/reserved_instance_pool_service_pb2_grpc.py depends on'
|
|
24
|
+
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
|
|
25
|
+
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
|
|
26
|
+
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ReservedInstancePoolServiceStub(object):
|
|
31
|
+
"""A set of methods for managing reserved instance pool resources.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
def __init__(self, channel):
|
|
35
|
+
"""Constructor.
|
|
36
|
+
|
|
37
|
+
Args:
|
|
38
|
+
channel: A grpc.Channel.
|
|
39
|
+
"""
|
|
40
|
+
self.Get = channel.unary_unary(
|
|
41
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Get',
|
|
42
|
+
request_serializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.GetReservedInstancePoolRequest.SerializeToString,
|
|
43
|
+
response_deserializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__pb2.ReservedInstancePool.FromString,
|
|
44
|
+
_registered_method=True)
|
|
45
|
+
self.List = channel.unary_unary(
|
|
46
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/List',
|
|
47
|
+
request_serializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.ListReservedInstancePoolsRequest.SerializeToString,
|
|
48
|
+
response_deserializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.ListReservedInstancePoolsResponse.FromString,
|
|
49
|
+
_registered_method=True)
|
|
50
|
+
self.Create = channel.unary_unary(
|
|
51
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Create',
|
|
52
|
+
request_serializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.CreateReservedInstancePoolRequest.SerializeToString,
|
|
53
|
+
response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
54
|
+
_registered_method=True)
|
|
55
|
+
self.Update = channel.unary_unary(
|
|
56
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Update',
|
|
57
|
+
request_serializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.UpdateReservedInstancePoolRequest.SerializeToString,
|
|
58
|
+
response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
59
|
+
_registered_method=True)
|
|
60
|
+
self.Delete = channel.unary_unary(
|
|
61
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Delete',
|
|
62
|
+
request_serializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.DeleteReservedInstancePoolRequest.SerializeToString,
|
|
63
|
+
response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
64
|
+
_registered_method=True)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class ReservedInstancePoolServiceServicer(object):
|
|
68
|
+
"""A set of methods for managing reserved instance pool resources.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
def Get(self, request, context):
|
|
72
|
+
"""Returns the specified reserved instance pool resource.
|
|
73
|
+
|
|
74
|
+
To get the list of available reserved instance pool resources, make a [List] request.
|
|
75
|
+
"""
|
|
76
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
77
|
+
context.set_details('Method not implemented!')
|
|
78
|
+
raise NotImplementedError('Method not implemented!')
|
|
79
|
+
|
|
80
|
+
def List(self, request, context):
|
|
81
|
+
"""Retrieves the list of reserved instance pool resources in the specified folder.
|
|
82
|
+
"""
|
|
83
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
84
|
+
context.set_details('Method not implemented!')
|
|
85
|
+
raise NotImplementedError('Method not implemented!')
|
|
86
|
+
|
|
87
|
+
def Create(self, request, context):
|
|
88
|
+
"""Creates an reserved instance pool in the specified folder.
|
|
89
|
+
Method starts an asynchronous operation that can be cancelled while it is in progress.
|
|
90
|
+
"""
|
|
91
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
92
|
+
context.set_details('Method not implemented!')
|
|
93
|
+
raise NotImplementedError('Method not implemented!')
|
|
94
|
+
|
|
95
|
+
def Update(self, request, context):
|
|
96
|
+
"""Updates the specified reserved instance pool.
|
|
97
|
+
"""
|
|
98
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
99
|
+
context.set_details('Method not implemented!')
|
|
100
|
+
raise NotImplementedError('Method not implemented!')
|
|
101
|
+
|
|
102
|
+
def Delete(self, request, context):
|
|
103
|
+
"""Deletes the specified reserved instance pool.
|
|
104
|
+
"""
|
|
105
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
106
|
+
context.set_details('Method not implemented!')
|
|
107
|
+
raise NotImplementedError('Method not implemented!')
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def add_ReservedInstancePoolServiceServicer_to_server(servicer, server):
|
|
111
|
+
rpc_method_handlers = {
|
|
112
|
+
'Get': grpc.unary_unary_rpc_method_handler(
|
|
113
|
+
servicer.Get,
|
|
114
|
+
request_deserializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.GetReservedInstancePoolRequest.FromString,
|
|
115
|
+
response_serializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__pb2.ReservedInstancePool.SerializeToString,
|
|
116
|
+
),
|
|
117
|
+
'List': grpc.unary_unary_rpc_method_handler(
|
|
118
|
+
servicer.List,
|
|
119
|
+
request_deserializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.ListReservedInstancePoolsRequest.FromString,
|
|
120
|
+
response_serializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.ListReservedInstancePoolsResponse.SerializeToString,
|
|
121
|
+
),
|
|
122
|
+
'Create': grpc.unary_unary_rpc_method_handler(
|
|
123
|
+
servicer.Create,
|
|
124
|
+
request_deserializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.CreateReservedInstancePoolRequest.FromString,
|
|
125
|
+
response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
|
|
126
|
+
),
|
|
127
|
+
'Update': grpc.unary_unary_rpc_method_handler(
|
|
128
|
+
servicer.Update,
|
|
129
|
+
request_deserializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.UpdateReservedInstancePoolRequest.FromString,
|
|
130
|
+
response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
|
|
131
|
+
),
|
|
132
|
+
'Delete': grpc.unary_unary_rpc_method_handler(
|
|
133
|
+
servicer.Delete,
|
|
134
|
+
request_deserializer=yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.DeleteReservedInstancePoolRequest.FromString,
|
|
135
|
+
response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
|
|
136
|
+
),
|
|
137
|
+
}
|
|
138
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
139
|
+
'yandex.cloud.compute.v1.ReservedInstancePoolService', rpc_method_handlers)
|
|
140
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
141
|
+
server.add_registered_method_handlers('yandex.cloud.compute.v1.ReservedInstancePoolService', rpc_method_handlers)
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
# This class is part of an EXPERIMENTAL API.
|
|
145
|
+
class ReservedInstancePoolService(object):
|
|
146
|
+
"""A set of methods for managing reserved instance pool resources.
|
|
147
|
+
"""
|
|
148
|
+
|
|
149
|
+
@staticmethod
|
|
150
|
+
def Get(request,
|
|
151
|
+
target,
|
|
152
|
+
options=(),
|
|
153
|
+
channel_credentials=None,
|
|
154
|
+
call_credentials=None,
|
|
155
|
+
insecure=False,
|
|
156
|
+
compression=None,
|
|
157
|
+
wait_for_ready=None,
|
|
158
|
+
timeout=None,
|
|
159
|
+
metadata=None):
|
|
160
|
+
return grpc.experimental.unary_unary(
|
|
161
|
+
request,
|
|
162
|
+
target,
|
|
163
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Get',
|
|
164
|
+
yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.GetReservedInstancePoolRequest.SerializeToString,
|
|
165
|
+
yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__pb2.ReservedInstancePool.FromString,
|
|
166
|
+
options,
|
|
167
|
+
channel_credentials,
|
|
168
|
+
insecure,
|
|
169
|
+
call_credentials,
|
|
170
|
+
compression,
|
|
171
|
+
wait_for_ready,
|
|
172
|
+
timeout,
|
|
173
|
+
metadata,
|
|
174
|
+
_registered_method=True)
|
|
175
|
+
|
|
176
|
+
@staticmethod
|
|
177
|
+
def List(request,
|
|
178
|
+
target,
|
|
179
|
+
options=(),
|
|
180
|
+
channel_credentials=None,
|
|
181
|
+
call_credentials=None,
|
|
182
|
+
insecure=False,
|
|
183
|
+
compression=None,
|
|
184
|
+
wait_for_ready=None,
|
|
185
|
+
timeout=None,
|
|
186
|
+
metadata=None):
|
|
187
|
+
return grpc.experimental.unary_unary(
|
|
188
|
+
request,
|
|
189
|
+
target,
|
|
190
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/List',
|
|
191
|
+
yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.ListReservedInstancePoolsRequest.SerializeToString,
|
|
192
|
+
yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.ListReservedInstancePoolsResponse.FromString,
|
|
193
|
+
options,
|
|
194
|
+
channel_credentials,
|
|
195
|
+
insecure,
|
|
196
|
+
call_credentials,
|
|
197
|
+
compression,
|
|
198
|
+
wait_for_ready,
|
|
199
|
+
timeout,
|
|
200
|
+
metadata,
|
|
201
|
+
_registered_method=True)
|
|
202
|
+
|
|
203
|
+
@staticmethod
|
|
204
|
+
def Create(request,
|
|
205
|
+
target,
|
|
206
|
+
options=(),
|
|
207
|
+
channel_credentials=None,
|
|
208
|
+
call_credentials=None,
|
|
209
|
+
insecure=False,
|
|
210
|
+
compression=None,
|
|
211
|
+
wait_for_ready=None,
|
|
212
|
+
timeout=None,
|
|
213
|
+
metadata=None):
|
|
214
|
+
return grpc.experimental.unary_unary(
|
|
215
|
+
request,
|
|
216
|
+
target,
|
|
217
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Create',
|
|
218
|
+
yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.CreateReservedInstancePoolRequest.SerializeToString,
|
|
219
|
+
yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
220
|
+
options,
|
|
221
|
+
channel_credentials,
|
|
222
|
+
insecure,
|
|
223
|
+
call_credentials,
|
|
224
|
+
compression,
|
|
225
|
+
wait_for_ready,
|
|
226
|
+
timeout,
|
|
227
|
+
metadata,
|
|
228
|
+
_registered_method=True)
|
|
229
|
+
|
|
230
|
+
@staticmethod
|
|
231
|
+
def Update(request,
|
|
232
|
+
target,
|
|
233
|
+
options=(),
|
|
234
|
+
channel_credentials=None,
|
|
235
|
+
call_credentials=None,
|
|
236
|
+
insecure=False,
|
|
237
|
+
compression=None,
|
|
238
|
+
wait_for_ready=None,
|
|
239
|
+
timeout=None,
|
|
240
|
+
metadata=None):
|
|
241
|
+
return grpc.experimental.unary_unary(
|
|
242
|
+
request,
|
|
243
|
+
target,
|
|
244
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Update',
|
|
245
|
+
yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.UpdateReservedInstancePoolRequest.SerializeToString,
|
|
246
|
+
yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
247
|
+
options,
|
|
248
|
+
channel_credentials,
|
|
249
|
+
insecure,
|
|
250
|
+
call_credentials,
|
|
251
|
+
compression,
|
|
252
|
+
wait_for_ready,
|
|
253
|
+
timeout,
|
|
254
|
+
metadata,
|
|
255
|
+
_registered_method=True)
|
|
256
|
+
|
|
257
|
+
@staticmethod
|
|
258
|
+
def Delete(request,
|
|
259
|
+
target,
|
|
260
|
+
options=(),
|
|
261
|
+
channel_credentials=None,
|
|
262
|
+
call_credentials=None,
|
|
263
|
+
insecure=False,
|
|
264
|
+
compression=None,
|
|
265
|
+
wait_for_ready=None,
|
|
266
|
+
timeout=None,
|
|
267
|
+
metadata=None):
|
|
268
|
+
return grpc.experimental.unary_unary(
|
|
269
|
+
request,
|
|
270
|
+
target,
|
|
271
|
+
'/yandex.cloud.compute.v1.ReservedInstancePoolService/Delete',
|
|
272
|
+
yandex_dot_cloud_dot_compute_dot_v1_dot_reserved__instance__pool__service__pb2.DeleteReservedInstancePoolRequest.SerializeToString,
|
|
273
|
+
yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
274
|
+
options,
|
|
275
|
+
channel_credentials,
|
|
276
|
+
insecure,
|
|
277
|
+
call_credentials,
|
|
278
|
+
compression,
|
|
279
|
+
wait_for_ready,
|
|
280
|
+
timeout,
|
|
281
|
+
metadata,
|
|
282
|
+
_registered_method=True)
|