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,122 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from api.v1 import common_pb2 as _common_pb2
|
|
4
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
5
|
+
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|
|
6
|
+
from google.protobuf.internal import containers as _containers
|
|
7
|
+
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
|
|
8
|
+
from google.protobuf import descriptor as _descriptor
|
|
9
|
+
from google.protobuf import message as _message
|
|
10
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
11
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
12
|
+
|
|
13
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
14
|
+
|
|
15
|
+
class IPType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
16
|
+
__slots__ = ()
|
|
17
|
+
IP_TYPE_UNSPECIFIED: _ClassVar[IPType]
|
|
18
|
+
IP_TYPE_EPHEMERAL: _ClassVar[IPType]
|
|
19
|
+
IP_TYPE_STATIC: _ClassVar[IPType]
|
|
20
|
+
IP_TYPE_UNSPECIFIED: IPType
|
|
21
|
+
IP_TYPE_EPHEMERAL: IPType
|
|
22
|
+
IP_TYPE_STATIC: IPType
|
|
23
|
+
|
|
24
|
+
class IP(_message.Message):
|
|
25
|
+
__slots__ = ("uuid", "ip", "name", "description", "network", "project", "type", "tags", "created_at", "updated_at", "deleted_at")
|
|
26
|
+
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
27
|
+
IP_FIELD_NUMBER: _ClassVar[int]
|
|
28
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
29
|
+
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
|
|
30
|
+
NETWORK_FIELD_NUMBER: _ClassVar[int]
|
|
31
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
32
|
+
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
33
|
+
TAGS_FIELD_NUMBER: _ClassVar[int]
|
|
34
|
+
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
35
|
+
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
36
|
+
DELETED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
37
|
+
uuid: str
|
|
38
|
+
ip: str
|
|
39
|
+
name: str
|
|
40
|
+
description: str
|
|
41
|
+
network: str
|
|
42
|
+
project: str
|
|
43
|
+
type: IPType
|
|
44
|
+
tags: _containers.RepeatedScalarFieldContainer[str]
|
|
45
|
+
created_at: _timestamp_pb2.Timestamp
|
|
46
|
+
updated_at: _timestamp_pb2.Timestamp
|
|
47
|
+
deleted_at: _timestamp_pb2.Timestamp
|
|
48
|
+
def __init__(self, uuid: _Optional[str] = ..., ip: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., network: _Optional[str] = ..., project: _Optional[str] = ..., type: _Optional[_Union[IPType, str]] = ..., tags: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., deleted_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
|
|
49
|
+
|
|
50
|
+
class IPServiceGetRequest(_message.Message):
|
|
51
|
+
__slots__ = ("uuid", "project")
|
|
52
|
+
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
53
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
54
|
+
uuid: str
|
|
55
|
+
project: str
|
|
56
|
+
def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ...) -> None: ...
|
|
57
|
+
|
|
58
|
+
class IPServiceAllocateRequest(_message.Message):
|
|
59
|
+
__slots__ = ("project", "name", "description", "tags", "static")
|
|
60
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
61
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
62
|
+
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
|
|
63
|
+
TAGS_FIELD_NUMBER: _ClassVar[int]
|
|
64
|
+
STATIC_FIELD_NUMBER: _ClassVar[int]
|
|
65
|
+
project: str
|
|
66
|
+
name: str
|
|
67
|
+
description: str
|
|
68
|
+
tags: _containers.RepeatedScalarFieldContainer[str]
|
|
69
|
+
static: bool
|
|
70
|
+
def __init__(self, project: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., tags: _Optional[_Iterable[str]] = ..., static: bool = ...) -> None: ...
|
|
71
|
+
|
|
72
|
+
class IPServiceUpdateRequest(_message.Message):
|
|
73
|
+
__slots__ = ("project", "ip")
|
|
74
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
75
|
+
IP_FIELD_NUMBER: _ClassVar[int]
|
|
76
|
+
project: str
|
|
77
|
+
ip: IP
|
|
78
|
+
def __init__(self, project: _Optional[str] = ..., ip: _Optional[_Union[IP, _Mapping]] = ...) -> None: ...
|
|
79
|
+
|
|
80
|
+
class IPServiceListRequest(_message.Message):
|
|
81
|
+
__slots__ = ("project",)
|
|
82
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
83
|
+
project: str
|
|
84
|
+
def __init__(self, project: _Optional[str] = ...) -> None: ...
|
|
85
|
+
|
|
86
|
+
class IPServiceDeleteRequest(_message.Message):
|
|
87
|
+
__slots__ = ("uuid", "project")
|
|
88
|
+
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
89
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
90
|
+
uuid: str
|
|
91
|
+
project: str
|
|
92
|
+
def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ...) -> None: ...
|
|
93
|
+
|
|
94
|
+
class IPServiceGetResponse(_message.Message):
|
|
95
|
+
__slots__ = ("ip",)
|
|
96
|
+
IP_FIELD_NUMBER: _ClassVar[int]
|
|
97
|
+
ip: IP
|
|
98
|
+
def __init__(self, ip: _Optional[_Union[IP, _Mapping]] = ...) -> None: ...
|
|
99
|
+
|
|
100
|
+
class IPServiceUpdateResponse(_message.Message):
|
|
101
|
+
__slots__ = ("ip",)
|
|
102
|
+
IP_FIELD_NUMBER: _ClassVar[int]
|
|
103
|
+
ip: IP
|
|
104
|
+
def __init__(self, ip: _Optional[_Union[IP, _Mapping]] = ...) -> None: ...
|
|
105
|
+
|
|
106
|
+
class IPServiceAllocateResponse(_message.Message):
|
|
107
|
+
__slots__ = ("ip",)
|
|
108
|
+
IP_FIELD_NUMBER: _ClassVar[int]
|
|
109
|
+
ip: IP
|
|
110
|
+
def __init__(self, ip: _Optional[_Union[IP, _Mapping]] = ...) -> None: ...
|
|
111
|
+
|
|
112
|
+
class IPServiceListResponse(_message.Message):
|
|
113
|
+
__slots__ = ("ips",)
|
|
114
|
+
IPS_FIELD_NUMBER: _ClassVar[int]
|
|
115
|
+
ips: _containers.RepeatedCompositeFieldContainer[IP]
|
|
116
|
+
def __init__(self, ips: _Optional[_Iterable[_Union[IP, _Mapping]]] = ...) -> None: ...
|
|
117
|
+
|
|
118
|
+
class IPServiceDeleteResponse(_message.Message):
|
|
119
|
+
__slots__ = ("ip",)
|
|
120
|
+
IP_FIELD_NUMBER: _ClassVar[int]
|
|
121
|
+
ip: IP
|
|
122
|
+
def __init__(self, ip: _Optional[_Union[IP, _Mapping]] = ...) -> None: ...
|
|
@@ -0,0 +1,257 @@
|
|
|
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.api.v1 import ip_pb2 as api_dot_v1_dot_ip__pb2
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class IPServiceStub(object):
|
|
9
|
+
"""IPService serves ip address related functions
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
def __init__(self, channel):
|
|
13
|
+
"""Constructor.
|
|
14
|
+
|
|
15
|
+
Args:
|
|
16
|
+
channel: A grpc.Channel.
|
|
17
|
+
"""
|
|
18
|
+
self.Get = channel.unary_unary(
|
|
19
|
+
'/api.v1.IPService/Get',
|
|
20
|
+
request_serializer=api_dot_v1_dot_ip__pb2.IPServiceGetRequest.SerializeToString,
|
|
21
|
+
response_deserializer=api_dot_v1_dot_ip__pb2.IPServiceGetResponse.FromString,
|
|
22
|
+
_registered_method=True)
|
|
23
|
+
self.Allocate = channel.unary_unary(
|
|
24
|
+
'/api.v1.IPService/Allocate',
|
|
25
|
+
request_serializer=api_dot_v1_dot_ip__pb2.IPServiceAllocateRequest.SerializeToString,
|
|
26
|
+
response_deserializer=api_dot_v1_dot_ip__pb2.IPServiceAllocateResponse.FromString,
|
|
27
|
+
_registered_method=True)
|
|
28
|
+
self.Update = channel.unary_unary(
|
|
29
|
+
'/api.v1.IPService/Update',
|
|
30
|
+
request_serializer=api_dot_v1_dot_ip__pb2.IPServiceUpdateRequest.SerializeToString,
|
|
31
|
+
response_deserializer=api_dot_v1_dot_ip__pb2.IPServiceUpdateResponse.FromString,
|
|
32
|
+
_registered_method=True)
|
|
33
|
+
self.List = channel.unary_unary(
|
|
34
|
+
'/api.v1.IPService/List',
|
|
35
|
+
request_serializer=api_dot_v1_dot_ip__pb2.IPServiceListRequest.SerializeToString,
|
|
36
|
+
response_deserializer=api_dot_v1_dot_ip__pb2.IPServiceListResponse.FromString,
|
|
37
|
+
_registered_method=True)
|
|
38
|
+
self.Delete = channel.unary_unary(
|
|
39
|
+
'/api.v1.IPService/Delete',
|
|
40
|
+
request_serializer=api_dot_v1_dot_ip__pb2.IPServiceDeleteRequest.SerializeToString,
|
|
41
|
+
response_deserializer=api_dot_v1_dot_ip__pb2.IPServiceDeleteResponse.FromString,
|
|
42
|
+
_registered_method=True)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class IPServiceServicer(object):
|
|
46
|
+
"""IPService serves ip address related functions
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
def Get(self, request, context):
|
|
50
|
+
"""Get a ip
|
|
51
|
+
"""
|
|
52
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
53
|
+
context.set_details('Method not implemented!')
|
|
54
|
+
raise NotImplementedError('Method not implemented!')
|
|
55
|
+
|
|
56
|
+
def Allocate(self, request, context):
|
|
57
|
+
"""Allocate a ip
|
|
58
|
+
"""
|
|
59
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
60
|
+
context.set_details('Method not implemented!')
|
|
61
|
+
raise NotImplementedError('Method not implemented!')
|
|
62
|
+
|
|
63
|
+
def Update(self, request, context):
|
|
64
|
+
"""Update a ip
|
|
65
|
+
"""
|
|
66
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
67
|
+
context.set_details('Method not implemented!')
|
|
68
|
+
raise NotImplementedError('Method not implemented!')
|
|
69
|
+
|
|
70
|
+
def List(self, request, context):
|
|
71
|
+
"""List all ips
|
|
72
|
+
"""
|
|
73
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
74
|
+
context.set_details('Method not implemented!')
|
|
75
|
+
raise NotImplementedError('Method not implemented!')
|
|
76
|
+
|
|
77
|
+
def Delete(self, request, context):
|
|
78
|
+
"""Delete a ip
|
|
79
|
+
"""
|
|
80
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
81
|
+
context.set_details('Method not implemented!')
|
|
82
|
+
raise NotImplementedError('Method not implemented!')
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def add_IPServiceServicer_to_server(servicer, server):
|
|
86
|
+
rpc_method_handlers = {
|
|
87
|
+
'Get': grpc.unary_unary_rpc_method_handler(
|
|
88
|
+
servicer.Get,
|
|
89
|
+
request_deserializer=api_dot_v1_dot_ip__pb2.IPServiceGetRequest.FromString,
|
|
90
|
+
response_serializer=api_dot_v1_dot_ip__pb2.IPServiceGetResponse.SerializeToString,
|
|
91
|
+
),
|
|
92
|
+
'Allocate': grpc.unary_unary_rpc_method_handler(
|
|
93
|
+
servicer.Allocate,
|
|
94
|
+
request_deserializer=api_dot_v1_dot_ip__pb2.IPServiceAllocateRequest.FromString,
|
|
95
|
+
response_serializer=api_dot_v1_dot_ip__pb2.IPServiceAllocateResponse.SerializeToString,
|
|
96
|
+
),
|
|
97
|
+
'Update': grpc.unary_unary_rpc_method_handler(
|
|
98
|
+
servicer.Update,
|
|
99
|
+
request_deserializer=api_dot_v1_dot_ip__pb2.IPServiceUpdateRequest.FromString,
|
|
100
|
+
response_serializer=api_dot_v1_dot_ip__pb2.IPServiceUpdateResponse.SerializeToString,
|
|
101
|
+
),
|
|
102
|
+
'List': grpc.unary_unary_rpc_method_handler(
|
|
103
|
+
servicer.List,
|
|
104
|
+
request_deserializer=api_dot_v1_dot_ip__pb2.IPServiceListRequest.FromString,
|
|
105
|
+
response_serializer=api_dot_v1_dot_ip__pb2.IPServiceListResponse.SerializeToString,
|
|
106
|
+
),
|
|
107
|
+
'Delete': grpc.unary_unary_rpc_method_handler(
|
|
108
|
+
servicer.Delete,
|
|
109
|
+
request_deserializer=api_dot_v1_dot_ip__pb2.IPServiceDeleteRequest.FromString,
|
|
110
|
+
response_serializer=api_dot_v1_dot_ip__pb2.IPServiceDeleteResponse.SerializeToString,
|
|
111
|
+
),
|
|
112
|
+
}
|
|
113
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
114
|
+
'api.v1.IPService', rpc_method_handlers)
|
|
115
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
116
|
+
server.add_registered_method_handlers('api.v1.IPService', rpc_method_handlers)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
# This class is part of an EXPERIMENTAL API.
|
|
120
|
+
class IPService(object):
|
|
121
|
+
"""IPService serves ip address related functions
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
@staticmethod
|
|
125
|
+
def Get(request,
|
|
126
|
+
target,
|
|
127
|
+
options=(),
|
|
128
|
+
channel_credentials=None,
|
|
129
|
+
call_credentials=None,
|
|
130
|
+
insecure=False,
|
|
131
|
+
compression=None,
|
|
132
|
+
wait_for_ready=None,
|
|
133
|
+
timeout=None,
|
|
134
|
+
metadata=None):
|
|
135
|
+
return grpc.experimental.unary_unary(
|
|
136
|
+
request,
|
|
137
|
+
target,
|
|
138
|
+
'/api.v1.IPService/Get',
|
|
139
|
+
api_dot_v1_dot_ip__pb2.IPServiceGetRequest.SerializeToString,
|
|
140
|
+
api_dot_v1_dot_ip__pb2.IPServiceGetResponse.FromString,
|
|
141
|
+
options,
|
|
142
|
+
channel_credentials,
|
|
143
|
+
insecure,
|
|
144
|
+
call_credentials,
|
|
145
|
+
compression,
|
|
146
|
+
wait_for_ready,
|
|
147
|
+
timeout,
|
|
148
|
+
metadata,
|
|
149
|
+
_registered_method=True)
|
|
150
|
+
|
|
151
|
+
@staticmethod
|
|
152
|
+
def Allocate(request,
|
|
153
|
+
target,
|
|
154
|
+
options=(),
|
|
155
|
+
channel_credentials=None,
|
|
156
|
+
call_credentials=None,
|
|
157
|
+
insecure=False,
|
|
158
|
+
compression=None,
|
|
159
|
+
wait_for_ready=None,
|
|
160
|
+
timeout=None,
|
|
161
|
+
metadata=None):
|
|
162
|
+
return grpc.experimental.unary_unary(
|
|
163
|
+
request,
|
|
164
|
+
target,
|
|
165
|
+
'/api.v1.IPService/Allocate',
|
|
166
|
+
api_dot_v1_dot_ip__pb2.IPServiceAllocateRequest.SerializeToString,
|
|
167
|
+
api_dot_v1_dot_ip__pb2.IPServiceAllocateResponse.FromString,
|
|
168
|
+
options,
|
|
169
|
+
channel_credentials,
|
|
170
|
+
insecure,
|
|
171
|
+
call_credentials,
|
|
172
|
+
compression,
|
|
173
|
+
wait_for_ready,
|
|
174
|
+
timeout,
|
|
175
|
+
metadata,
|
|
176
|
+
_registered_method=True)
|
|
177
|
+
|
|
178
|
+
@staticmethod
|
|
179
|
+
def Update(request,
|
|
180
|
+
target,
|
|
181
|
+
options=(),
|
|
182
|
+
channel_credentials=None,
|
|
183
|
+
call_credentials=None,
|
|
184
|
+
insecure=False,
|
|
185
|
+
compression=None,
|
|
186
|
+
wait_for_ready=None,
|
|
187
|
+
timeout=None,
|
|
188
|
+
metadata=None):
|
|
189
|
+
return grpc.experimental.unary_unary(
|
|
190
|
+
request,
|
|
191
|
+
target,
|
|
192
|
+
'/api.v1.IPService/Update',
|
|
193
|
+
api_dot_v1_dot_ip__pb2.IPServiceUpdateRequest.SerializeToString,
|
|
194
|
+
api_dot_v1_dot_ip__pb2.IPServiceUpdateResponse.FromString,
|
|
195
|
+
options,
|
|
196
|
+
channel_credentials,
|
|
197
|
+
insecure,
|
|
198
|
+
call_credentials,
|
|
199
|
+
compression,
|
|
200
|
+
wait_for_ready,
|
|
201
|
+
timeout,
|
|
202
|
+
metadata,
|
|
203
|
+
_registered_method=True)
|
|
204
|
+
|
|
205
|
+
@staticmethod
|
|
206
|
+
def List(request,
|
|
207
|
+
target,
|
|
208
|
+
options=(),
|
|
209
|
+
channel_credentials=None,
|
|
210
|
+
call_credentials=None,
|
|
211
|
+
insecure=False,
|
|
212
|
+
compression=None,
|
|
213
|
+
wait_for_ready=None,
|
|
214
|
+
timeout=None,
|
|
215
|
+
metadata=None):
|
|
216
|
+
return grpc.experimental.unary_unary(
|
|
217
|
+
request,
|
|
218
|
+
target,
|
|
219
|
+
'/api.v1.IPService/List',
|
|
220
|
+
api_dot_v1_dot_ip__pb2.IPServiceListRequest.SerializeToString,
|
|
221
|
+
api_dot_v1_dot_ip__pb2.IPServiceListResponse.FromString,
|
|
222
|
+
options,
|
|
223
|
+
channel_credentials,
|
|
224
|
+
insecure,
|
|
225
|
+
call_credentials,
|
|
226
|
+
compression,
|
|
227
|
+
wait_for_ready,
|
|
228
|
+
timeout,
|
|
229
|
+
metadata,
|
|
230
|
+
_registered_method=True)
|
|
231
|
+
|
|
232
|
+
@staticmethod
|
|
233
|
+
def Delete(request,
|
|
234
|
+
target,
|
|
235
|
+
options=(),
|
|
236
|
+
channel_credentials=None,
|
|
237
|
+
call_credentials=None,
|
|
238
|
+
insecure=False,
|
|
239
|
+
compression=None,
|
|
240
|
+
wait_for_ready=None,
|
|
241
|
+
timeout=None,
|
|
242
|
+
metadata=None):
|
|
243
|
+
return grpc.experimental.unary_unary(
|
|
244
|
+
request,
|
|
245
|
+
target,
|
|
246
|
+
'/api.v1.IPService/Delete',
|
|
247
|
+
api_dot_v1_dot_ip__pb2.IPServiceDeleteRequest.SerializeToString,
|
|
248
|
+
api_dot_v1_dot_ip__pb2.IPServiceDeleteResponse.FromString,
|
|
249
|
+
options,
|
|
250
|
+
channel_credentials,
|
|
251
|
+
insecure,
|
|
252
|
+
call_credentials,
|
|
253
|
+
compression,
|
|
254
|
+
wait_for_ready,
|
|
255
|
+
timeout,
|
|
256
|
+
metadata,
|
|
257
|
+
_registered_method=True)
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by https://github.com/i2y/connecpy/protoc-gen-connecpy. DO NOT EDIT!
|
|
3
|
+
# source: api/v1/method.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.api.v1.method_pb2 as api_dot_v1_dot_method__pb2
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class MethodService(Protocol):
|
|
18
|
+
async def List(self, req: api_dot_v1_dot_method__pb2.MethodServiceListRequest, ctx: ServiceContext) -> api_dot_v1_dot_method__pb2.MethodServiceListResponse: ...
|
|
19
|
+
async def TokenScopedList(self, req: api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest, ctx: ServiceContext) -> api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse: ...
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class MethodServiceServer(ConnecpyServer):
|
|
23
|
+
def __init__(self, *, service: MethodService, server_path_prefix=""):
|
|
24
|
+
super().__init__()
|
|
25
|
+
self._prefix = f"{server_path_prefix}/api.v1.MethodService"
|
|
26
|
+
self._endpoints = {
|
|
27
|
+
"List": Endpoint[api_dot_v1_dot_method__pb2.MethodServiceListRequest, api_dot_v1_dot_method__pb2.MethodServiceListResponse](
|
|
28
|
+
service_name="MethodService",
|
|
29
|
+
name="List",
|
|
30
|
+
function=getattr(service, "List"),
|
|
31
|
+
input=api_dot_v1_dot_method__pb2.MethodServiceListRequest,
|
|
32
|
+
output=api_dot_v1_dot_method__pb2.MethodServiceListResponse,
|
|
33
|
+
allowed_methods=("POST",),
|
|
34
|
+
),
|
|
35
|
+
"TokenScopedList": Endpoint[api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest, api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse](
|
|
36
|
+
service_name="MethodService",
|
|
37
|
+
name="TokenScopedList",
|
|
38
|
+
function=getattr(service, "TokenScopedList"),
|
|
39
|
+
input=api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest,
|
|
40
|
+
output=api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse,
|
|
41
|
+
allowed_methods=("POST",),
|
|
42
|
+
),
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
def serviceName(self):
|
|
46
|
+
return "api.v1.MethodService"
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class MethodServiceSync(Protocol):
|
|
50
|
+
def List(self, req: api_dot_v1_dot_method__pb2.MethodServiceListRequest, ctx: ServiceContext) -> api_dot_v1_dot_method__pb2.MethodServiceListResponse: ...
|
|
51
|
+
def TokenScopedList(self, req: api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest, ctx: ServiceContext) -> api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse: ...
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class MethodServiceServerSync(ConnecpyServer):
|
|
55
|
+
def __init__(self, *, service: MethodServiceSync, server_path_prefix=""):
|
|
56
|
+
super().__init__()
|
|
57
|
+
self._prefix = f"{server_path_prefix}/api.v1.MethodService"
|
|
58
|
+
self._endpoints = {
|
|
59
|
+
"List": Endpoint[api_dot_v1_dot_method__pb2.MethodServiceListRequest, api_dot_v1_dot_method__pb2.MethodServiceListResponse](
|
|
60
|
+
service_name="MethodService",
|
|
61
|
+
name="List",
|
|
62
|
+
function=getattr(service, "List"),
|
|
63
|
+
input=api_dot_v1_dot_method__pb2.MethodServiceListRequest,
|
|
64
|
+
output=api_dot_v1_dot_method__pb2.MethodServiceListResponse,
|
|
65
|
+
allowed_methods=("POST",),
|
|
66
|
+
),
|
|
67
|
+
"TokenScopedList": Endpoint[api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest, api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse](
|
|
68
|
+
service_name="MethodService",
|
|
69
|
+
name="TokenScopedList",
|
|
70
|
+
function=getattr(service, "TokenScopedList"),
|
|
71
|
+
input=api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest,
|
|
72
|
+
output=api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse,
|
|
73
|
+
allowed_methods=("POST",),
|
|
74
|
+
),
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
def serviceName(self):
|
|
78
|
+
return "api.v1.MethodService"
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class MethodServiceClient(ConnecpyClient):
|
|
82
|
+
def List(
|
|
83
|
+
self,
|
|
84
|
+
request: api_dot_v1_dot_method__pb2.MethodServiceListRequest,
|
|
85
|
+
*,
|
|
86
|
+
ctx: Optional[ClientContext] = None,
|
|
87
|
+
server_path_prefix: str = "",
|
|
88
|
+
**kwargs,
|
|
89
|
+
) -> api_dot_v1_dot_method__pb2.MethodServiceListResponse:
|
|
90
|
+
method = "POST"
|
|
91
|
+
return self._make_request(
|
|
92
|
+
url=f"{server_path_prefix}/api.v1.MethodService/List",
|
|
93
|
+
ctx=ctx,
|
|
94
|
+
request=request,
|
|
95
|
+
response_class=api_dot_v1_dot_method__pb2.MethodServiceListResponse,
|
|
96
|
+
method=method,
|
|
97
|
+
**kwargs,
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
def TokenScopedList(
|
|
101
|
+
self,
|
|
102
|
+
request: api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest,
|
|
103
|
+
*,
|
|
104
|
+
ctx: Optional[ClientContext] = None,
|
|
105
|
+
server_path_prefix: str = "",
|
|
106
|
+
**kwargs,
|
|
107
|
+
) -> api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse:
|
|
108
|
+
method = "POST"
|
|
109
|
+
return self._make_request(
|
|
110
|
+
url=f"{server_path_prefix}/api.v1.MethodService/TokenScopedList",
|
|
111
|
+
ctx=ctx,
|
|
112
|
+
request=request,
|
|
113
|
+
response_class=api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse,
|
|
114
|
+
method=method,
|
|
115
|
+
**kwargs,
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class AsyncMethodServiceClient(AsyncConnecpyClient):
|
|
120
|
+
async def List(
|
|
121
|
+
self,
|
|
122
|
+
request: api_dot_v1_dot_method__pb2.MethodServiceListRequest,
|
|
123
|
+
*,
|
|
124
|
+
ctx: Optional[ClientContext] = None,
|
|
125
|
+
server_path_prefix: str = "",
|
|
126
|
+
session: Union[httpx.AsyncClient, None] = None,
|
|
127
|
+
**kwargs,
|
|
128
|
+
) -> api_dot_v1_dot_method__pb2.MethodServiceListResponse:
|
|
129
|
+
method = "POST"
|
|
130
|
+
return await self._make_request(
|
|
131
|
+
url=f"{server_path_prefix}/api.v1.MethodService/List",
|
|
132
|
+
ctx=ctx,
|
|
133
|
+
request=request,
|
|
134
|
+
response_class=api_dot_v1_dot_method__pb2.MethodServiceListResponse,
|
|
135
|
+
method=method,
|
|
136
|
+
session=session,
|
|
137
|
+
**kwargs,
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
async def TokenScopedList(
|
|
141
|
+
self,
|
|
142
|
+
request: api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListRequest,
|
|
143
|
+
*,
|
|
144
|
+
ctx: Optional[ClientContext] = None,
|
|
145
|
+
server_path_prefix: str = "",
|
|
146
|
+
session: Union[httpx.AsyncClient, None] = None,
|
|
147
|
+
**kwargs,
|
|
148
|
+
) -> api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse:
|
|
149
|
+
method = "POST"
|
|
150
|
+
return await self._make_request(
|
|
151
|
+
url=f"{server_path_prefix}/api.v1.MethodService/TokenScopedList",
|
|
152
|
+
ctx=ctx,
|
|
153
|
+
request=request,
|
|
154
|
+
response_class=api_dot_v1_dot_method__pb2.MethodServiceTokenScopedListResponse,
|
|
155
|
+
method=method,
|
|
156
|
+
session=session,
|
|
157
|
+
**kwargs,
|
|
158
|
+
)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: api/v1/method.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
|
+
'api/v1/method.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 token_pb2 as api_dot_v1_dot_token__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\x13\x61pi/v1/method.proto\x12\x06\x61pi.v1\x1a\x13\x61pi/v1/common.proto\x1a\x12\x61pi/v1/token.proto\x1a\x1b\x62uf/validate/validate.proto\"\x1a\n\x18MethodServiceListRequest\"5\n\x19MethodServiceListResponse\x12\x18\n\x07methods\x18\x01 \x03(\tR\x07methods\"%\n#MethodServiceTokenScopedListRequest\"\xb0\x04\n$MethodServiceTokenScopedListResponse\x12:\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x18.api.v1.MethodPermissionR\x0bpermissions\x12\x63\n\rproject_roles\x18\x03 \x03(\x0b\x32>.api.v1.MethodServiceTokenScopedListResponse.ProjectRolesEntryR\x0cprojectRoles\x12`\n\x0ctenant_roles\x18\x04 \x03(\x0b\x32=.api.v1.MethodServiceTokenScopedListResponse.TenantRolesEntryR\x0btenantRoles\x12?\n\nadmin_role\x18\x05 \x01(\x0e\x32\x11.api.v1.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\tadminRole\x88\x01\x01\x1aT\n\x11ProjectRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12)\n\x05value\x18\x02 \x01(\x0e\x32\x13.api.v1.ProjectRoleR\x05value:\x02\x38\x01\x1aR\n\x10TenantRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12(\n\x05value\x18\x02 \x01(\x0e\x32\x12.api.v1.TenantRoleR\x05value:\x02\x38\x01\x42\r\n\x0b_admin_roleJ\x04\x08\x02\x10\x03R\x05roles2\xd6\x01\n\rMethodService\x12Q\n\x04List\x12 .api.v1.MethodServiceListRequest\x1a!.api.v1.MethodServiceListResponse\"\x04\xd8\xf3\x18\x01\x12r\n\x0fTokenScopedList\x12+.api.v1.MethodServiceTokenScopedListRequest\x1a,.api.v1.MethodServiceTokenScopedListResponse\"\x04\xd8\xf3\x18\x03\x42\x84\x01\n\ncom.api.v1B\x0bMethodProtoP\x01Z0github.com/metal-stack-cloud/api/go/api/v1;apiv1\xa2\x02\x03\x41XX\xaa\x02\x06\x41pi.V1\xca\x02\x06\x41pi\\V1\xe2\x02\x12\x41pi\\V1\\GPBMetadata\xea\x02\x07\x41pi::V1b\x06proto3')
|
|
31
|
+
|
|
32
|
+
_globals = globals()
|
|
33
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
34
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api.v1.method_pb2', _globals)
|
|
35
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
36
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
37
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\ncom.api.v1B\013MethodProtoP\001Z0github.com/metal-stack-cloud/api/go/api/v1;apiv1\242\002\003AXX\252\002\006Api.V1\312\002\006Api\\V1\342\002\022Api\\V1\\GPBMetadata\352\002\007Api::V1'
|
|
38
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_PROJECTROLESENTRY']._loaded_options = None
|
|
39
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_PROJECTROLESENTRY']._serialized_options = b'8\001'
|
|
40
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_TENANTROLESENTRY']._loaded_options = None
|
|
41
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_TENANTROLESENTRY']._serialized_options = b'8\001'
|
|
42
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE'].fields_by_name['admin_role']._loaded_options = None
|
|
43
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE'].fields_by_name['admin_role']._serialized_options = b'\272H\005\202\001\002\020\001'
|
|
44
|
+
_globals['_METHODSERVICE'].methods_by_name['List']._loaded_options = None
|
|
45
|
+
_globals['_METHODSERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\001'
|
|
46
|
+
_globals['_METHODSERVICE'].methods_by_name['TokenScopedList']._loaded_options = None
|
|
47
|
+
_globals['_METHODSERVICE'].methods_by_name['TokenScopedList']._serialized_options = b'\330\363\030\003'
|
|
48
|
+
_globals['_METHODSERVICELISTREQUEST']._serialized_start=101
|
|
49
|
+
_globals['_METHODSERVICELISTREQUEST']._serialized_end=127
|
|
50
|
+
_globals['_METHODSERVICELISTRESPONSE']._serialized_start=129
|
|
51
|
+
_globals['_METHODSERVICELISTRESPONSE']._serialized_end=182
|
|
52
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTREQUEST']._serialized_start=184
|
|
53
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTREQUEST']._serialized_end=221
|
|
54
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE']._serialized_start=224
|
|
55
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE']._serialized_end=784
|
|
56
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_PROJECTROLESENTRY']._serialized_start=588
|
|
57
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_PROJECTROLESENTRY']._serialized_end=672
|
|
58
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_TENANTROLESENTRY']._serialized_start=674
|
|
59
|
+
_globals['_METHODSERVICETOKENSCOPEDLISTRESPONSE_TENANTROLESENTRY']._serialized_end=756
|
|
60
|
+
_globals['_METHODSERVICE']._serialized_start=787
|
|
61
|
+
_globals['_METHODSERVICE']._serialized_end=1001
|
|
62
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
from api.v1 import common_pb2 as _common_pb2
|
|
2
|
+
from api.v1 import token_pb2 as _token_pb2
|
|
3
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
4
|
+
from google.protobuf.internal import containers as _containers
|
|
5
|
+
from google.protobuf import descriptor as _descriptor
|
|
6
|
+
from google.protobuf import message as _message
|
|
7
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
8
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
9
|
+
|
|
10
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
11
|
+
|
|
12
|
+
class MethodServiceListRequest(_message.Message):
|
|
13
|
+
__slots__ = ()
|
|
14
|
+
def __init__(self) -> None: ...
|
|
15
|
+
|
|
16
|
+
class MethodServiceListResponse(_message.Message):
|
|
17
|
+
__slots__ = ("methods",)
|
|
18
|
+
METHODS_FIELD_NUMBER: _ClassVar[int]
|
|
19
|
+
methods: _containers.RepeatedScalarFieldContainer[str]
|
|
20
|
+
def __init__(self, methods: _Optional[_Iterable[str]] = ...) -> None: ...
|
|
21
|
+
|
|
22
|
+
class MethodServiceTokenScopedListRequest(_message.Message):
|
|
23
|
+
__slots__ = ()
|
|
24
|
+
def __init__(self) -> None: ...
|
|
25
|
+
|
|
26
|
+
class MethodServiceTokenScopedListResponse(_message.Message):
|
|
27
|
+
__slots__ = ("permissions", "project_roles", "tenant_roles", "admin_role")
|
|
28
|
+
class ProjectRolesEntry(_message.Message):
|
|
29
|
+
__slots__ = ("key", "value")
|
|
30
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
31
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
32
|
+
key: str
|
|
33
|
+
value: _common_pb2.ProjectRole
|
|
34
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ...
|
|
35
|
+
class TenantRolesEntry(_message.Message):
|
|
36
|
+
__slots__ = ("key", "value")
|
|
37
|
+
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
38
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
39
|
+
key: str
|
|
40
|
+
value: _common_pb2.TenantRole
|
|
41
|
+
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ...
|
|
42
|
+
PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
|
|
43
|
+
PROJECT_ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
44
|
+
TENANT_ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
45
|
+
ADMIN_ROLE_FIELD_NUMBER: _ClassVar[int]
|
|
46
|
+
permissions: _containers.RepeatedCompositeFieldContainer[_token_pb2.MethodPermission]
|
|
47
|
+
project_roles: _containers.ScalarMap[str, _common_pb2.ProjectRole]
|
|
48
|
+
tenant_roles: _containers.ScalarMap[str, _common_pb2.TenantRole]
|
|
49
|
+
admin_role: _common_pb2.AdminRole
|
|
50
|
+
def __init__(self, permissions: _Optional[_Iterable[_Union[_token_pb2.MethodPermission, _Mapping]]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ...) -> None: ...
|