metalstack.cloud 0.15.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- buf/__init__.py +0 -0
- buf/validate/__init__.py +0 -0
- buf/validate/validate_pb2.py +450 -0
- buf/validate/validate_pb2.pyi +631 -0
- buf/validate/validate_pb2_grpc.py +4 -0
- metalstack_cloud-0.15.2.dist-info/METADATA +26 -0
- metalstack_cloud-0.15.2.dist-info/RECORD +111 -0
- metalstack_cloud-0.15.2.dist-info/WHEEL +5 -0
- metalstack_cloud-0.15.2.dist-info/top_level.txt +2 -0
- metalstackcloud/__init__.py +0 -0
- metalstackcloud/admin/__init__.py +0 -0
- metalstackcloud/admin/v1/__init__.py +0 -0
- metalstackcloud/admin/v1/cluster_connecpy.py +214 -0
- metalstackcloud/admin/v1/cluster_pb2.py +70 -0
- metalstackcloud/admin/v1/cluster_pb2.pyi +93 -0
- metalstackcloud/admin/v1/cluster_pb2_grpc.py +169 -0
- metalstackcloud/admin/v1/machine_pb2.py +42 -0
- metalstackcloud/admin/v1/machine_pb2.pyi +76 -0
- metalstackcloud/admin/v1/machine_pb2_grpc.py +4 -0
- metalstackcloud/admin/v1/payment_connecpy.py +158 -0
- metalstackcloud/admin/v1/payment_pb2.py +51 -0
- metalstackcloud/admin/v1/payment_pb2.pyi +33 -0
- metalstackcloud/admin/v1/payment_pb2_grpc.py +125 -0
- metalstackcloud/admin/v1/project_connecpy.py +102 -0
- metalstackcloud/admin/v1/project_pb2.py +49 -0
- metalstackcloud/admin/v1/project_pb2.pyi +34 -0
- metalstackcloud/admin/v1/project_pb2_grpc.py +81 -0
- metalstackcloud/admin/v1/storage_connecpy.py +214 -0
- metalstackcloud/admin/v1/storage_pb2.py +75 -0
- metalstackcloud/admin/v1/storage_pb2.pyi +149 -0
- metalstackcloud/admin/v1/storage_pb2_grpc.py +169 -0
- metalstackcloud/admin/v1/tenant_connecpy.py +270 -0
- metalstackcloud/admin/v1/tenant_pb2.py +66 -0
- metalstackcloud/admin/v1/tenant_pb2.pyi +72 -0
- metalstackcloud/admin/v1/tenant_pb2_grpc.py +213 -0
- metalstackcloud/admin/v1/token_connecpy.py +158 -0
- metalstackcloud/admin/v1/token_pb2.py +56 -0
- metalstackcloud/admin/v1/token_pb2.pyi +34 -0
- metalstackcloud/admin/v1/token_pb2_grpc.py +125 -0
- metalstackcloud/api/__init__.py +0 -0
- metalstackcloud/api/v1/__init__.py +0 -0
- metalstackcloud/api/v1/asset_connecpy.py +102 -0
- metalstackcloud/api/v1/asset_pb2.py +76 -0
- metalstackcloud/api/v1/asset_pb2.pyi +132 -0
- metalstackcloud/api/v1/asset_pb2_grpc.py +81 -0
- metalstackcloud/api/v1/audit_connecpy.py +158 -0
- metalstackcloud/api/v1/audit_pb2.py +84 -0
- metalstackcloud/api/v1/audit_pb2.pyi +95 -0
- metalstackcloud/api/v1/audit_pb2_grpc.py +125 -0
- metalstackcloud/api/v1/cluster_connecpy.py +494 -0
- metalstackcloud/api/v1/cluster_pb2.py +183 -0
- metalstackcloud/api/v1/cluster_pb2.pyi +311 -0
- metalstackcloud/api/v1/cluster_pb2_grpc.py +389 -0
- metalstackcloud/api/v1/common_pb2.py +52 -0
- metalstackcloud/api/v1/common_pb2.pyi +98 -0
- metalstackcloud/api/v1/common_pb2_grpc.py +4 -0
- metalstackcloud/api/v1/health_connecpy.py +102 -0
- metalstackcloud/api/v1/health_pb2.py +58 -0
- metalstackcloud/api/v1/health_pb2.pyi +74 -0
- metalstackcloud/api/v1/health_pb2_grpc.py +81 -0
- metalstackcloud/api/v1/ip_connecpy.py +326 -0
- metalstackcloud/api/v1/ip_pb2.py +110 -0
- metalstackcloud/api/v1/ip_pb2.pyi +122 -0
- metalstackcloud/api/v1/ip_pb2_grpc.py +257 -0
- metalstackcloud/api/v1/method_connecpy.py +158 -0
- metalstackcloud/api/v1/method_pb2.py +62 -0
- metalstackcloud/api/v1/method_pb2.pyi +50 -0
- metalstackcloud/api/v1/method_pb2_grpc.py +128 -0
- metalstackcloud/api/v1/payment_connecpy.py +550 -0
- metalstackcloud/api/v1/payment_pb2.py +134 -0
- metalstackcloud/api/v1/payment_pb2.pyi +291 -0
- metalstackcloud/api/v1/payment_pb2_grpc.py +433 -0
- metalstackcloud/api/v1/project_connecpy.py +718 -0
- metalstackcloud/api/v1/project_pb2.py +156 -0
- metalstackcloud/api/v1/project_pb2.pyi +234 -0
- metalstackcloud/api/v1/project_pb2_grpc.py +565 -0
- metalstackcloud/api/v1/snapshot_connecpy.py +214 -0
- metalstackcloud/api/v1/snapshot_pb2.py +75 -0
- metalstackcloud/api/v1/snapshot_pb2.pyi +109 -0
- metalstackcloud/api/v1/snapshot_pb2_grpc.py +169 -0
- metalstackcloud/api/v1/tenant_connecpy.py +774 -0
- metalstackcloud/api/v1/tenant_pb2.py +159 -0
- metalstackcloud/api/v1/tenant_pb2.pyi +305 -0
- metalstackcloud/api/v1/tenant_pb2_grpc.py +609 -0
- metalstackcloud/api/v1/token_connecpy.py +326 -0
- metalstackcloud/api/v1/token_pb2.py +131 -0
- metalstackcloud/api/v1/token_pb2.pyi +175 -0
- metalstackcloud/api/v1/token_pb2_grpc.py +257 -0
- metalstackcloud/api/v1/user_connecpy.py +102 -0
- metalstackcloud/api/v1/user_pb2.py +48 -0
- metalstackcloud/api/v1/user_pb2.pyi +42 -0
- metalstackcloud/api/v1/user_pb2_grpc.py +81 -0
- metalstackcloud/api/v1/version_connecpy.py +102 -0
- metalstackcloud/api/v1/version_pb2.py +46 -0
- metalstackcloud/api/v1/version_pb2.pyi +29 -0
- metalstackcloud/api/v1/version_pb2_grpc.py +81 -0
- metalstackcloud/api/v1/volume_connecpy.py +270 -0
- metalstackcloud/api/v1/volume_pb2.py +91 -0
- metalstackcloud/api/v1/volume_pb2.pyi +165 -0
- metalstackcloud/api/v1/volume_pb2_grpc.py +213 -0
- metalstackcloud/client.py +139 -0
- metalstackcloud/status/__init__.py +0 -0
- metalstackcloud/status/v1/__init__.py +0 -0
- metalstackcloud/status/v1/message_connecpy.py +102 -0
- metalstackcloud/status/v1/message_pb2.py +51 -0
- metalstackcloud/status/v1/message_pb2.pyi +65 -0
- metalstackcloud/status/v1/message_pb2_grpc.py +84 -0
- metalstackcloud/status/v1/status_connecpy.py +102 -0
- metalstackcloud/status/v1/status_pb2.py +45 -0
- metalstackcloud/status/v1/status_pb2.pyi +24 -0
- metalstackcloud/status/v1/status_pb2_grpc.py +84 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
from api.v1 import common_pb2 as _common_pb2
|
|
2
|
+
from api.v1 import snapshot_pb2 as _snapshot_pb2
|
|
3
|
+
from api.v1 import volume_pb2 as _volume_pb2
|
|
4
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
5
|
+
from google.protobuf.internal import containers as _containers
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import message as _message
|
|
8
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
9
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
10
|
+
|
|
11
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
12
|
+
|
|
13
|
+
class StorageServiceClusterInfoRequest(_message.Message):
|
|
14
|
+
__slots__ = ("partition",)
|
|
15
|
+
PARTITION_FIELD_NUMBER: _ClassVar[int]
|
|
16
|
+
partition: str
|
|
17
|
+
def __init__(self, partition: _Optional[str] = ...) -> None: ...
|
|
18
|
+
|
|
19
|
+
class StorageServiceClusterInfoResponse(_message.Message):
|
|
20
|
+
__slots__ = ("infos",)
|
|
21
|
+
INFOS_FIELD_NUMBER: _ClassVar[int]
|
|
22
|
+
infos: _containers.RepeatedCompositeFieldContainer[StorageClusterInfo]
|
|
23
|
+
def __init__(self, infos: _Optional[_Iterable[_Union[StorageClusterInfo, _Mapping]]] = ...) -> None: ...
|
|
24
|
+
|
|
25
|
+
class StorageClusterInfo(_message.Message):
|
|
26
|
+
__slots__ = ("partition", "uuid", "subsystem_nqn", "current_max_replicas", "supported_max_replicas", "statistics", "health", "min_version_in_cluster", "min_allowed_version", "max_allowed_version", "api_endpoints", "discovery_endpoints", "servers")
|
|
27
|
+
PARTITION_FIELD_NUMBER: _ClassVar[int]
|
|
28
|
+
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
29
|
+
SUBSYSTEM_NQN_FIELD_NUMBER: _ClassVar[int]
|
|
30
|
+
CURRENT_MAX_REPLICAS_FIELD_NUMBER: _ClassVar[int]
|
|
31
|
+
SUPPORTED_MAX_REPLICAS_FIELD_NUMBER: _ClassVar[int]
|
|
32
|
+
STATISTICS_FIELD_NUMBER: _ClassVar[int]
|
|
33
|
+
HEALTH_FIELD_NUMBER: _ClassVar[int]
|
|
34
|
+
MIN_VERSION_IN_CLUSTER_FIELD_NUMBER: _ClassVar[int]
|
|
35
|
+
MIN_ALLOWED_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
36
|
+
MAX_ALLOWED_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
37
|
+
API_ENDPOINTS_FIELD_NUMBER: _ClassVar[int]
|
|
38
|
+
DISCOVERY_ENDPOINTS_FIELD_NUMBER: _ClassVar[int]
|
|
39
|
+
SERVERS_FIELD_NUMBER: _ClassVar[int]
|
|
40
|
+
partition: str
|
|
41
|
+
uuid: str
|
|
42
|
+
subsystem_nqn: str
|
|
43
|
+
current_max_replicas: int
|
|
44
|
+
supported_max_replicas: int
|
|
45
|
+
statistics: ClusterStatisticsApi
|
|
46
|
+
health: ClusterHealth
|
|
47
|
+
min_version_in_cluster: str
|
|
48
|
+
min_allowed_version: str
|
|
49
|
+
max_allowed_version: str
|
|
50
|
+
api_endpoints: _containers.RepeatedScalarFieldContainer[str]
|
|
51
|
+
discovery_endpoints: _containers.RepeatedScalarFieldContainer[str]
|
|
52
|
+
servers: _containers.RepeatedCompositeFieldContainer[StorageServerInfo]
|
|
53
|
+
def __init__(self, partition: _Optional[str] = ..., uuid: _Optional[str] = ..., subsystem_nqn: _Optional[str] = ..., current_max_replicas: _Optional[int] = ..., supported_max_replicas: _Optional[int] = ..., statistics: _Optional[_Union[ClusterStatisticsApi, _Mapping]] = ..., health: _Optional[_Union[ClusterHealth, _Mapping]] = ..., min_version_in_cluster: _Optional[str] = ..., min_allowed_version: _Optional[str] = ..., max_allowed_version: _Optional[str] = ..., api_endpoints: _Optional[_Iterable[str]] = ..., discovery_endpoints: _Optional[_Iterable[str]] = ..., servers: _Optional[_Iterable[_Union[StorageServerInfo, _Mapping]]] = ...) -> None: ...
|
|
54
|
+
|
|
55
|
+
class StorageServerInfo(_message.Message):
|
|
56
|
+
__slots__ = ("uuid", "name", "risk_of_service_loss_state", "state", "server_endpoints", "light_os_version")
|
|
57
|
+
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
58
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
59
|
+
RISK_OF_SERVICE_LOSS_STATE_FIELD_NUMBER: _ClassVar[int]
|
|
60
|
+
STATE_FIELD_NUMBER: _ClassVar[int]
|
|
61
|
+
SERVER_ENDPOINTS_FIELD_NUMBER: _ClassVar[int]
|
|
62
|
+
LIGHT_OS_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
63
|
+
uuid: str
|
|
64
|
+
name: str
|
|
65
|
+
risk_of_service_loss_state: str
|
|
66
|
+
state: str
|
|
67
|
+
server_endpoints: _containers.RepeatedScalarFieldContainer[str]
|
|
68
|
+
light_os_version: str
|
|
69
|
+
def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., risk_of_service_loss_state: _Optional[str] = ..., state: _Optional[str] = ..., server_endpoints: _Optional[_Iterable[str]] = ..., light_os_version: _Optional[str] = ...) -> None: ...
|
|
70
|
+
|
|
71
|
+
class ClusterHealth(_message.Message):
|
|
72
|
+
__slots__ = ("state", "num_degraded_volumes", "num_read_only_volumes", "num_not_available_volumes", "num_inactive_nodes")
|
|
73
|
+
STATE_FIELD_NUMBER: _ClassVar[int]
|
|
74
|
+
NUM_DEGRADED_VOLUMES_FIELD_NUMBER: _ClassVar[int]
|
|
75
|
+
NUM_READ_ONLY_VOLUMES_FIELD_NUMBER: _ClassVar[int]
|
|
76
|
+
NUM_NOT_AVAILABLE_VOLUMES_FIELD_NUMBER: _ClassVar[int]
|
|
77
|
+
NUM_INACTIVE_NODES_FIELD_NUMBER: _ClassVar[int]
|
|
78
|
+
state: str
|
|
79
|
+
num_degraded_volumes: int
|
|
80
|
+
num_read_only_volumes: int
|
|
81
|
+
num_not_available_volumes: int
|
|
82
|
+
num_inactive_nodes: int
|
|
83
|
+
def __init__(self, state: _Optional[str] = ..., num_degraded_volumes: _Optional[int] = ..., num_read_only_volumes: _Optional[int] = ..., num_not_available_volumes: _Optional[int] = ..., num_inactive_nodes: _Optional[int] = ...) -> None: ...
|
|
84
|
+
|
|
85
|
+
class ClusterStatisticsApi(_message.Message):
|
|
86
|
+
__slots__ = ("installed_physical_storage", "managed_physical_storage", "effective_physical_storage", "logical_storage", "logical_used_storage", "physical_used_storage", "physical_used_storage_including_parity", "free_physical_storage", "estimated_free_logical_storage", "estimated_logical_storage", "compression_ratio")
|
|
87
|
+
INSTALLED_PHYSICAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
88
|
+
MANAGED_PHYSICAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
89
|
+
EFFECTIVE_PHYSICAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
90
|
+
LOGICAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
91
|
+
LOGICAL_USED_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
92
|
+
PHYSICAL_USED_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
93
|
+
PHYSICAL_USED_STORAGE_INCLUDING_PARITY_FIELD_NUMBER: _ClassVar[int]
|
|
94
|
+
FREE_PHYSICAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
95
|
+
ESTIMATED_FREE_LOGICAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
96
|
+
ESTIMATED_LOGICAL_STORAGE_FIELD_NUMBER: _ClassVar[int]
|
|
97
|
+
COMPRESSION_RATIO_FIELD_NUMBER: _ClassVar[int]
|
|
98
|
+
installed_physical_storage: int
|
|
99
|
+
managed_physical_storage: int
|
|
100
|
+
effective_physical_storage: int
|
|
101
|
+
logical_storage: int
|
|
102
|
+
logical_used_storage: int
|
|
103
|
+
physical_used_storage: int
|
|
104
|
+
physical_used_storage_including_parity: int
|
|
105
|
+
free_physical_storage: int
|
|
106
|
+
estimated_free_logical_storage: int
|
|
107
|
+
estimated_logical_storage: int
|
|
108
|
+
compression_ratio: float
|
|
109
|
+
def __init__(self, installed_physical_storage: _Optional[int] = ..., managed_physical_storage: _Optional[int] = ..., effective_physical_storage: _Optional[int] = ..., logical_storage: _Optional[int] = ..., logical_used_storage: _Optional[int] = ..., physical_used_storage: _Optional[int] = ..., physical_used_storage_including_parity: _Optional[int] = ..., free_physical_storage: _Optional[int] = ..., estimated_free_logical_storage: _Optional[int] = ..., estimated_logical_storage: _Optional[int] = ..., compression_ratio: _Optional[float] = ...) -> None: ...
|
|
110
|
+
|
|
111
|
+
class StorageServiceListVolumesRequest(_message.Message):
|
|
112
|
+
__slots__ = ("uuid", "project", "partition", "name", "tenant")
|
|
113
|
+
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
114
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
115
|
+
PARTITION_FIELD_NUMBER: _ClassVar[int]
|
|
116
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
117
|
+
TENANT_FIELD_NUMBER: _ClassVar[int]
|
|
118
|
+
uuid: str
|
|
119
|
+
project: str
|
|
120
|
+
partition: str
|
|
121
|
+
name: str
|
|
122
|
+
tenant: str
|
|
123
|
+
def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ..., partition: _Optional[str] = ..., name: _Optional[str] = ..., tenant: _Optional[str] = ...) -> None: ...
|
|
124
|
+
|
|
125
|
+
class StorageServiceListVolumesResponse(_message.Message):
|
|
126
|
+
__slots__ = ("volumes",)
|
|
127
|
+
VOLUMES_FIELD_NUMBER: _ClassVar[int]
|
|
128
|
+
volumes: _containers.RepeatedCompositeFieldContainer[_volume_pb2.Volume]
|
|
129
|
+
def __init__(self, volumes: _Optional[_Iterable[_Union[_volume_pb2.Volume, _Mapping]]] = ...) -> None: ...
|
|
130
|
+
|
|
131
|
+
class StorageServiceListSnapshotsRequest(_message.Message):
|
|
132
|
+
__slots__ = ("uuid", "project", "partition", "name", "tenant")
|
|
133
|
+
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
134
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
135
|
+
PARTITION_FIELD_NUMBER: _ClassVar[int]
|
|
136
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
137
|
+
TENANT_FIELD_NUMBER: _ClassVar[int]
|
|
138
|
+
uuid: str
|
|
139
|
+
project: str
|
|
140
|
+
partition: str
|
|
141
|
+
name: str
|
|
142
|
+
tenant: str
|
|
143
|
+
def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ..., partition: _Optional[str] = ..., name: _Optional[str] = ..., tenant: _Optional[str] = ...) -> None: ...
|
|
144
|
+
|
|
145
|
+
class StorageServiceListSnapshotsResponse(_message.Message):
|
|
146
|
+
__slots__ = ("snapshots",)
|
|
147
|
+
SNAPSHOTS_FIELD_NUMBER: _ClassVar[int]
|
|
148
|
+
snapshots: _containers.RepeatedCompositeFieldContainer[_snapshot_pb2.Snapshot]
|
|
149
|
+
def __init__(self, snapshots: _Optional[_Iterable[_Union[_snapshot_pb2.Snapshot, _Mapping]]] = ...) -> None: ...
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
|
|
5
|
+
from metalstackcloud.admin.v1 import storage_pb2 as admin_dot_v1_dot_storage__pb2
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class StorageServiceStub(object):
|
|
9
|
+
"""StorageService serves storage related functions
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, channel):
|
|
13
|
+
"""Constructor.
|
|
14
|
+
|
|
15
|
+
Args:
|
|
16
|
+
channel: A grpc.Channel.
|
|
17
|
+
"""
|
|
18
|
+
self.ClusterInfo = channel.unary_unary(
|
|
19
|
+
'/admin.v1.StorageService/ClusterInfo',
|
|
20
|
+
request_serializer=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest.SerializeToString,
|
|
21
|
+
response_deserializer=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse.FromString,
|
|
22
|
+
_registered_method=True)
|
|
23
|
+
self.ListVolumes = channel.unary_unary(
|
|
24
|
+
'/admin.v1.StorageService/ListVolumes',
|
|
25
|
+
request_serializer=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest.SerializeToString,
|
|
26
|
+
response_deserializer=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse.FromString,
|
|
27
|
+
_registered_method=True)
|
|
28
|
+
self.ListSnapshots = channel.unary_unary(
|
|
29
|
+
'/admin.v1.StorageService/ListSnapshots',
|
|
30
|
+
request_serializer=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest.SerializeToString,
|
|
31
|
+
response_deserializer=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse.FromString,
|
|
32
|
+
_registered_method=True)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class StorageServiceServicer(object):
|
|
36
|
+
"""StorageService serves storage related functions
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
def ClusterInfo(self, request, context):
|
|
40
|
+
"""ClusterInfo returns overall statistics of the storage system
|
|
41
|
+
"""
|
|
42
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
43
|
+
context.set_details('Method not implemented!')
|
|
44
|
+
raise NotImplementedError('Method not implemented!')
|
|
45
|
+
|
|
46
|
+
def ListVolumes(self, request, context):
|
|
47
|
+
"""ListVolumes list all volumes
|
|
48
|
+
"""
|
|
49
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
50
|
+
context.set_details('Method not implemented!')
|
|
51
|
+
raise NotImplementedError('Method not implemented!')
|
|
52
|
+
|
|
53
|
+
def ListSnapshots(self, request, context):
|
|
54
|
+
"""ListSnapshots list all snapshots
|
|
55
|
+
"""
|
|
56
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
57
|
+
context.set_details('Method not implemented!')
|
|
58
|
+
raise NotImplementedError('Method not implemented!')
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def add_StorageServiceServicer_to_server(servicer, server):
|
|
62
|
+
rpc_method_handlers = {
|
|
63
|
+
'ClusterInfo': grpc.unary_unary_rpc_method_handler(
|
|
64
|
+
servicer.ClusterInfo,
|
|
65
|
+
request_deserializer=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest.FromString,
|
|
66
|
+
response_serializer=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse.SerializeToString,
|
|
67
|
+
),
|
|
68
|
+
'ListVolumes': grpc.unary_unary_rpc_method_handler(
|
|
69
|
+
servicer.ListVolumes,
|
|
70
|
+
request_deserializer=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest.FromString,
|
|
71
|
+
response_serializer=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse.SerializeToString,
|
|
72
|
+
),
|
|
73
|
+
'ListSnapshots': grpc.unary_unary_rpc_method_handler(
|
|
74
|
+
servicer.ListSnapshots,
|
|
75
|
+
request_deserializer=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest.FromString,
|
|
76
|
+
response_serializer=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse.SerializeToString,
|
|
77
|
+
),
|
|
78
|
+
}
|
|
79
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
80
|
+
'admin.v1.StorageService', rpc_method_handlers)
|
|
81
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
82
|
+
server.add_registered_method_handlers('admin.v1.StorageService', rpc_method_handlers)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
# This class is part of an EXPERIMENTAL API.
|
|
86
|
+
class StorageService(object):
|
|
87
|
+
"""StorageService serves storage related functions
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
@staticmethod
|
|
91
|
+
def ClusterInfo(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(
|
|
102
|
+
request,
|
|
103
|
+
target,
|
|
104
|
+
'/admin.v1.StorageService/ClusterInfo',
|
|
105
|
+
admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest.SerializeToString,
|
|
106
|
+
admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse.FromString,
|
|
107
|
+
options,
|
|
108
|
+
channel_credentials,
|
|
109
|
+
insecure,
|
|
110
|
+
call_credentials,
|
|
111
|
+
compression,
|
|
112
|
+
wait_for_ready,
|
|
113
|
+
timeout,
|
|
114
|
+
metadata,
|
|
115
|
+
_registered_method=True)
|
|
116
|
+
|
|
117
|
+
@staticmethod
|
|
118
|
+
def ListVolumes(request,
|
|
119
|
+
target,
|
|
120
|
+
options=(),
|
|
121
|
+
channel_credentials=None,
|
|
122
|
+
call_credentials=None,
|
|
123
|
+
insecure=False,
|
|
124
|
+
compression=None,
|
|
125
|
+
wait_for_ready=None,
|
|
126
|
+
timeout=None,
|
|
127
|
+
metadata=None):
|
|
128
|
+
return grpc.experimental.unary_unary(
|
|
129
|
+
request,
|
|
130
|
+
target,
|
|
131
|
+
'/admin.v1.StorageService/ListVolumes',
|
|
132
|
+
admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest.SerializeToString,
|
|
133
|
+
admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse.FromString,
|
|
134
|
+
options,
|
|
135
|
+
channel_credentials,
|
|
136
|
+
insecure,
|
|
137
|
+
call_credentials,
|
|
138
|
+
compression,
|
|
139
|
+
wait_for_ready,
|
|
140
|
+
timeout,
|
|
141
|
+
metadata,
|
|
142
|
+
_registered_method=True)
|
|
143
|
+
|
|
144
|
+
@staticmethod
|
|
145
|
+
def ListSnapshots(request,
|
|
146
|
+
target,
|
|
147
|
+
options=(),
|
|
148
|
+
channel_credentials=None,
|
|
149
|
+
call_credentials=None,
|
|
150
|
+
insecure=False,
|
|
151
|
+
compression=None,
|
|
152
|
+
wait_for_ready=None,
|
|
153
|
+
timeout=None,
|
|
154
|
+
metadata=None):
|
|
155
|
+
return grpc.experimental.unary_unary(
|
|
156
|
+
request,
|
|
157
|
+
target,
|
|
158
|
+
'/admin.v1.StorageService/ListSnapshots',
|
|
159
|
+
admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest.SerializeToString,
|
|
160
|
+
admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse.FromString,
|
|
161
|
+
options,
|
|
162
|
+
channel_credentials,
|
|
163
|
+
insecure,
|
|
164
|
+
call_credentials,
|
|
165
|
+
compression,
|
|
166
|
+
wait_for_ready,
|
|
167
|
+
timeout,
|
|
168
|
+
metadata,
|
|
169
|
+
_registered_method=True)
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by https://github.com/i2y/connecpy/protoc-gen-connecpy. DO NOT EDIT!
|
|
3
|
+
# source: admin/v1/tenant.proto
|
|
4
|
+
|
|
5
|
+
from typing import Optional, Protocol, Union
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from connecpy.async_client import AsyncConnecpyClient
|
|
10
|
+
from connecpy.base import Endpoint
|
|
11
|
+
from connecpy.server import ConnecpyServer
|
|
12
|
+
from connecpy.client import ConnecpyClient
|
|
13
|
+
from connecpy.context import ClientContext, ServiceContext
|
|
14
|
+
import metalstackcloud.admin.v1.tenant_pb2 as admin_dot_v1_dot_tenant__pb2
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class TenantService(Protocol):
|
|
18
|
+
async def List(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse: ...
|
|
19
|
+
async def Admit(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse: ...
|
|
20
|
+
async def Revoke(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse: ...
|
|
21
|
+
async def AddMember(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse: ...
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class TenantServiceServer(ConnecpyServer):
|
|
25
|
+
def __init__(self, *, service: TenantService, server_path_prefix=""):
|
|
26
|
+
super().__init__()
|
|
27
|
+
self._prefix = f"{server_path_prefix}/admin.v1.TenantService"
|
|
28
|
+
self._endpoints = {
|
|
29
|
+
"List": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse](
|
|
30
|
+
service_name="TenantService",
|
|
31
|
+
name="List",
|
|
32
|
+
function=getattr(service, "List"),
|
|
33
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest,
|
|
34
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse,
|
|
35
|
+
allowed_methods=("POST",),
|
|
36
|
+
),
|
|
37
|
+
"Admit": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse](
|
|
38
|
+
service_name="TenantService",
|
|
39
|
+
name="Admit",
|
|
40
|
+
function=getattr(service, "Admit"),
|
|
41
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest,
|
|
42
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse,
|
|
43
|
+
allowed_methods=("POST",),
|
|
44
|
+
),
|
|
45
|
+
"Revoke": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse](
|
|
46
|
+
service_name="TenantService",
|
|
47
|
+
name="Revoke",
|
|
48
|
+
function=getattr(service, "Revoke"),
|
|
49
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest,
|
|
50
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse,
|
|
51
|
+
allowed_methods=("POST",),
|
|
52
|
+
),
|
|
53
|
+
"AddMember": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse](
|
|
54
|
+
service_name="TenantService",
|
|
55
|
+
name="AddMember",
|
|
56
|
+
function=getattr(service, "AddMember"),
|
|
57
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest,
|
|
58
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse,
|
|
59
|
+
allowed_methods=("POST",),
|
|
60
|
+
),
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
def serviceName(self):
|
|
64
|
+
return "admin.v1.TenantService"
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class TenantServiceSync(Protocol):
|
|
68
|
+
def List(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse: ...
|
|
69
|
+
def Admit(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse: ...
|
|
70
|
+
def Revoke(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse: ...
|
|
71
|
+
def AddMember(self, req: admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest, ctx: ServiceContext) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse: ...
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class TenantServiceServerSync(ConnecpyServer):
|
|
75
|
+
def __init__(self, *, service: TenantServiceSync, server_path_prefix=""):
|
|
76
|
+
super().__init__()
|
|
77
|
+
self._prefix = f"{server_path_prefix}/admin.v1.TenantService"
|
|
78
|
+
self._endpoints = {
|
|
79
|
+
"List": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse](
|
|
80
|
+
service_name="TenantService",
|
|
81
|
+
name="List",
|
|
82
|
+
function=getattr(service, "List"),
|
|
83
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest,
|
|
84
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse,
|
|
85
|
+
allowed_methods=("POST",),
|
|
86
|
+
),
|
|
87
|
+
"Admit": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse](
|
|
88
|
+
service_name="TenantService",
|
|
89
|
+
name="Admit",
|
|
90
|
+
function=getattr(service, "Admit"),
|
|
91
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest,
|
|
92
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse,
|
|
93
|
+
allowed_methods=("POST",),
|
|
94
|
+
),
|
|
95
|
+
"Revoke": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse](
|
|
96
|
+
service_name="TenantService",
|
|
97
|
+
name="Revoke",
|
|
98
|
+
function=getattr(service, "Revoke"),
|
|
99
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest,
|
|
100
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse,
|
|
101
|
+
allowed_methods=("POST",),
|
|
102
|
+
),
|
|
103
|
+
"AddMember": Endpoint[admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest, admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse](
|
|
104
|
+
service_name="TenantService",
|
|
105
|
+
name="AddMember",
|
|
106
|
+
function=getattr(service, "AddMember"),
|
|
107
|
+
input=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest,
|
|
108
|
+
output=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse,
|
|
109
|
+
allowed_methods=("POST",),
|
|
110
|
+
),
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
def serviceName(self):
|
|
114
|
+
return "admin.v1.TenantService"
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class TenantServiceClient(ConnecpyClient):
|
|
118
|
+
def List(
|
|
119
|
+
self,
|
|
120
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest,
|
|
121
|
+
*,
|
|
122
|
+
ctx: Optional[ClientContext] = None,
|
|
123
|
+
server_path_prefix: str = "",
|
|
124
|
+
**kwargs,
|
|
125
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse:
|
|
126
|
+
method = "POST"
|
|
127
|
+
return self._make_request(
|
|
128
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/List",
|
|
129
|
+
ctx=ctx,
|
|
130
|
+
request=request,
|
|
131
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse,
|
|
132
|
+
method=method,
|
|
133
|
+
**kwargs,
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
def Admit(
|
|
137
|
+
self,
|
|
138
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest,
|
|
139
|
+
*,
|
|
140
|
+
ctx: Optional[ClientContext] = None,
|
|
141
|
+
server_path_prefix: str = "",
|
|
142
|
+
**kwargs,
|
|
143
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse:
|
|
144
|
+
method = "POST"
|
|
145
|
+
return self._make_request(
|
|
146
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/Admit",
|
|
147
|
+
ctx=ctx,
|
|
148
|
+
request=request,
|
|
149
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse,
|
|
150
|
+
method=method,
|
|
151
|
+
**kwargs,
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
def Revoke(
|
|
155
|
+
self,
|
|
156
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest,
|
|
157
|
+
*,
|
|
158
|
+
ctx: Optional[ClientContext] = None,
|
|
159
|
+
server_path_prefix: str = "",
|
|
160
|
+
**kwargs,
|
|
161
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse:
|
|
162
|
+
method = "POST"
|
|
163
|
+
return self._make_request(
|
|
164
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/Revoke",
|
|
165
|
+
ctx=ctx,
|
|
166
|
+
request=request,
|
|
167
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse,
|
|
168
|
+
method=method,
|
|
169
|
+
**kwargs,
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
def AddMember(
|
|
173
|
+
self,
|
|
174
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest,
|
|
175
|
+
*,
|
|
176
|
+
ctx: Optional[ClientContext] = None,
|
|
177
|
+
server_path_prefix: str = "",
|
|
178
|
+
**kwargs,
|
|
179
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse:
|
|
180
|
+
method = "POST"
|
|
181
|
+
return self._make_request(
|
|
182
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/AddMember",
|
|
183
|
+
ctx=ctx,
|
|
184
|
+
request=request,
|
|
185
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse,
|
|
186
|
+
method=method,
|
|
187
|
+
**kwargs,
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
class AsyncTenantServiceClient(AsyncConnecpyClient):
|
|
192
|
+
async def List(
|
|
193
|
+
self,
|
|
194
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest,
|
|
195
|
+
*,
|
|
196
|
+
ctx: Optional[ClientContext] = None,
|
|
197
|
+
server_path_prefix: str = "",
|
|
198
|
+
session: Union[httpx.AsyncClient, None] = None,
|
|
199
|
+
**kwargs,
|
|
200
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse:
|
|
201
|
+
method = "POST"
|
|
202
|
+
return await self._make_request(
|
|
203
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/List",
|
|
204
|
+
ctx=ctx,
|
|
205
|
+
request=request,
|
|
206
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse,
|
|
207
|
+
method=method,
|
|
208
|
+
session=session,
|
|
209
|
+
**kwargs,
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
async def Admit(
|
|
213
|
+
self,
|
|
214
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest,
|
|
215
|
+
*,
|
|
216
|
+
ctx: Optional[ClientContext] = None,
|
|
217
|
+
server_path_prefix: str = "",
|
|
218
|
+
session: Union[httpx.AsyncClient, None] = None,
|
|
219
|
+
**kwargs,
|
|
220
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse:
|
|
221
|
+
method = "POST"
|
|
222
|
+
return await self._make_request(
|
|
223
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/Admit",
|
|
224
|
+
ctx=ctx,
|
|
225
|
+
request=request,
|
|
226
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse,
|
|
227
|
+
method=method,
|
|
228
|
+
session=session,
|
|
229
|
+
**kwargs,
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
async def Revoke(
|
|
233
|
+
self,
|
|
234
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest,
|
|
235
|
+
*,
|
|
236
|
+
ctx: Optional[ClientContext] = None,
|
|
237
|
+
server_path_prefix: str = "",
|
|
238
|
+
session: Union[httpx.AsyncClient, None] = None,
|
|
239
|
+
**kwargs,
|
|
240
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse:
|
|
241
|
+
method = "POST"
|
|
242
|
+
return await self._make_request(
|
|
243
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/Revoke",
|
|
244
|
+
ctx=ctx,
|
|
245
|
+
request=request,
|
|
246
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse,
|
|
247
|
+
method=method,
|
|
248
|
+
session=session,
|
|
249
|
+
**kwargs,
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
async def AddMember(
|
|
253
|
+
self,
|
|
254
|
+
request: admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest,
|
|
255
|
+
*,
|
|
256
|
+
ctx: Optional[ClientContext] = None,
|
|
257
|
+
server_path_prefix: str = "",
|
|
258
|
+
session: Union[httpx.AsyncClient, None] = None,
|
|
259
|
+
**kwargs,
|
|
260
|
+
) -> admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse:
|
|
261
|
+
method = "POST"
|
|
262
|
+
return await self._make_request(
|
|
263
|
+
url=f"{server_path_prefix}/admin.v1.TenantService/AddMember",
|
|
264
|
+
ctx=ctx,
|
|
265
|
+
request=request,
|
|
266
|
+
response_class=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse,
|
|
267
|
+
method=method,
|
|
268
|
+
session=session,
|
|
269
|
+
**kwargs,
|
|
270
|
+
)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: admin/v1/tenant.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'admin/v1/tenant.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from metalstackcloud.api.v1 import common_pb2 as api_dot_v1_dot_common__pb2
|
|
26
|
+
from metalstackcloud.api.v1 import tenant_pb2 as api_dot_v1_dot_tenant__pb2
|
|
27
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15\x61\x64min/v1/tenant.proto\x12\x08\x61\x64min.v1\x1a\x13\x61pi/v1/common.proto\x1a\x13\x61pi/v1/tenant.proto\x1a\x1b\x62uf/validate/validate.proto\"\xe5\x02\n\x18TenantServiceListRequest\x12\x1b\n\x06tenant\x18\t \x01(\tH\x00R\x06tenant\x88\x01\x01\x12\x17\n\x04name\x18\x02 \x01(\tH\x01R\x04name\x88\x01\x01\x12\x19\n\x05\x65mail\x18\x03 \x01(\tH\x02R\x05\x65mail\x88\x01\x01\x12\x41\n\x0eoauth_provider\x18\x05 \x01(\x0e\x32\x15.api.v1.OAuthProviderH\x03R\roauthProvider\x88\x01\x01\x12\x1f\n\x08\x61\x64mitted\x18\x06 \x01(\x08H\x04R\x08\x61\x64mitted\x88\x01\x01\x12&\n\x06paging\x18\x07 \x01(\x0b\x32\x0e.api.v1.PagingR\x06pagingB\t\n\x07_tenantB\x07\n\x05_nameB\x08\n\x06_emailB\x11\n\x0f_oauth_providerB\x0b\n\t_admittedJ\x04\x08\x01\x10\x02J\x04\x08\x04\x10\x05J\x04\x08\x08\x10\tR\x05loginR\x0forganisation_idR\x04uuid\"u\n\x19TenantServiceListResponse\x12(\n\x07tenants\x18\x01 \x03(\x0b\x32\x0e.api.v1.TenantR\x07tenants\x12 \n\tnext_page\x18\x02 \x01(\x04H\x00R\x08nextPage\x88\x01\x01\x42\x0c\n\n_next_page\"8\n\x19TenantServiceAdmitRequest\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId\"D\n\x1aTenantServiceAdmitResponse\x12&\n\x06tenant\x18\x01 \x01(\x0b\x32\x0e.api.v1.TenantR\x06tenant\"9\n\x1aTenantServiceRevokeRequest\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId\"E\n\x1bTenantServiceRevokeResponse\x12&\n\x06tenant\x18\x01 \x01(\x0b\x32\x0e.api.v1.TenantR\x06tenant\"\x8b\x01\n\x1dTenantServiceAddMemberRequest\x12\x1b\n\ttenant_id\x18\x01 \x01(\tR\x08tenantId\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\x12\x30\n\x04role\x18\x03 \x01(\x0e\x32\x12.api.v1.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\" \n\x1eTenantServiceAddMemberResponse2\x88\x03\n\rTenantService\x12W\n\x04List\x12\".admin.v1.TenantServiceListRequest\x1a#.admin.v1.TenantServiceListResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12Y\n\x05\x41\x64mit\x12#.admin.v1.TenantServiceAdmitRequest\x1a$.admin.v1.TenantServiceAdmitResponse\"\x05\xd2\xf3\x18\x01\x01\x12\\\n\x06Revoke\x12$.admin.v1.TenantServiceRevokeRequest\x1a%.admin.v1.TenantServiceRevokeResponse\"\x05\xd2\xf3\x18\x01\x01\x12\x65\n\tAddMember\x12\'.admin.v1.TenantServiceAddMemberRequest\x1a(.admin.v1.TenantServiceAddMemberResponse\"\x05\xd2\xf3\x18\x01\x01\x42\x92\x01\n\x0c\x63om.admin.v1B\x0bTenantProtoP\x01Z4github.com/metal-stack-cloud/api/go/admin/v1;adminv1\xa2\x02\x03\x41XX\xaa\x02\x08\x41\x64min.V1\xca\x02\x08\x41\x64min\\V1\xe2\x02\x14\x41\x64min\\V1\\GPBMetadata\xea\x02\tAdmin::V1b\x06proto3')
|
|
31
|
+
|
|
32
|
+
_globals = globals()
|
|
33
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
34
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'admin.v1.tenant_pb2', _globals)
|
|
35
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
36
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
37
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\014com.admin.v1B\013TenantProtoP\001Z4github.com/metal-stack-cloud/api/go/admin/v1;adminv1\242\002\003AXX\252\002\010Admin.V1\312\002\010Admin\\V1\342\002\024Admin\\V1\\GPBMetadata\352\002\tAdmin::V1'
|
|
38
|
+
_globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._loaded_options = None
|
|
39
|
+
_globals['_TENANTSERVICEADDMEMBERREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
|
|
40
|
+
_globals['_TENANTSERVICE'].methods_by_name['List']._loaded_options = None
|
|
41
|
+
_globals['_TENANTSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002'
|
|
42
|
+
_globals['_TENANTSERVICE'].methods_by_name['Admit']._loaded_options = None
|
|
43
|
+
_globals['_TENANTSERVICE'].methods_by_name['Admit']._serialized_options = b'\322\363\030\001\001'
|
|
44
|
+
_globals['_TENANTSERVICE'].methods_by_name['Revoke']._loaded_options = None
|
|
45
|
+
_globals['_TENANTSERVICE'].methods_by_name['Revoke']._serialized_options = b'\322\363\030\001\001'
|
|
46
|
+
_globals['_TENANTSERVICE'].methods_by_name['AddMember']._loaded_options = None
|
|
47
|
+
_globals['_TENANTSERVICE'].methods_by_name['AddMember']._serialized_options = b'\322\363\030\001\001'
|
|
48
|
+
_globals['_TENANTSERVICELISTREQUEST']._serialized_start=107
|
|
49
|
+
_globals['_TENANTSERVICELISTREQUEST']._serialized_end=464
|
|
50
|
+
_globals['_TENANTSERVICELISTRESPONSE']._serialized_start=466
|
|
51
|
+
_globals['_TENANTSERVICELISTRESPONSE']._serialized_end=583
|
|
52
|
+
_globals['_TENANTSERVICEADMITREQUEST']._serialized_start=585
|
|
53
|
+
_globals['_TENANTSERVICEADMITREQUEST']._serialized_end=641
|
|
54
|
+
_globals['_TENANTSERVICEADMITRESPONSE']._serialized_start=643
|
|
55
|
+
_globals['_TENANTSERVICEADMITRESPONSE']._serialized_end=711
|
|
56
|
+
_globals['_TENANTSERVICEREVOKEREQUEST']._serialized_start=713
|
|
57
|
+
_globals['_TENANTSERVICEREVOKEREQUEST']._serialized_end=770
|
|
58
|
+
_globals['_TENANTSERVICEREVOKERESPONSE']._serialized_start=772
|
|
59
|
+
_globals['_TENANTSERVICEREVOKERESPONSE']._serialized_end=841
|
|
60
|
+
_globals['_TENANTSERVICEADDMEMBERREQUEST']._serialized_start=844
|
|
61
|
+
_globals['_TENANTSERVICEADDMEMBERREQUEST']._serialized_end=983
|
|
62
|
+
_globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_start=985
|
|
63
|
+
_globals['_TENANTSERVICEADDMEMBERRESPONSE']._serialized_end=1017
|
|
64
|
+
_globals['_TENANTSERVICE']._serialized_start=1020
|
|
65
|
+
_globals['_TENANTSERVICE']._serialized_end=1412
|
|
66
|
+
# @@protoc_insertion_point(module_scope)
|