yandexcloud 0.323.0__py3-none-any.whl → 0.324.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/text_common_pb2.py +27 -27
- yandex/cloud/ai/foundation_models/v1/text_common_pb2.pyi +15 -3
- yandex/cloud/backup/v1/backup_service_pb2.py +42 -41
- yandex/cloud/backup/v1/backup_service_pb2.pyi +6 -1
- yandex/cloud/billing/v1/customer_service_pb2.pyi +5 -4
- yandex/cloud/cloudregistry/__init__.py +0 -0
- yandex/cloud/cloudregistry/v1/__init__.py +0 -0
- yandex/cloud/cloudregistry/v1/artifact_pb2.py +31 -0
- yandex/cloud/cloudregistry/v1/artifact_pb2.pyi +110 -0
- yandex/cloud/cloudregistry/v1/artifact_pb2_grpc.py +4 -0
- yandex/cloud/cloudregistry/v1/artifact_pb2_grpc.pyi +17 -0
- yandex/cloud/cloudregistry/v1/artifact_service_pb2.py +45 -0
- yandex/cloud/cloudregistry/v1/artifact_service_pb2.pyi +59 -0
- yandex/cloud/cloudregistry/v1/artifact_service_pb2_grpc.py +105 -0
- yandex/cloud/cloudregistry/v1/artifact_service_pb2_grpc.pyi +75 -0
- yandex/cloud/cloudregistry/v1/ip_permission_pb2.py +37 -0
- yandex/cloud/cloudregistry/v1/ip_permission_pb2.pyi +95 -0
- yandex/cloud/cloudregistry/v1/ip_permission_pb2_grpc.py +4 -0
- yandex/cloud/cloudregistry/v1/ip_permission_pb2_grpc.pyi +17 -0
- yandex/cloud/cloudregistry/v1/registry_pb2.py +41 -0
- yandex/cloud/cloudregistry/v1/registry_pb2.pyi +181 -0
- yandex/cloud/cloudregistry/v1/registry_pb2_grpc.py +4 -0
- yandex/cloud/cloudregistry/v1/registry_pb2_grpc.pyi +17 -0
- yandex/cloud/cloudregistry/v1/registry_service_pb2.py +153 -0
- yandex/cloud/cloudregistry/v1/registry_service_pb2.pyi +504 -0
- yandex/cloud/cloudregistry/v1/registry_service_pb2_grpc.py +451 -0
- yandex/cloud/cloudregistry/v1/registry_service_pb2_grpc.pyi +291 -0
- yandex/cloud/cloudrouter/v1/routing_instance_pb2.py +8 -10
- yandex/cloud/cloudrouter/v1/routing_instance_pb2.pyi +2 -28
- yandex/cloud/compute/v1/instance_service_pb2_grpc.py +1 -1
- yandex/cloud/compute/v1/instance_service_pb2_grpc.pyi +3 -3
- yandex/cloud/lockbox/v1/secret_service_pb2.py +56 -55
- yandex/cloud/lockbox/v1/secret_service_pb2.pyi +13 -2
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.py +55 -45
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2.pyi +40 -0
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2_grpc.py +34 -0
- yandex/cloud/mdb/opensearch/v1/cluster_service_pb2_grpc.pyi +20 -0
- yandex/cloud/mdb/postgresql/v1/cluster_pb2.py +47 -43
- yandex/cloud/mdb/postgresql/v1/cluster_pb2.pyi +34 -6
- yandex/cloud/mdb/postgresql/v1/cluster_service_pb2.py +109 -105
- yandex/cloud/mdb/postgresql/v1/cluster_service_pb2.pyi +35 -7
- yandex/cloud/mdb/postgresql/v1/config/host17_1c_pb2.py +68 -0
- yandex/cloud/mdb/postgresql/v1/config/host17_1c_pb2.pyi +512 -0
- yandex/cloud/mdb/postgresql/v1/config/host17_1c_pb2_grpc.py +4 -0
- yandex/cloud/mdb/postgresql/v1/config/host17_1c_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/postgresql/v1/config/host17_pb2.py +68 -0
- yandex/cloud/mdb/postgresql/v1/config/host17_pb2.pyi +512 -0
- yandex/cloud/mdb/postgresql/v1/config/host17_pb2_grpc.py +4 -0
- yandex/cloud/mdb/postgresql/v1/config/host17_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_1c_pb2.py +168 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_1c_pb2.pyi +1130 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_1c_pb2_grpc.py +4 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_1c_pb2_grpc.pyi +17 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_pb2.py +168 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_pb2.pyi +1122 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_pb2_grpc.py +4 -0
- yandex/cloud/mdb/postgresql/v1/config/postgresql17_pb2_grpc.pyi +17 -0
- {yandexcloud-0.323.0.dist-info → yandexcloud-0.324.0.dist-info}/METADATA +1 -1
- {yandexcloud-0.323.0.dist-info → yandexcloud-0.324.0.dist-info}/RECORD +63 -25
- {yandexcloud-0.323.0.dist-info → yandexcloud-0.324.0.dist-info}/WHEEL +1 -1
- {yandexcloud-0.323.0.dist-info → yandexcloud-0.324.0.dist-info}/AUTHORS +0 -0
- {yandexcloud-0.323.0.dist-info → yandexcloud-0.324.0.dist-info}/LICENSE +0 -0
- {yandexcloud-0.323.0.dist-info → yandexcloud-0.324.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
|
|
5
|
+
from yandex.cloud.cloudregistry.v1 import artifact_pb2 as yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__pb2
|
|
6
|
+
from yandex.cloud.cloudregistry.v1 import artifact_service_pb2 as yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__service__pb2
|
|
7
|
+
from yandex.cloud.operation import operation_pb2 as yandex_dot_cloud_dot_operation_dot_operation__pb2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ArtifactServiceStub(object):
|
|
11
|
+
"""Missing associated documentation comment in .proto file."""
|
|
12
|
+
|
|
13
|
+
def __init__(self, channel):
|
|
14
|
+
"""Constructor.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
channel: A grpc.Channel.
|
|
18
|
+
"""
|
|
19
|
+
self.Get = channel.unary_unary(
|
|
20
|
+
'/yandex.cloud.cloudregistry.v1.ArtifactService/Get',
|
|
21
|
+
request_serializer=yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__service__pb2.GetArtifactRequest.SerializeToString,
|
|
22
|
+
response_deserializer=yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__pb2.Artifact.FromString,
|
|
23
|
+
)
|
|
24
|
+
self.Delete = channel.unary_unary(
|
|
25
|
+
'/yandex.cloud.cloudregistry.v1.ArtifactService/Delete',
|
|
26
|
+
request_serializer=yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__service__pb2.DeleteArtifactRequest.SerializeToString,
|
|
27
|
+
response_deserializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class ArtifactServiceServicer(object):
|
|
32
|
+
"""Missing associated documentation comment in .proto file."""
|
|
33
|
+
|
|
34
|
+
def Get(self, request, context):
|
|
35
|
+
"""Returns the specified Registry artifact resource.
|
|
36
|
+
|
|
37
|
+
To get the list of available Registry artifact resources, make RegistryService.ListArtifacts method call.
|
|
38
|
+
"""
|
|
39
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
40
|
+
context.set_details('Method not implemented!')
|
|
41
|
+
raise NotImplementedError('Method not implemented!')
|
|
42
|
+
|
|
43
|
+
def Delete(self, request, context):
|
|
44
|
+
"""Deletes the specified registry artifact.
|
|
45
|
+
"""
|
|
46
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
47
|
+
context.set_details('Method not implemented!')
|
|
48
|
+
raise NotImplementedError('Method not implemented!')
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def add_ArtifactServiceServicer_to_server(servicer, server):
|
|
52
|
+
rpc_method_handlers = {
|
|
53
|
+
'Get': grpc.unary_unary_rpc_method_handler(
|
|
54
|
+
servicer.Get,
|
|
55
|
+
request_deserializer=yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__service__pb2.GetArtifactRequest.FromString,
|
|
56
|
+
response_serializer=yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__pb2.Artifact.SerializeToString,
|
|
57
|
+
),
|
|
58
|
+
'Delete': grpc.unary_unary_rpc_method_handler(
|
|
59
|
+
servicer.Delete,
|
|
60
|
+
request_deserializer=yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__service__pb2.DeleteArtifactRequest.FromString,
|
|
61
|
+
response_serializer=yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.SerializeToString,
|
|
62
|
+
),
|
|
63
|
+
}
|
|
64
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
65
|
+
'yandex.cloud.cloudregistry.v1.ArtifactService', rpc_method_handlers)
|
|
66
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
# This class is part of an EXPERIMENTAL API.
|
|
70
|
+
class ArtifactService(object):
|
|
71
|
+
"""Missing associated documentation comment in .proto file."""
|
|
72
|
+
|
|
73
|
+
@staticmethod
|
|
74
|
+
def Get(request,
|
|
75
|
+
target,
|
|
76
|
+
options=(),
|
|
77
|
+
channel_credentials=None,
|
|
78
|
+
call_credentials=None,
|
|
79
|
+
insecure=False,
|
|
80
|
+
compression=None,
|
|
81
|
+
wait_for_ready=None,
|
|
82
|
+
timeout=None,
|
|
83
|
+
metadata=None):
|
|
84
|
+
return grpc.experimental.unary_unary(request, target, '/yandex.cloud.cloudregistry.v1.ArtifactService/Get',
|
|
85
|
+
yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__service__pb2.GetArtifactRequest.SerializeToString,
|
|
86
|
+
yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__pb2.Artifact.FromString,
|
|
87
|
+
options, channel_credentials,
|
|
88
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
89
|
+
|
|
90
|
+
@staticmethod
|
|
91
|
+
def Delete(request,
|
|
92
|
+
target,
|
|
93
|
+
options=(),
|
|
94
|
+
channel_credentials=None,
|
|
95
|
+
call_credentials=None,
|
|
96
|
+
insecure=False,
|
|
97
|
+
compression=None,
|
|
98
|
+
wait_for_ready=None,
|
|
99
|
+
timeout=None,
|
|
100
|
+
metadata=None):
|
|
101
|
+
return grpc.experimental.unary_unary(request, target, '/yandex.cloud.cloudregistry.v1.ArtifactService/Delete',
|
|
102
|
+
yandex_dot_cloud_dot_cloudregistry_dot_v1_dot_artifact__service__pb2.DeleteArtifactRequest.SerializeToString,
|
|
103
|
+
yandex_dot_cloud_dot_operation_dot_operation__pb2.Operation.FromString,
|
|
104
|
+
options, channel_credentials,
|
|
105
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
@@ -0,0 +1,75 @@
|
|
|
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.cloudregistry.v1.artifact_pb2
|
|
12
|
+
import yandex.cloud.cloudregistry.v1.artifact_service_pb2
|
|
13
|
+
import yandex.cloud.operation.operation_pb2
|
|
14
|
+
|
|
15
|
+
_T = typing.TypeVar("_T")
|
|
16
|
+
|
|
17
|
+
class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
|
|
18
|
+
|
|
19
|
+
class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
|
|
20
|
+
...
|
|
21
|
+
|
|
22
|
+
class ArtifactServiceStub:
|
|
23
|
+
def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
|
|
24
|
+
Get: grpc.UnaryUnaryMultiCallable[
|
|
25
|
+
yandex.cloud.cloudregistry.v1.artifact_service_pb2.GetArtifactRequest,
|
|
26
|
+
yandex.cloud.cloudregistry.v1.artifact_pb2.Artifact,
|
|
27
|
+
]
|
|
28
|
+
"""Returns the specified Registry artifact resource.
|
|
29
|
+
|
|
30
|
+
To get the list of available Registry artifact resources, make RegistryService.ListArtifacts method call.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
Delete: grpc.UnaryUnaryMultiCallable[
|
|
34
|
+
yandex.cloud.cloudregistry.v1.artifact_service_pb2.DeleteArtifactRequest,
|
|
35
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
36
|
+
]
|
|
37
|
+
"""Deletes the specified registry artifact."""
|
|
38
|
+
|
|
39
|
+
class ArtifactServiceAsyncStub:
|
|
40
|
+
Get: grpc.aio.UnaryUnaryMultiCallable[
|
|
41
|
+
yandex.cloud.cloudregistry.v1.artifact_service_pb2.GetArtifactRequest,
|
|
42
|
+
yandex.cloud.cloudregistry.v1.artifact_pb2.Artifact,
|
|
43
|
+
]
|
|
44
|
+
"""Returns the specified Registry artifact resource.
|
|
45
|
+
|
|
46
|
+
To get the list of available Registry artifact resources, make RegistryService.ListArtifacts method call.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
Delete: grpc.aio.UnaryUnaryMultiCallable[
|
|
50
|
+
yandex.cloud.cloudregistry.v1.artifact_service_pb2.DeleteArtifactRequest,
|
|
51
|
+
yandex.cloud.operation.operation_pb2.Operation,
|
|
52
|
+
]
|
|
53
|
+
"""Deletes the specified registry artifact."""
|
|
54
|
+
|
|
55
|
+
class ArtifactServiceServicer(metaclass=abc.ABCMeta):
|
|
56
|
+
@abc.abstractmethod
|
|
57
|
+
def Get(
|
|
58
|
+
self,
|
|
59
|
+
request: yandex.cloud.cloudregistry.v1.artifact_service_pb2.GetArtifactRequest,
|
|
60
|
+
context: _ServicerContext,
|
|
61
|
+
) -> typing.Union[yandex.cloud.cloudregistry.v1.artifact_pb2.Artifact, collections.abc.Awaitable[yandex.cloud.cloudregistry.v1.artifact_pb2.Artifact]]:
|
|
62
|
+
"""Returns the specified Registry artifact resource.
|
|
63
|
+
|
|
64
|
+
To get the list of available Registry artifact resources, make RegistryService.ListArtifacts method call.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
@abc.abstractmethod
|
|
68
|
+
def Delete(
|
|
69
|
+
self,
|
|
70
|
+
request: yandex.cloud.cloudregistry.v1.artifact_service_pb2.DeleteArtifactRequest,
|
|
71
|
+
context: _ServicerContext,
|
|
72
|
+
) -> typing.Union[yandex.cloud.operation.operation_pb2.Operation, collections.abc.Awaitable[yandex.cloud.operation.operation_pb2.Operation]]:
|
|
73
|
+
"""Deletes the specified registry artifact."""
|
|
74
|
+
|
|
75
|
+
def add_ArtifactServiceServicer_to_server(servicer: ArtifactServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: yandex/cloud/cloudregistry/v1/ip_permission.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 yandex.cloud import validation_pb2 as yandex_dot_cloud_dot_validation__pb2
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1yandex/cloud/cloudregistry/v1/ip_permission.proto\x12\x1dyandex.cloud.cloudregistry.v1\x1a\x1dyandex/cloud/validation.proto\"\x94\x01\n\x0cIpPermission\x12\x42\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x32.yandex.cloud.cloudregistry.v1.IpPermission.Action\x12\n\n\x02ip\x18\x02 \x01(\t\"4\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\x08\n\x04PULL\x10\x01\x12\x08\n\x04PUSH\x10\x02\"\xab\x01\n\x11IpPermissionDelta\x12L\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x36.yandex.cloud.cloudregistry.v1.IpPermissionDeltaActionB\x04\xe8\xc7\x31\x01\x12H\n\rip_permission\x18\x02 \x01(\x0b\x32+.yandex.cloud.cloudregistry.v1.IpPermissionB\x04\xe8\xc7\x31\x01*Z\n\x17IpPermissionDeltaAction\x12*\n&IP_PERMISSION_DELTA_ACTION_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02\x42t\n!yandex.cloud.api.cloudregistry.v1ZOgithub.com/yandex-cloud/go-genproto/yandex/cloud/cloudregistry/v1;cloudregistryb\x06proto3')
|
|
18
|
+
|
|
19
|
+
_globals = globals()
|
|
20
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'yandex.cloud.cloudregistry.v1.ip_permission_pb2', _globals)
|
|
22
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
23
|
+
DESCRIPTOR._options = None
|
|
24
|
+
DESCRIPTOR._serialized_options = b'\n!yandex.cloud.api.cloudregistry.v1ZOgithub.com/yandex-cloud/go-genproto/yandex/cloud/cloudregistry/v1;cloudregistry'
|
|
25
|
+
_IPPERMISSIONDELTA.fields_by_name['action']._options = None
|
|
26
|
+
_IPPERMISSIONDELTA.fields_by_name['action']._serialized_options = b'\350\3071\001'
|
|
27
|
+
_IPPERMISSIONDELTA.fields_by_name['ip_permission']._options = None
|
|
28
|
+
_IPPERMISSIONDELTA.fields_by_name['ip_permission']._serialized_options = b'\350\3071\001'
|
|
29
|
+
_globals['_IPPERMISSIONDELTAACTION']._serialized_start=440
|
|
30
|
+
_globals['_IPPERMISSIONDELTAACTION']._serialized_end=530
|
|
31
|
+
_globals['_IPPERMISSION']._serialized_start=116
|
|
32
|
+
_globals['_IPPERMISSION']._serialized_end=264
|
|
33
|
+
_globals['_IPPERMISSION_ACTION']._serialized_start=212
|
|
34
|
+
_globals['_IPPERMISSION_ACTION']._serialized_end=264
|
|
35
|
+
_globals['_IPPERMISSIONDELTA']._serialized_start=267
|
|
36
|
+
_globals['_IPPERMISSIONDELTA']._serialized_end=438
|
|
37
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import builtins
|
|
7
|
+
import google.protobuf.descriptor
|
|
8
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
9
|
+
import google.protobuf.message
|
|
10
|
+
import sys
|
|
11
|
+
import typing
|
|
12
|
+
|
|
13
|
+
if sys.version_info >= (3, 10):
|
|
14
|
+
import typing as typing_extensions
|
|
15
|
+
else:
|
|
16
|
+
import typing_extensions
|
|
17
|
+
|
|
18
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
19
|
+
|
|
20
|
+
class _IpPermissionDeltaAction:
|
|
21
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
22
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
23
|
+
|
|
24
|
+
class _IpPermissionDeltaActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IpPermissionDeltaAction.ValueType], builtins.type):
|
|
25
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
26
|
+
IP_PERMISSION_DELTA_ACTION_UNSPECIFIED: _IpPermissionDeltaAction.ValueType # 0
|
|
27
|
+
ADD: _IpPermissionDeltaAction.ValueType # 1
|
|
28
|
+
"""Addition of an ip permission."""
|
|
29
|
+
REMOVE: _IpPermissionDeltaAction.ValueType # 2
|
|
30
|
+
"""Removal of an ip permission."""
|
|
31
|
+
|
|
32
|
+
class IpPermissionDeltaAction(_IpPermissionDeltaAction, metaclass=_IpPermissionDeltaActionEnumTypeWrapper): ...
|
|
33
|
+
|
|
34
|
+
IP_PERMISSION_DELTA_ACTION_UNSPECIFIED: IpPermissionDeltaAction.ValueType # 0
|
|
35
|
+
ADD: IpPermissionDeltaAction.ValueType # 1
|
|
36
|
+
"""Addition of an ip permission."""
|
|
37
|
+
REMOVE: IpPermissionDeltaAction.ValueType # 2
|
|
38
|
+
"""Removal of an ip permission."""
|
|
39
|
+
global___IpPermissionDeltaAction = IpPermissionDeltaAction
|
|
40
|
+
|
|
41
|
+
@typing.final
|
|
42
|
+
class IpPermission(google.protobuf.message.Message):
|
|
43
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
44
|
+
|
|
45
|
+
class _Action:
|
|
46
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
47
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
48
|
+
|
|
49
|
+
class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[IpPermission._Action.ValueType], builtins.type):
|
|
50
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
51
|
+
ACTION_UNSPECIFIED: IpPermission._Action.ValueType # 0
|
|
52
|
+
PULL: IpPermission._Action.ValueType # 1
|
|
53
|
+
PUSH: IpPermission._Action.ValueType # 2
|
|
54
|
+
|
|
55
|
+
class Action(_Action, metaclass=_ActionEnumTypeWrapper): ...
|
|
56
|
+
ACTION_UNSPECIFIED: IpPermission.Action.ValueType # 0
|
|
57
|
+
PULL: IpPermission.Action.ValueType # 1
|
|
58
|
+
PUSH: IpPermission.Action.ValueType # 2
|
|
59
|
+
|
|
60
|
+
ACTION_FIELD_NUMBER: builtins.int
|
|
61
|
+
IP_FIELD_NUMBER: builtins.int
|
|
62
|
+
action: global___IpPermission.Action.ValueType
|
|
63
|
+
ip: builtins.str
|
|
64
|
+
def __init__(
|
|
65
|
+
self,
|
|
66
|
+
*,
|
|
67
|
+
action: global___IpPermission.Action.ValueType = ...,
|
|
68
|
+
ip: builtins.str = ...,
|
|
69
|
+
) -> None: ...
|
|
70
|
+
def ClearField(self, field_name: typing.Literal["action", b"action", "ip", b"ip"]) -> None: ...
|
|
71
|
+
|
|
72
|
+
global___IpPermission = IpPermission
|
|
73
|
+
|
|
74
|
+
@typing.final
|
|
75
|
+
class IpPermissionDelta(google.protobuf.message.Message):
|
|
76
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
77
|
+
|
|
78
|
+
ACTION_FIELD_NUMBER: builtins.int
|
|
79
|
+
IP_PERMISSION_FIELD_NUMBER: builtins.int
|
|
80
|
+
action: global___IpPermissionDeltaAction.ValueType
|
|
81
|
+
"""The action that is being performed on an ip permission."""
|
|
82
|
+
@property
|
|
83
|
+
def ip_permission(self) -> global___IpPermission:
|
|
84
|
+
"""Ip permission."""
|
|
85
|
+
|
|
86
|
+
def __init__(
|
|
87
|
+
self,
|
|
88
|
+
*,
|
|
89
|
+
action: global___IpPermissionDeltaAction.ValueType = ...,
|
|
90
|
+
ip_permission: global___IpPermission | None = ...,
|
|
91
|
+
) -> None: ...
|
|
92
|
+
def HasField(self, field_name: typing.Literal["ip_permission", b"ip_permission"]) -> builtins.bool: ...
|
|
93
|
+
def ClearField(self, field_name: typing.Literal["action", b"action", "ip_permission", b"ip_permission"]) -> None: ...
|
|
94
|
+
|
|
95
|
+
global___IpPermissionDelta = IpPermissionDelta
|
|
@@ -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,41 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: yandex/cloud/cloudregistry/v1/registry.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
|
+
|
|
16
|
+
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,yandex/cloud/cloudregistry/v1/registry.proto\x12\x1dyandex.cloud.cloudregistry.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x8a\x06\n\x08Registry\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tfolder_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12:\n\x04kind\x18\x04 \x01(\x0e\x32,.yandex.cloud.cloudregistry.v1.Registry.Kind\x12:\n\x04type\x18\x05 \x01(\x0e\x32,.yandex.cloud.cloudregistry.v1.Registry.Type\x12>\n\x06status\x18\x06 \x01(\x0e\x32..yandex.cloud.cloudregistry.v1.Registry.Status\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x43\n\x06labels\x18\x08 \x03(\x0b\x32\x33.yandex.cloud.cloudregistry.v1.Registry.LabelsEntry\x12K\n\nproperties\x18\t \x03(\x0b\x32\x37.yandex.cloud.cloudregistry.v1.Registry.PropertiesEntry\x12.\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bmodified_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"H\n\x06Status\x12\x16\n\x12STATUS_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08\x44\x45LETING\x10\x03\"<\n\x04Kind\x12\x14\n\x10KIND_UNSPECIFIED\x10\x00\x12\t\n\x05MAVEN\x10\x01\x12\x07\n\x03NPM\x10\x02\x12\n\n\x06\x44OCKER\x10\x03\"\'\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05LOCAL\x10\x01\x42t\n!yandex.cloud.api.cloudregistry.v1ZOgithub.com/yandex-cloud/go-genproto/yandex/cloud/cloudregistry/v1;cloudregistryb\x06proto3')
|
|
18
|
+
|
|
19
|
+
_globals = globals()
|
|
20
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'yandex.cloud.cloudregistry.v1.registry_pb2', _globals)
|
|
22
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
23
|
+
DESCRIPTOR._options = None
|
|
24
|
+
DESCRIPTOR._serialized_options = b'\n!yandex.cloud.api.cloudregistry.v1ZOgithub.com/yandex-cloud/go-genproto/yandex/cloud/cloudregistry/v1;cloudregistry'
|
|
25
|
+
_REGISTRY_LABELSENTRY._options = None
|
|
26
|
+
_REGISTRY_LABELSENTRY._serialized_options = b'8\001'
|
|
27
|
+
_REGISTRY_PROPERTIESENTRY._options = None
|
|
28
|
+
_REGISTRY_PROPERTIESENTRY._serialized_options = b'8\001'
|
|
29
|
+
_globals['_REGISTRY']._serialized_start=113
|
|
30
|
+
_globals['_REGISTRY']._serialized_end=891
|
|
31
|
+
_globals['_REGISTRY_LABELSENTRY']._serialized_start=618
|
|
32
|
+
_globals['_REGISTRY_LABELSENTRY']._serialized_end=663
|
|
33
|
+
_globals['_REGISTRY_PROPERTIESENTRY']._serialized_start=665
|
|
34
|
+
_globals['_REGISTRY_PROPERTIESENTRY']._serialized_end=714
|
|
35
|
+
_globals['_REGISTRY_STATUS']._serialized_start=716
|
|
36
|
+
_globals['_REGISTRY_STATUS']._serialized_end=788
|
|
37
|
+
_globals['_REGISTRY_KIND']._serialized_start=790
|
|
38
|
+
_globals['_REGISTRY_KIND']._serialized_end=850
|
|
39
|
+
_globals['_REGISTRY_TYPE']._serialized_start=852
|
|
40
|
+
_globals['_REGISTRY_TYPE']._serialized_end=891
|
|
41
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,181 @@
|
|
|
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 Registry(google.protobuf.message.Message):
|
|
25
|
+
"""A Registry resource. For more information, see the [Registry](/docs/cloud-registry/concepts/registry) section of the documentation."""
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
28
|
+
|
|
29
|
+
class _Status:
|
|
30
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
31
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
32
|
+
|
|
33
|
+
class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Registry._Status.ValueType], builtins.type):
|
|
34
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
35
|
+
STATUS_UNSPECIFIED: Registry._Status.ValueType # 0
|
|
36
|
+
CREATING: Registry._Status.ValueType # 1
|
|
37
|
+
"""Registry is being created."""
|
|
38
|
+
ACTIVE: Registry._Status.ValueType # 2
|
|
39
|
+
"""Registry is ready to use."""
|
|
40
|
+
DELETING: Registry._Status.ValueType # 3
|
|
41
|
+
"""Registry is being deleted."""
|
|
42
|
+
|
|
43
|
+
class Status(_Status, metaclass=_StatusEnumTypeWrapper): ...
|
|
44
|
+
STATUS_UNSPECIFIED: Registry.Status.ValueType # 0
|
|
45
|
+
CREATING: Registry.Status.ValueType # 1
|
|
46
|
+
"""Registry is being created."""
|
|
47
|
+
ACTIVE: Registry.Status.ValueType # 2
|
|
48
|
+
"""Registry is ready to use."""
|
|
49
|
+
DELETING: Registry.Status.ValueType # 3
|
|
50
|
+
"""Registry is being deleted."""
|
|
51
|
+
|
|
52
|
+
class _Kind:
|
|
53
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
54
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
55
|
+
|
|
56
|
+
class _KindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Registry._Kind.ValueType], builtins.type):
|
|
57
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
58
|
+
KIND_UNSPECIFIED: Registry._Kind.ValueType # 0
|
|
59
|
+
MAVEN: Registry._Kind.ValueType # 1
|
|
60
|
+
"""Registry kind is maven."""
|
|
61
|
+
NPM: Registry._Kind.ValueType # 2
|
|
62
|
+
"""Registry kind is npm."""
|
|
63
|
+
DOCKER: Registry._Kind.ValueType # 3
|
|
64
|
+
"""Registry kind is docker."""
|
|
65
|
+
|
|
66
|
+
class Kind(_Kind, metaclass=_KindEnumTypeWrapper): ...
|
|
67
|
+
KIND_UNSPECIFIED: Registry.Kind.ValueType # 0
|
|
68
|
+
MAVEN: Registry.Kind.ValueType # 1
|
|
69
|
+
"""Registry kind is maven."""
|
|
70
|
+
NPM: Registry.Kind.ValueType # 2
|
|
71
|
+
"""Registry kind is npm."""
|
|
72
|
+
DOCKER: Registry.Kind.ValueType # 3
|
|
73
|
+
"""Registry kind is docker."""
|
|
74
|
+
|
|
75
|
+
class _Type:
|
|
76
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
77
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
78
|
+
|
|
79
|
+
class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Registry._Type.ValueType], builtins.type):
|
|
80
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
81
|
+
TYPE_UNSPECIFIED: Registry._Type.ValueType # 0
|
|
82
|
+
LOCAL: Registry._Type.ValueType # 1
|
|
83
|
+
"""Registry type is local."""
|
|
84
|
+
|
|
85
|
+
class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
|
|
86
|
+
TYPE_UNSPECIFIED: Registry.Type.ValueType # 0
|
|
87
|
+
LOCAL: Registry.Type.ValueType # 1
|
|
88
|
+
"""Registry type is local."""
|
|
89
|
+
|
|
90
|
+
@typing.final
|
|
91
|
+
class LabelsEntry(google.protobuf.message.Message):
|
|
92
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
93
|
+
|
|
94
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
95
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
96
|
+
key: builtins.str
|
|
97
|
+
value: builtins.str
|
|
98
|
+
def __init__(
|
|
99
|
+
self,
|
|
100
|
+
*,
|
|
101
|
+
key: builtins.str = ...,
|
|
102
|
+
value: builtins.str = ...,
|
|
103
|
+
) -> None: ...
|
|
104
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
105
|
+
|
|
106
|
+
@typing.final
|
|
107
|
+
class PropertiesEntry(google.protobuf.message.Message):
|
|
108
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
109
|
+
|
|
110
|
+
KEY_FIELD_NUMBER: builtins.int
|
|
111
|
+
VALUE_FIELD_NUMBER: builtins.int
|
|
112
|
+
key: builtins.str
|
|
113
|
+
value: builtins.str
|
|
114
|
+
def __init__(
|
|
115
|
+
self,
|
|
116
|
+
*,
|
|
117
|
+
key: builtins.str = ...,
|
|
118
|
+
value: builtins.str = ...,
|
|
119
|
+
) -> None: ...
|
|
120
|
+
def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
|
|
121
|
+
|
|
122
|
+
ID_FIELD_NUMBER: builtins.int
|
|
123
|
+
FOLDER_ID_FIELD_NUMBER: builtins.int
|
|
124
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
125
|
+
KIND_FIELD_NUMBER: builtins.int
|
|
126
|
+
TYPE_FIELD_NUMBER: builtins.int
|
|
127
|
+
STATUS_FIELD_NUMBER: builtins.int
|
|
128
|
+
DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
129
|
+
LABELS_FIELD_NUMBER: builtins.int
|
|
130
|
+
PROPERTIES_FIELD_NUMBER: builtins.int
|
|
131
|
+
CREATED_AT_FIELD_NUMBER: builtins.int
|
|
132
|
+
MODIFIED_AT_FIELD_NUMBER: builtins.int
|
|
133
|
+
id: builtins.str
|
|
134
|
+
"""Output only. ID of the registry."""
|
|
135
|
+
folder_id: builtins.str
|
|
136
|
+
"""ID of the folder that the registry belongs to."""
|
|
137
|
+
name: builtins.str
|
|
138
|
+
"""Name of the registry."""
|
|
139
|
+
kind: global___Registry.Kind.ValueType
|
|
140
|
+
"""Kind of the registry."""
|
|
141
|
+
type: global___Registry.Type.ValueType
|
|
142
|
+
"""Type of the registry."""
|
|
143
|
+
status: global___Registry.Status.ValueType
|
|
144
|
+
"""Output only. Status of the registry."""
|
|
145
|
+
description: builtins.str
|
|
146
|
+
"""Description of the registry."""
|
|
147
|
+
@property
|
|
148
|
+
def labels(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
|
149
|
+
"""Resource labels as `key:value` pairs. Maximum of 64 per resource."""
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
def properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
|
|
153
|
+
"""Resource properties as `key:value` pairs. Maximum of 64 per resource."""
|
|
154
|
+
|
|
155
|
+
@property
|
|
156
|
+
def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
157
|
+
"""Output only. Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format."""
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
def modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
161
|
+
"""Output only. Modification timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format."""
|
|
162
|
+
|
|
163
|
+
def __init__(
|
|
164
|
+
self,
|
|
165
|
+
*,
|
|
166
|
+
id: builtins.str = ...,
|
|
167
|
+
folder_id: builtins.str = ...,
|
|
168
|
+
name: builtins.str = ...,
|
|
169
|
+
kind: global___Registry.Kind.ValueType = ...,
|
|
170
|
+
type: global___Registry.Type.ValueType = ...,
|
|
171
|
+
status: global___Registry.Status.ValueType = ...,
|
|
172
|
+
description: builtins.str = ...,
|
|
173
|
+
labels: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
174
|
+
properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
|
|
175
|
+
created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
176
|
+
modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
177
|
+
) -> None: ...
|
|
178
|
+
def HasField(self, field_name: typing.Literal["created_at", b"created_at", "modified_at", b"modified_at"]) -> builtins.bool: ...
|
|
179
|
+
def ClearField(self, field_name: typing.Literal["created_at", b"created_at", "description", b"description", "folder_id", b"folder_id", "id", b"id", "kind", b"kind", "labels", b"labels", "modified_at", b"modified_at", "name", b"name", "properties", b"properties", "status", b"status", "type", b"type"]) -> None: ...
|
|
180
|
+
|
|
181
|
+
global___Registry = Registry
|
|
@@ -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
|
+
...
|