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.
Files changed (111) hide show
  1. buf/__init__.py +0 -0
  2. buf/validate/__init__.py +0 -0
  3. buf/validate/validate_pb2.py +450 -0
  4. buf/validate/validate_pb2.pyi +631 -0
  5. buf/validate/validate_pb2_grpc.py +4 -0
  6. metalstack_cloud-0.15.2.dist-info/METADATA +26 -0
  7. metalstack_cloud-0.15.2.dist-info/RECORD +111 -0
  8. metalstack_cloud-0.15.2.dist-info/WHEEL +5 -0
  9. metalstack_cloud-0.15.2.dist-info/top_level.txt +2 -0
  10. metalstackcloud/__init__.py +0 -0
  11. metalstackcloud/admin/__init__.py +0 -0
  12. metalstackcloud/admin/v1/__init__.py +0 -0
  13. metalstackcloud/admin/v1/cluster_connecpy.py +214 -0
  14. metalstackcloud/admin/v1/cluster_pb2.py +70 -0
  15. metalstackcloud/admin/v1/cluster_pb2.pyi +93 -0
  16. metalstackcloud/admin/v1/cluster_pb2_grpc.py +169 -0
  17. metalstackcloud/admin/v1/machine_pb2.py +42 -0
  18. metalstackcloud/admin/v1/machine_pb2.pyi +76 -0
  19. metalstackcloud/admin/v1/machine_pb2_grpc.py +4 -0
  20. metalstackcloud/admin/v1/payment_connecpy.py +158 -0
  21. metalstackcloud/admin/v1/payment_pb2.py +51 -0
  22. metalstackcloud/admin/v1/payment_pb2.pyi +33 -0
  23. metalstackcloud/admin/v1/payment_pb2_grpc.py +125 -0
  24. metalstackcloud/admin/v1/project_connecpy.py +102 -0
  25. metalstackcloud/admin/v1/project_pb2.py +49 -0
  26. metalstackcloud/admin/v1/project_pb2.pyi +34 -0
  27. metalstackcloud/admin/v1/project_pb2_grpc.py +81 -0
  28. metalstackcloud/admin/v1/storage_connecpy.py +214 -0
  29. metalstackcloud/admin/v1/storage_pb2.py +75 -0
  30. metalstackcloud/admin/v1/storage_pb2.pyi +149 -0
  31. metalstackcloud/admin/v1/storage_pb2_grpc.py +169 -0
  32. metalstackcloud/admin/v1/tenant_connecpy.py +270 -0
  33. metalstackcloud/admin/v1/tenant_pb2.py +66 -0
  34. metalstackcloud/admin/v1/tenant_pb2.pyi +72 -0
  35. metalstackcloud/admin/v1/tenant_pb2_grpc.py +213 -0
  36. metalstackcloud/admin/v1/token_connecpy.py +158 -0
  37. metalstackcloud/admin/v1/token_pb2.py +56 -0
  38. metalstackcloud/admin/v1/token_pb2.pyi +34 -0
  39. metalstackcloud/admin/v1/token_pb2_grpc.py +125 -0
  40. metalstackcloud/api/__init__.py +0 -0
  41. metalstackcloud/api/v1/__init__.py +0 -0
  42. metalstackcloud/api/v1/asset_connecpy.py +102 -0
  43. metalstackcloud/api/v1/asset_pb2.py +76 -0
  44. metalstackcloud/api/v1/asset_pb2.pyi +132 -0
  45. metalstackcloud/api/v1/asset_pb2_grpc.py +81 -0
  46. metalstackcloud/api/v1/audit_connecpy.py +158 -0
  47. metalstackcloud/api/v1/audit_pb2.py +84 -0
  48. metalstackcloud/api/v1/audit_pb2.pyi +95 -0
  49. metalstackcloud/api/v1/audit_pb2_grpc.py +125 -0
  50. metalstackcloud/api/v1/cluster_connecpy.py +494 -0
  51. metalstackcloud/api/v1/cluster_pb2.py +183 -0
  52. metalstackcloud/api/v1/cluster_pb2.pyi +311 -0
  53. metalstackcloud/api/v1/cluster_pb2_grpc.py +389 -0
  54. metalstackcloud/api/v1/common_pb2.py +52 -0
  55. metalstackcloud/api/v1/common_pb2.pyi +98 -0
  56. metalstackcloud/api/v1/common_pb2_grpc.py +4 -0
  57. metalstackcloud/api/v1/health_connecpy.py +102 -0
  58. metalstackcloud/api/v1/health_pb2.py +58 -0
  59. metalstackcloud/api/v1/health_pb2.pyi +74 -0
  60. metalstackcloud/api/v1/health_pb2_grpc.py +81 -0
  61. metalstackcloud/api/v1/ip_connecpy.py +326 -0
  62. metalstackcloud/api/v1/ip_pb2.py +110 -0
  63. metalstackcloud/api/v1/ip_pb2.pyi +122 -0
  64. metalstackcloud/api/v1/ip_pb2_grpc.py +257 -0
  65. metalstackcloud/api/v1/method_connecpy.py +158 -0
  66. metalstackcloud/api/v1/method_pb2.py +62 -0
  67. metalstackcloud/api/v1/method_pb2.pyi +50 -0
  68. metalstackcloud/api/v1/method_pb2_grpc.py +128 -0
  69. metalstackcloud/api/v1/payment_connecpy.py +550 -0
  70. metalstackcloud/api/v1/payment_pb2.py +134 -0
  71. metalstackcloud/api/v1/payment_pb2.pyi +291 -0
  72. metalstackcloud/api/v1/payment_pb2_grpc.py +433 -0
  73. metalstackcloud/api/v1/project_connecpy.py +718 -0
  74. metalstackcloud/api/v1/project_pb2.py +156 -0
  75. metalstackcloud/api/v1/project_pb2.pyi +234 -0
  76. metalstackcloud/api/v1/project_pb2_grpc.py +565 -0
  77. metalstackcloud/api/v1/snapshot_connecpy.py +214 -0
  78. metalstackcloud/api/v1/snapshot_pb2.py +75 -0
  79. metalstackcloud/api/v1/snapshot_pb2.pyi +109 -0
  80. metalstackcloud/api/v1/snapshot_pb2_grpc.py +169 -0
  81. metalstackcloud/api/v1/tenant_connecpy.py +774 -0
  82. metalstackcloud/api/v1/tenant_pb2.py +159 -0
  83. metalstackcloud/api/v1/tenant_pb2.pyi +305 -0
  84. metalstackcloud/api/v1/tenant_pb2_grpc.py +609 -0
  85. metalstackcloud/api/v1/token_connecpy.py +326 -0
  86. metalstackcloud/api/v1/token_pb2.py +131 -0
  87. metalstackcloud/api/v1/token_pb2.pyi +175 -0
  88. metalstackcloud/api/v1/token_pb2_grpc.py +257 -0
  89. metalstackcloud/api/v1/user_connecpy.py +102 -0
  90. metalstackcloud/api/v1/user_pb2.py +48 -0
  91. metalstackcloud/api/v1/user_pb2.pyi +42 -0
  92. metalstackcloud/api/v1/user_pb2_grpc.py +81 -0
  93. metalstackcloud/api/v1/version_connecpy.py +102 -0
  94. metalstackcloud/api/v1/version_pb2.py +46 -0
  95. metalstackcloud/api/v1/version_pb2.pyi +29 -0
  96. metalstackcloud/api/v1/version_pb2_grpc.py +81 -0
  97. metalstackcloud/api/v1/volume_connecpy.py +270 -0
  98. metalstackcloud/api/v1/volume_pb2.py +91 -0
  99. metalstackcloud/api/v1/volume_pb2.pyi +165 -0
  100. metalstackcloud/api/v1/volume_pb2_grpc.py +213 -0
  101. metalstackcloud/client.py +139 -0
  102. metalstackcloud/status/__init__.py +0 -0
  103. metalstackcloud/status/v1/__init__.py +0 -0
  104. metalstackcloud/status/v1/message_connecpy.py +102 -0
  105. metalstackcloud/status/v1/message_pb2.py +51 -0
  106. metalstackcloud/status/v1/message_pb2.pyi +65 -0
  107. metalstackcloud/status/v1/message_pb2_grpc.py +84 -0
  108. metalstackcloud/status/v1/status_connecpy.py +102 -0
  109. metalstackcloud/status/v1/status_pb2.py +45 -0
  110. metalstackcloud/status/v1/status_pb2.pyi +24 -0
  111. metalstackcloud/status/v1/status_pb2_grpc.py +84 -0
@@ -0,0 +1,72 @@
1
+ from api.v1 import common_pb2 as _common_pb2
2
+ from api.v1 import tenant_pb2 as _tenant_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 TenantServiceListRequest(_message.Message):
13
+ __slots__ = ("tenant", "name", "email", "oauth_provider", "admitted", "paging")
14
+ TENANT_FIELD_NUMBER: _ClassVar[int]
15
+ NAME_FIELD_NUMBER: _ClassVar[int]
16
+ EMAIL_FIELD_NUMBER: _ClassVar[int]
17
+ OAUTH_PROVIDER_FIELD_NUMBER: _ClassVar[int]
18
+ ADMITTED_FIELD_NUMBER: _ClassVar[int]
19
+ PAGING_FIELD_NUMBER: _ClassVar[int]
20
+ tenant: str
21
+ name: str
22
+ email: str
23
+ oauth_provider: _common_pb2.OAuthProvider
24
+ admitted: bool
25
+ paging: _common_pb2.Paging
26
+ def __init__(self, tenant: _Optional[str] = ..., name: _Optional[str] = ..., email: _Optional[str] = ..., oauth_provider: _Optional[_Union[_common_pb2.OAuthProvider, str]] = ..., admitted: bool = ..., paging: _Optional[_Union[_common_pb2.Paging, _Mapping]] = ...) -> None: ...
27
+
28
+ class TenantServiceListResponse(_message.Message):
29
+ __slots__ = ("tenants", "next_page")
30
+ TENANTS_FIELD_NUMBER: _ClassVar[int]
31
+ NEXT_PAGE_FIELD_NUMBER: _ClassVar[int]
32
+ tenants: _containers.RepeatedCompositeFieldContainer[_tenant_pb2.Tenant]
33
+ next_page: int
34
+ def __init__(self, tenants: _Optional[_Iterable[_Union[_tenant_pb2.Tenant, _Mapping]]] = ..., next_page: _Optional[int] = ...) -> None: ...
35
+
36
+ class TenantServiceAdmitRequest(_message.Message):
37
+ __slots__ = ("tenant_id",)
38
+ TENANT_ID_FIELD_NUMBER: _ClassVar[int]
39
+ tenant_id: str
40
+ def __init__(self, tenant_id: _Optional[str] = ...) -> None: ...
41
+
42
+ class TenantServiceAdmitResponse(_message.Message):
43
+ __slots__ = ("tenant",)
44
+ TENANT_FIELD_NUMBER: _ClassVar[int]
45
+ tenant: _tenant_pb2.Tenant
46
+ def __init__(self, tenant: _Optional[_Union[_tenant_pb2.Tenant, _Mapping]] = ...) -> None: ...
47
+
48
+ class TenantServiceRevokeRequest(_message.Message):
49
+ __slots__ = ("tenant_id",)
50
+ TENANT_ID_FIELD_NUMBER: _ClassVar[int]
51
+ tenant_id: str
52
+ def __init__(self, tenant_id: _Optional[str] = ...) -> None: ...
53
+
54
+ class TenantServiceRevokeResponse(_message.Message):
55
+ __slots__ = ("tenant",)
56
+ TENANT_FIELD_NUMBER: _ClassVar[int]
57
+ tenant: _tenant_pb2.Tenant
58
+ def __init__(self, tenant: _Optional[_Union[_tenant_pb2.Tenant, _Mapping]] = ...) -> None: ...
59
+
60
+ class TenantServiceAddMemberRequest(_message.Message):
61
+ __slots__ = ("tenant_id", "member_id", "role")
62
+ TENANT_ID_FIELD_NUMBER: _ClassVar[int]
63
+ MEMBER_ID_FIELD_NUMBER: _ClassVar[int]
64
+ ROLE_FIELD_NUMBER: _ClassVar[int]
65
+ tenant_id: str
66
+ member_id: str
67
+ role: _common_pb2.TenantRole
68
+ def __init__(self, tenant_id: _Optional[str] = ..., member_id: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ...
69
+
70
+ class TenantServiceAddMemberResponse(_message.Message):
71
+ __slots__ = ()
72
+ def __init__(self) -> None: ...
@@ -0,0 +1,213 @@
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 tenant_pb2 as admin_dot_v1_dot_tenant__pb2
6
+
7
+
8
+ class TenantServiceStub(object):
9
+ """TenantService serves tenant related functions
10
+ """
11
+
12
+ def __init__(self, channel):
13
+ """Constructor.
14
+
15
+ Args:
16
+ channel: A grpc.Channel.
17
+ """
18
+ self.List = channel.unary_unary(
19
+ '/admin.v1.TenantService/List',
20
+ request_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest.SerializeToString,
21
+ response_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse.FromString,
22
+ _registered_method=True)
23
+ self.Admit = channel.unary_unary(
24
+ '/admin.v1.TenantService/Admit',
25
+ request_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest.SerializeToString,
26
+ response_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse.FromString,
27
+ _registered_method=True)
28
+ self.Revoke = channel.unary_unary(
29
+ '/admin.v1.TenantService/Revoke',
30
+ request_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest.SerializeToString,
31
+ response_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse.FromString,
32
+ _registered_method=True)
33
+ self.AddMember = channel.unary_unary(
34
+ '/admin.v1.TenantService/AddMember',
35
+ request_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest.SerializeToString,
36
+ response_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse.FromString,
37
+ _registered_method=True)
38
+
39
+
40
+ class TenantServiceServicer(object):
41
+ """TenantService serves tenant related functions
42
+ """
43
+
44
+ def List(self, request, context):
45
+ """List tenants
46
+ """
47
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
48
+ context.set_details('Method not implemented!')
49
+ raise NotImplementedError('Method not implemented!')
50
+
51
+ def Admit(self, request, context):
52
+ """Admit a tenant
53
+ """
54
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
55
+ context.set_details('Method not implemented!')
56
+ raise NotImplementedError('Method not implemented!')
57
+
58
+ def Revoke(self, request, context):
59
+ """Revoke a tenant
60
+ """
61
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
62
+ context.set_details('Method not implemented!')
63
+ raise NotImplementedError('Method not implemented!')
64
+
65
+ def AddMember(self, request, context):
66
+ """Add a member to a tenant
67
+ """
68
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
69
+ context.set_details('Method not implemented!')
70
+ raise NotImplementedError('Method not implemented!')
71
+
72
+
73
+ def add_TenantServiceServicer_to_server(servicer, server):
74
+ rpc_method_handlers = {
75
+ 'List': grpc.unary_unary_rpc_method_handler(
76
+ servicer.List,
77
+ request_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest.FromString,
78
+ response_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse.SerializeToString,
79
+ ),
80
+ 'Admit': grpc.unary_unary_rpc_method_handler(
81
+ servicer.Admit,
82
+ request_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest.FromString,
83
+ response_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse.SerializeToString,
84
+ ),
85
+ 'Revoke': grpc.unary_unary_rpc_method_handler(
86
+ servicer.Revoke,
87
+ request_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest.FromString,
88
+ response_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse.SerializeToString,
89
+ ),
90
+ 'AddMember': grpc.unary_unary_rpc_method_handler(
91
+ servicer.AddMember,
92
+ request_deserializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest.FromString,
93
+ response_serializer=admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse.SerializeToString,
94
+ ),
95
+ }
96
+ generic_handler = grpc.method_handlers_generic_handler(
97
+ 'admin.v1.TenantService', rpc_method_handlers)
98
+ server.add_generic_rpc_handlers((generic_handler,))
99
+ server.add_registered_method_handlers('admin.v1.TenantService', rpc_method_handlers)
100
+
101
+
102
+ # This class is part of an EXPERIMENTAL API.
103
+ class TenantService(object):
104
+ """TenantService serves tenant related functions
105
+ """
106
+
107
+ @staticmethod
108
+ def List(request,
109
+ target,
110
+ options=(),
111
+ channel_credentials=None,
112
+ call_credentials=None,
113
+ insecure=False,
114
+ compression=None,
115
+ wait_for_ready=None,
116
+ timeout=None,
117
+ metadata=None):
118
+ return grpc.experimental.unary_unary(
119
+ request,
120
+ target,
121
+ '/admin.v1.TenantService/List',
122
+ admin_dot_v1_dot_tenant__pb2.TenantServiceListRequest.SerializeToString,
123
+ admin_dot_v1_dot_tenant__pb2.TenantServiceListResponse.FromString,
124
+ options,
125
+ channel_credentials,
126
+ insecure,
127
+ call_credentials,
128
+ compression,
129
+ wait_for_ready,
130
+ timeout,
131
+ metadata,
132
+ _registered_method=True)
133
+
134
+ @staticmethod
135
+ def Admit(request,
136
+ target,
137
+ options=(),
138
+ channel_credentials=None,
139
+ call_credentials=None,
140
+ insecure=False,
141
+ compression=None,
142
+ wait_for_ready=None,
143
+ timeout=None,
144
+ metadata=None):
145
+ return grpc.experimental.unary_unary(
146
+ request,
147
+ target,
148
+ '/admin.v1.TenantService/Admit',
149
+ admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitRequest.SerializeToString,
150
+ admin_dot_v1_dot_tenant__pb2.TenantServiceAdmitResponse.FromString,
151
+ options,
152
+ channel_credentials,
153
+ insecure,
154
+ call_credentials,
155
+ compression,
156
+ wait_for_ready,
157
+ timeout,
158
+ metadata,
159
+ _registered_method=True)
160
+
161
+ @staticmethod
162
+ def Revoke(request,
163
+ target,
164
+ options=(),
165
+ channel_credentials=None,
166
+ call_credentials=None,
167
+ insecure=False,
168
+ compression=None,
169
+ wait_for_ready=None,
170
+ timeout=None,
171
+ metadata=None):
172
+ return grpc.experimental.unary_unary(
173
+ request,
174
+ target,
175
+ '/admin.v1.TenantService/Revoke',
176
+ admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeRequest.SerializeToString,
177
+ admin_dot_v1_dot_tenant__pb2.TenantServiceRevokeResponse.FromString,
178
+ options,
179
+ channel_credentials,
180
+ insecure,
181
+ call_credentials,
182
+ compression,
183
+ wait_for_ready,
184
+ timeout,
185
+ metadata,
186
+ _registered_method=True)
187
+
188
+ @staticmethod
189
+ def AddMember(request,
190
+ target,
191
+ options=(),
192
+ channel_credentials=None,
193
+ call_credentials=None,
194
+ insecure=False,
195
+ compression=None,
196
+ wait_for_ready=None,
197
+ timeout=None,
198
+ metadata=None):
199
+ return grpc.experimental.unary_unary(
200
+ request,
201
+ target,
202
+ '/admin.v1.TenantService/AddMember',
203
+ admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberRequest.SerializeToString,
204
+ admin_dot_v1_dot_tenant__pb2.TenantServiceAddMemberResponse.FromString,
205
+ options,
206
+ channel_credentials,
207
+ insecure,
208
+ call_credentials,
209
+ compression,
210
+ wait_for_ready,
211
+ timeout,
212
+ metadata,
213
+ _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: admin/v1/token.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.token_pb2 as admin_dot_v1_dot_token__pb2
15
+
16
+
17
+ class TokenService(Protocol):
18
+ async def List(self, req: admin_dot_v1_dot_token__pb2.TokenServiceListRequest, ctx: ServiceContext) -> admin_dot_v1_dot_token__pb2.TokenServiceListResponse: ...
19
+ async def Revoke(self, req: admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest, ctx: ServiceContext) -> admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse: ...
20
+
21
+
22
+ class TokenServiceServer(ConnecpyServer):
23
+ def __init__(self, *, service: TokenService, server_path_prefix=""):
24
+ super().__init__()
25
+ self._prefix = f"{server_path_prefix}/admin.v1.TokenService"
26
+ self._endpoints = {
27
+ "List": Endpoint[admin_dot_v1_dot_token__pb2.TokenServiceListRequest, admin_dot_v1_dot_token__pb2.TokenServiceListResponse](
28
+ service_name="TokenService",
29
+ name="List",
30
+ function=getattr(service, "List"),
31
+ input=admin_dot_v1_dot_token__pb2.TokenServiceListRequest,
32
+ output=admin_dot_v1_dot_token__pb2.TokenServiceListResponse,
33
+ allowed_methods=("POST",),
34
+ ),
35
+ "Revoke": Endpoint[admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest, admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse](
36
+ service_name="TokenService",
37
+ name="Revoke",
38
+ function=getattr(service, "Revoke"),
39
+ input=admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest,
40
+ output=admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse,
41
+ allowed_methods=("POST",),
42
+ ),
43
+ }
44
+
45
+ def serviceName(self):
46
+ return "admin.v1.TokenService"
47
+
48
+
49
+ class TokenServiceSync(Protocol):
50
+ def List(self, req: admin_dot_v1_dot_token__pb2.TokenServiceListRequest, ctx: ServiceContext) -> admin_dot_v1_dot_token__pb2.TokenServiceListResponse: ...
51
+ def Revoke(self, req: admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest, ctx: ServiceContext) -> admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse: ...
52
+
53
+
54
+ class TokenServiceServerSync(ConnecpyServer):
55
+ def __init__(self, *, service: TokenServiceSync, server_path_prefix=""):
56
+ super().__init__()
57
+ self._prefix = f"{server_path_prefix}/admin.v1.TokenService"
58
+ self._endpoints = {
59
+ "List": Endpoint[admin_dot_v1_dot_token__pb2.TokenServiceListRequest, admin_dot_v1_dot_token__pb2.TokenServiceListResponse](
60
+ service_name="TokenService",
61
+ name="List",
62
+ function=getattr(service, "List"),
63
+ input=admin_dot_v1_dot_token__pb2.TokenServiceListRequest,
64
+ output=admin_dot_v1_dot_token__pb2.TokenServiceListResponse,
65
+ allowed_methods=("POST",),
66
+ ),
67
+ "Revoke": Endpoint[admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest, admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse](
68
+ service_name="TokenService",
69
+ name="Revoke",
70
+ function=getattr(service, "Revoke"),
71
+ input=admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest,
72
+ output=admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse,
73
+ allowed_methods=("POST",),
74
+ ),
75
+ }
76
+
77
+ def serviceName(self):
78
+ return "admin.v1.TokenService"
79
+
80
+
81
+ class TokenServiceClient(ConnecpyClient):
82
+ def List(
83
+ self,
84
+ request: admin_dot_v1_dot_token__pb2.TokenServiceListRequest,
85
+ *,
86
+ ctx: Optional[ClientContext] = None,
87
+ server_path_prefix: str = "",
88
+ **kwargs,
89
+ ) -> admin_dot_v1_dot_token__pb2.TokenServiceListResponse:
90
+ method = "POST"
91
+ return self._make_request(
92
+ url=f"{server_path_prefix}/admin.v1.TokenService/List",
93
+ ctx=ctx,
94
+ request=request,
95
+ response_class=admin_dot_v1_dot_token__pb2.TokenServiceListResponse,
96
+ method=method,
97
+ **kwargs,
98
+ )
99
+
100
+ def Revoke(
101
+ self,
102
+ request: admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest,
103
+ *,
104
+ ctx: Optional[ClientContext] = None,
105
+ server_path_prefix: str = "",
106
+ **kwargs,
107
+ ) -> admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse:
108
+ method = "POST"
109
+ return self._make_request(
110
+ url=f"{server_path_prefix}/admin.v1.TokenService/Revoke",
111
+ ctx=ctx,
112
+ request=request,
113
+ response_class=admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse,
114
+ method=method,
115
+ **kwargs,
116
+ )
117
+
118
+
119
+ class AsyncTokenServiceClient(AsyncConnecpyClient):
120
+ async def List(
121
+ self,
122
+ request: admin_dot_v1_dot_token__pb2.TokenServiceListRequest,
123
+ *,
124
+ ctx: Optional[ClientContext] = None,
125
+ server_path_prefix: str = "",
126
+ session: Union[httpx.AsyncClient, None] = None,
127
+ **kwargs,
128
+ ) -> admin_dot_v1_dot_token__pb2.TokenServiceListResponse:
129
+ method = "POST"
130
+ return await self._make_request(
131
+ url=f"{server_path_prefix}/admin.v1.TokenService/List",
132
+ ctx=ctx,
133
+ request=request,
134
+ response_class=admin_dot_v1_dot_token__pb2.TokenServiceListResponse,
135
+ method=method,
136
+ session=session,
137
+ **kwargs,
138
+ )
139
+
140
+ async def Revoke(
141
+ self,
142
+ request: admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest,
143
+ *,
144
+ ctx: Optional[ClientContext] = None,
145
+ server_path_prefix: str = "",
146
+ session: Union[httpx.AsyncClient, None] = None,
147
+ **kwargs,
148
+ ) -> admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse:
149
+ method = "POST"
150
+ return await self._make_request(
151
+ url=f"{server_path_prefix}/admin.v1.TokenService/Revoke",
152
+ ctx=ctx,
153
+ request=request,
154
+ response_class=admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse,
155
+ method=method,
156
+ session=session,
157
+ **kwargs,
158
+ )
@@ -0,0 +1,56 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: admin/v1/token.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/token.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\x14\x61\x64min/v1/token.proto\x12\x08\x61\x64min.v1\x1a\x13\x61pi/v1/common.proto\x1a\x12\x61pi/v1/token.proto\x1a\x1b\x62uf/validate/validate.proto\"C\n\x17TokenServiceListRequest\x12\x1c\n\x07user_id\x18\x01 \x01(\tH\x00R\x06userId\x88\x01\x01\x42\n\n\x08_user_id\"A\n\x18TokenServiceListResponse\x12%\n\x06tokens\x18\x01 \x03(\x0b\x32\r.api.v1.TokenR\x06tokens\"^\n\x19TokenServiceRevokeRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12#\n\x07user_id\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x06userId\"\x1c\n\x1aTokenServiceRevokeResponse2\xc1\x01\n\x0cTokenService\x12U\n\x04List\x12!.admin.v1.TokenServiceListRequest\x1a\".admin.v1.TokenServiceListResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12Z\n\x06Revoke\x12#.admin.v1.TokenServiceRevokeRequest\x1a$.admin.v1.TokenServiceRevokeResponse\"\x05\xd2\xf3\x18\x01\x01\x42\x91\x01\n\x0c\x63om.admin.v1B\nTokenProtoP\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.token_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\nTokenProtoP\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['_TOKENSERVICEREVOKEREQUEST'].fields_by_name['uuid']._loaded_options = None
39
+ _globals['_TOKENSERVICEREVOKEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
40
+ _globals['_TOKENSERVICEREVOKEREQUEST'].fields_by_name['user_id']._loaded_options = None
41
+ _globals['_TOKENSERVICEREVOKEREQUEST'].fields_by_name['user_id']._serialized_options = b'\272H\007r\005\020\002\030\200\004'
42
+ _globals['_TOKENSERVICE'].methods_by_name['List']._loaded_options = None
43
+ _globals['_TOKENSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002'
44
+ _globals['_TOKENSERVICE'].methods_by_name['Revoke']._loaded_options = None
45
+ _globals['_TOKENSERVICE'].methods_by_name['Revoke']._serialized_options = b'\322\363\030\001\001'
46
+ _globals['_TOKENSERVICELISTREQUEST']._serialized_start=104
47
+ _globals['_TOKENSERVICELISTREQUEST']._serialized_end=171
48
+ _globals['_TOKENSERVICELISTRESPONSE']._serialized_start=173
49
+ _globals['_TOKENSERVICELISTRESPONSE']._serialized_end=238
50
+ _globals['_TOKENSERVICEREVOKEREQUEST']._serialized_start=240
51
+ _globals['_TOKENSERVICEREVOKEREQUEST']._serialized_end=334
52
+ _globals['_TOKENSERVICEREVOKERESPONSE']._serialized_start=336
53
+ _globals['_TOKENSERVICEREVOKERESPONSE']._serialized_end=364
54
+ _globals['_TOKENSERVICE']._serialized_start=367
55
+ _globals['_TOKENSERVICE']._serialized_end=560
56
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,34 @@
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 TokenServiceListRequest(_message.Message):
13
+ __slots__ = ("user_id",)
14
+ USER_ID_FIELD_NUMBER: _ClassVar[int]
15
+ user_id: str
16
+ def __init__(self, user_id: _Optional[str] = ...) -> None: ...
17
+
18
+ class TokenServiceListResponse(_message.Message):
19
+ __slots__ = ("tokens",)
20
+ TOKENS_FIELD_NUMBER: _ClassVar[int]
21
+ tokens: _containers.RepeatedCompositeFieldContainer[_token_pb2.Token]
22
+ def __init__(self, tokens: _Optional[_Iterable[_Union[_token_pb2.Token, _Mapping]]] = ...) -> None: ...
23
+
24
+ class TokenServiceRevokeRequest(_message.Message):
25
+ __slots__ = ("uuid", "user_id")
26
+ UUID_FIELD_NUMBER: _ClassVar[int]
27
+ USER_ID_FIELD_NUMBER: _ClassVar[int]
28
+ uuid: str
29
+ user_id: str
30
+ def __init__(self, uuid: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ...
31
+
32
+ class TokenServiceRevokeResponse(_message.Message):
33
+ __slots__ = ()
34
+ def __init__(self) -> None: ...
@@ -0,0 +1,125 @@
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 token_pb2 as admin_dot_v1_dot_token__pb2
6
+
7
+
8
+ class TokenServiceStub(object):
9
+ """TokenService serves token related functions
10
+ """
11
+
12
+ def __init__(self, channel):
13
+ """Constructor.
14
+
15
+ Args:
16
+ channel: A grpc.Channel.
17
+ """
18
+ self.List = channel.unary_unary(
19
+ '/admin.v1.TokenService/List',
20
+ request_serializer=admin_dot_v1_dot_token__pb2.TokenServiceListRequest.SerializeToString,
21
+ response_deserializer=admin_dot_v1_dot_token__pb2.TokenServiceListResponse.FromString,
22
+ _registered_method=True)
23
+ self.Revoke = channel.unary_unary(
24
+ '/admin.v1.TokenService/Revoke',
25
+ request_serializer=admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest.SerializeToString,
26
+ response_deserializer=admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse.FromString,
27
+ _registered_method=True)
28
+
29
+
30
+ class TokenServiceServicer(object):
31
+ """TokenService serves token related functions
32
+ """
33
+
34
+ def List(self, request, context):
35
+ """List tokens
36
+ """
37
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
38
+ context.set_details('Method not implemented!')
39
+ raise NotImplementedError('Method not implemented!')
40
+
41
+ def Revoke(self, request, context):
42
+ """Revoke a token
43
+ """
44
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
45
+ context.set_details('Method not implemented!')
46
+ raise NotImplementedError('Method not implemented!')
47
+
48
+
49
+ def add_TokenServiceServicer_to_server(servicer, server):
50
+ rpc_method_handlers = {
51
+ 'List': grpc.unary_unary_rpc_method_handler(
52
+ servicer.List,
53
+ request_deserializer=admin_dot_v1_dot_token__pb2.TokenServiceListRequest.FromString,
54
+ response_serializer=admin_dot_v1_dot_token__pb2.TokenServiceListResponse.SerializeToString,
55
+ ),
56
+ 'Revoke': grpc.unary_unary_rpc_method_handler(
57
+ servicer.Revoke,
58
+ request_deserializer=admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest.FromString,
59
+ response_serializer=admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse.SerializeToString,
60
+ ),
61
+ }
62
+ generic_handler = grpc.method_handlers_generic_handler(
63
+ 'admin.v1.TokenService', rpc_method_handlers)
64
+ server.add_generic_rpc_handlers((generic_handler,))
65
+ server.add_registered_method_handlers('admin.v1.TokenService', rpc_method_handlers)
66
+
67
+
68
+ # This class is part of an EXPERIMENTAL API.
69
+ class TokenService(object):
70
+ """TokenService serves token related functions
71
+ """
72
+
73
+ @staticmethod
74
+ def List(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(
85
+ request,
86
+ target,
87
+ '/admin.v1.TokenService/List',
88
+ admin_dot_v1_dot_token__pb2.TokenServiceListRequest.SerializeToString,
89
+ admin_dot_v1_dot_token__pb2.TokenServiceListResponse.FromString,
90
+ options,
91
+ channel_credentials,
92
+ insecure,
93
+ call_credentials,
94
+ compression,
95
+ wait_for_ready,
96
+ timeout,
97
+ metadata,
98
+ _registered_method=True)
99
+
100
+ @staticmethod
101
+ def Revoke(request,
102
+ target,
103
+ options=(),
104
+ channel_credentials=None,
105
+ call_credentials=None,
106
+ insecure=False,
107
+ compression=None,
108
+ wait_for_ready=None,
109
+ timeout=None,
110
+ metadata=None):
111
+ return grpc.experimental.unary_unary(
112
+ request,
113
+ target,
114
+ '/admin.v1.TokenService/Revoke',
115
+ admin_dot_v1_dot_token__pb2.TokenServiceRevokeRequest.SerializeToString,
116
+ admin_dot_v1_dot_token__pb2.TokenServiceRevokeResponse.FromString,
117
+ options,
118
+ channel_credentials,
119
+ insecure,
120
+ call_credentials,
121
+ compression,
122
+ wait_for_ready,
123
+ timeout,
124
+ metadata,
125
+ _registered_method=True)
File without changes
File without changes