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,29 @@
1
+ from api.v1 import common_pb2 as _common_pb2
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from collections.abc import Mapping as _Mapping
5
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+
9
+ class Version(_message.Message):
10
+ __slots__ = ("version", "revision", "git_sha1", "build_date")
11
+ VERSION_FIELD_NUMBER: _ClassVar[int]
12
+ REVISION_FIELD_NUMBER: _ClassVar[int]
13
+ GIT_SHA1_FIELD_NUMBER: _ClassVar[int]
14
+ BUILD_DATE_FIELD_NUMBER: _ClassVar[int]
15
+ version: str
16
+ revision: str
17
+ git_sha1: str
18
+ build_date: str
19
+ def __init__(self, version: _Optional[str] = ..., revision: _Optional[str] = ..., git_sha1: _Optional[str] = ..., build_date: _Optional[str] = ...) -> None: ...
20
+
21
+ class VersionServiceGetRequest(_message.Message):
22
+ __slots__ = ()
23
+ def __init__(self) -> None: ...
24
+
25
+ class VersionServiceGetResponse(_message.Message):
26
+ __slots__ = ("version",)
27
+ VERSION_FIELD_NUMBER: _ClassVar[int]
28
+ version: Version
29
+ def __init__(self, version: _Optional[_Union[Version, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,81 @@
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 version_pb2 as api_dot_v1_dot_version__pb2
6
+
7
+
8
+ class VersionServiceStub(object):
9
+ """VersionService serves version 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.VersionService/Get',
20
+ request_serializer=api_dot_v1_dot_version__pb2.VersionServiceGetRequest.SerializeToString,
21
+ response_deserializer=api_dot_v1_dot_version__pb2.VersionServiceGetResponse.FromString,
22
+ _registered_method=True)
23
+
24
+
25
+ class VersionServiceServicer(object):
26
+ """VersionService serves version related functions
27
+ """
28
+
29
+ def Get(self, request, context):
30
+ """Get the version
31
+ """
32
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
33
+ context.set_details('Method not implemented!')
34
+ raise NotImplementedError('Method not implemented!')
35
+
36
+
37
+ def add_VersionServiceServicer_to_server(servicer, server):
38
+ rpc_method_handlers = {
39
+ 'Get': grpc.unary_unary_rpc_method_handler(
40
+ servicer.Get,
41
+ request_deserializer=api_dot_v1_dot_version__pb2.VersionServiceGetRequest.FromString,
42
+ response_serializer=api_dot_v1_dot_version__pb2.VersionServiceGetResponse.SerializeToString,
43
+ ),
44
+ }
45
+ generic_handler = grpc.method_handlers_generic_handler(
46
+ 'api.v1.VersionService', rpc_method_handlers)
47
+ server.add_generic_rpc_handlers((generic_handler,))
48
+ server.add_registered_method_handlers('api.v1.VersionService', rpc_method_handlers)
49
+
50
+
51
+ # This class is part of an EXPERIMENTAL API.
52
+ class VersionService(object):
53
+ """VersionService serves version related functions
54
+ """
55
+
56
+ @staticmethod
57
+ def Get(request,
58
+ target,
59
+ options=(),
60
+ channel_credentials=None,
61
+ call_credentials=None,
62
+ insecure=False,
63
+ compression=None,
64
+ wait_for_ready=None,
65
+ timeout=None,
66
+ metadata=None):
67
+ return grpc.experimental.unary_unary(
68
+ request,
69
+ target,
70
+ '/api.v1.VersionService/Get',
71
+ api_dot_v1_dot_version__pb2.VersionServiceGetRequest.SerializeToString,
72
+ api_dot_v1_dot_version__pb2.VersionServiceGetResponse.FromString,
73
+ options,
74
+ channel_credentials,
75
+ insecure,
76
+ call_credentials,
77
+ compression,
78
+ wait_for_ready,
79
+ timeout,
80
+ metadata,
81
+ _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: api/v1/volume.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.volume_pb2 as api_dot_v1_dot_volume__pb2
15
+
16
+
17
+ class VolumeService(Protocol):
18
+ async def Get(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse: ...
19
+ async def List(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceListRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceListResponse: ...
20
+ async def Delete(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse: ...
21
+ async def Update(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse: ...
22
+
23
+
24
+ class VolumeServiceServer(ConnecpyServer):
25
+ def __init__(self, *, service: VolumeService, server_path_prefix=""):
26
+ super().__init__()
27
+ self._prefix = f"{server_path_prefix}/api.v1.VolumeService"
28
+ self._endpoints = {
29
+ "Get": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest, api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse](
30
+ service_name="VolumeService",
31
+ name="Get",
32
+ function=getattr(service, "Get"),
33
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest,
34
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse,
35
+ allowed_methods=("POST",),
36
+ ),
37
+ "List": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceListRequest, api_dot_v1_dot_volume__pb2.VolumeServiceListResponse](
38
+ service_name="VolumeService",
39
+ name="List",
40
+ function=getattr(service, "List"),
41
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceListRequest,
42
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceListResponse,
43
+ allowed_methods=("POST",),
44
+ ),
45
+ "Delete": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest, api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse](
46
+ service_name="VolumeService",
47
+ name="Delete",
48
+ function=getattr(service, "Delete"),
49
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest,
50
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse,
51
+ allowed_methods=("POST",),
52
+ ),
53
+ "Update": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest, api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse](
54
+ service_name="VolumeService",
55
+ name="Update",
56
+ function=getattr(service, "Update"),
57
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest,
58
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse,
59
+ allowed_methods=("POST",),
60
+ ),
61
+ }
62
+
63
+ def serviceName(self):
64
+ return "api.v1.VolumeService"
65
+
66
+
67
+ class VolumeServiceSync(Protocol):
68
+ def Get(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse: ...
69
+ def List(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceListRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceListResponse: ...
70
+ def Delete(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse: ...
71
+ def Update(self, req: api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest, ctx: ServiceContext) -> api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse: ...
72
+
73
+
74
+ class VolumeServiceServerSync(ConnecpyServer):
75
+ def __init__(self, *, service: VolumeServiceSync, server_path_prefix=""):
76
+ super().__init__()
77
+ self._prefix = f"{server_path_prefix}/api.v1.VolumeService"
78
+ self._endpoints = {
79
+ "Get": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest, api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse](
80
+ service_name="VolumeService",
81
+ name="Get",
82
+ function=getattr(service, "Get"),
83
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest,
84
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse,
85
+ allowed_methods=("POST",),
86
+ ),
87
+ "List": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceListRequest, api_dot_v1_dot_volume__pb2.VolumeServiceListResponse](
88
+ service_name="VolumeService",
89
+ name="List",
90
+ function=getattr(service, "List"),
91
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceListRequest,
92
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceListResponse,
93
+ allowed_methods=("POST",),
94
+ ),
95
+ "Delete": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest, api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse](
96
+ service_name="VolumeService",
97
+ name="Delete",
98
+ function=getattr(service, "Delete"),
99
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest,
100
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse,
101
+ allowed_methods=("POST",),
102
+ ),
103
+ "Update": Endpoint[api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest, api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse](
104
+ service_name="VolumeService",
105
+ name="Update",
106
+ function=getattr(service, "Update"),
107
+ input=api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest,
108
+ output=api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse,
109
+ allowed_methods=("POST",),
110
+ ),
111
+ }
112
+
113
+ def serviceName(self):
114
+ return "api.v1.VolumeService"
115
+
116
+
117
+ class VolumeServiceClient(ConnecpyClient):
118
+ def Get(
119
+ self,
120
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest,
121
+ *,
122
+ ctx: Optional[ClientContext] = None,
123
+ server_path_prefix: str = "",
124
+ **kwargs,
125
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse:
126
+ method = "POST"
127
+ return self._make_request(
128
+ url=f"{server_path_prefix}/api.v1.VolumeService/Get",
129
+ ctx=ctx,
130
+ request=request,
131
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse,
132
+ method=method,
133
+ **kwargs,
134
+ )
135
+
136
+ def List(
137
+ self,
138
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceListRequest,
139
+ *,
140
+ ctx: Optional[ClientContext] = None,
141
+ server_path_prefix: str = "",
142
+ **kwargs,
143
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceListResponse:
144
+ method = "POST"
145
+ return self._make_request(
146
+ url=f"{server_path_prefix}/api.v1.VolumeService/List",
147
+ ctx=ctx,
148
+ request=request,
149
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceListResponse,
150
+ method=method,
151
+ **kwargs,
152
+ )
153
+
154
+ def Delete(
155
+ self,
156
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest,
157
+ *,
158
+ ctx: Optional[ClientContext] = None,
159
+ server_path_prefix: str = "",
160
+ **kwargs,
161
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse:
162
+ method = "POST"
163
+ return self._make_request(
164
+ url=f"{server_path_prefix}/api.v1.VolumeService/Delete",
165
+ ctx=ctx,
166
+ request=request,
167
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse,
168
+ method=method,
169
+ **kwargs,
170
+ )
171
+
172
+ def Update(
173
+ self,
174
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest,
175
+ *,
176
+ ctx: Optional[ClientContext] = None,
177
+ server_path_prefix: str = "",
178
+ **kwargs,
179
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse:
180
+ method = "POST"
181
+ return self._make_request(
182
+ url=f"{server_path_prefix}/api.v1.VolumeService/Update",
183
+ ctx=ctx,
184
+ request=request,
185
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse,
186
+ method=method,
187
+ **kwargs,
188
+ )
189
+
190
+
191
+ class AsyncVolumeServiceClient(AsyncConnecpyClient):
192
+ async def Get(
193
+ self,
194
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceGetRequest,
195
+ *,
196
+ ctx: Optional[ClientContext] = None,
197
+ server_path_prefix: str = "",
198
+ session: Union[httpx.AsyncClient, None] = None,
199
+ **kwargs,
200
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse:
201
+ method = "POST"
202
+ return await self._make_request(
203
+ url=f"{server_path_prefix}/api.v1.VolumeService/Get",
204
+ ctx=ctx,
205
+ request=request,
206
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceGetResponse,
207
+ method=method,
208
+ session=session,
209
+ **kwargs,
210
+ )
211
+
212
+ async def List(
213
+ self,
214
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceListRequest,
215
+ *,
216
+ ctx: Optional[ClientContext] = None,
217
+ server_path_prefix: str = "",
218
+ session: Union[httpx.AsyncClient, None] = None,
219
+ **kwargs,
220
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceListResponse:
221
+ method = "POST"
222
+ return await self._make_request(
223
+ url=f"{server_path_prefix}/api.v1.VolumeService/List",
224
+ ctx=ctx,
225
+ request=request,
226
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceListResponse,
227
+ method=method,
228
+ session=session,
229
+ **kwargs,
230
+ )
231
+
232
+ async def Delete(
233
+ self,
234
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceDeleteRequest,
235
+ *,
236
+ ctx: Optional[ClientContext] = None,
237
+ server_path_prefix: str = "",
238
+ session: Union[httpx.AsyncClient, None] = None,
239
+ **kwargs,
240
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse:
241
+ method = "POST"
242
+ return await self._make_request(
243
+ url=f"{server_path_prefix}/api.v1.VolumeService/Delete",
244
+ ctx=ctx,
245
+ request=request,
246
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceDeleteResponse,
247
+ method=method,
248
+ session=session,
249
+ **kwargs,
250
+ )
251
+
252
+ async def Update(
253
+ self,
254
+ request: api_dot_v1_dot_volume__pb2.VolumeServiceUpdateRequest,
255
+ *,
256
+ ctx: Optional[ClientContext] = None,
257
+ server_path_prefix: str = "",
258
+ session: Union[httpx.AsyncClient, None] = None,
259
+ **kwargs,
260
+ ) -> api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse:
261
+ method = "POST"
262
+ return await self._make_request(
263
+ url=f"{server_path_prefix}/api.v1.VolumeService/Update",
264
+ ctx=ctx,
265
+ request=request,
266
+ response_class=api_dot_v1_dot_volume__pb2.VolumeServiceUpdateResponse,
267
+ method=method,
268
+ session=session,
269
+ **kwargs,
270
+ )
@@ -0,0 +1,91 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: api/v1/volume.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/volume.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 buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x61pi/v1/volume.proto\x12\x06\x61pi.v1\x1a\x13\x61pi/v1/common.proto\x1a\x1b\x62uf/validate/validate.proto\"\xe4\x06\n\x06Volume\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n\x07project\x18\x03 \x01(\tR\x07project\x12\x1c\n\tpartition\x18\x04 \x01(\tR\tpartition\x12#\n\rstorage_class\x18\x05 \x01(\tR\x0cstorageClass\x12\x12\n\x04size\x18\x06 \x01(\x04R\x04size\x12\x14\n\x05usage\x18\x07 \x01(\x04R\x05usage\x12\x14\n\x05state\x18\x08 \x01(\tR\x05state\x12\x1f\n\x0b\x61ttached_to\x18\t \x03(\tR\nattachedTo\x12\x30\n\x14source_snapshot_uuid\x18\n \x01(\tR\x12sourceSnapshotUuid\x12\x30\n\x14source_snapshot_name\x18\x0b \x01(\tR\x12sourceSnapshotName\x12#\n\rvolume_handle\x18\x0c \x01(\tR\x0cvolumeHandle\x12\x19\n\x08node_ips\x18\r \x03(\tR\x07nodeIps\x12)\n\x10rebuild_progress\x18\x0e \x01(\tR\x0frebuildProgress\x12*\n\x11primary_node_uuid\x18\x0f \x01(\tR\x0fprimaryNodeUuid\x12&\n\x0fqos_policy_uuid\x18\x10 \x01(\tR\rqosPolicyUuid\x12&\n\x0fqos_policy_name\x18\x11 \x01(\tR\rqosPolicyName\x12#\n\rreplica_count\x18\x12 \x01(\rR\x0creplicaCount\x12)\n\x10protection_state\x18\x13 \x01(\tR\x0fprotectionState\x12\x30\n\x14logical_used_storage\x18\x14 \x01(\x04R\x12logicalUsedStorage\x12\x38\n\nstatistics\x18\x15 \x01(\x0b\x32\x18.api.v1.VolumeStatisticsR\nstatistics\x12!\n\x0c\x63luster_name\x18\x16 \x01(\tR\x0b\x63lusterName\x12\x1d\n\ncluster_id\x18\x17 \x01(\tR\tclusterId\x12+\n\x06labels\x18\x18 \x03(\x0b\x32\x13.api.v1.VolumeLabelR\x06labels\"M\n\x0bVolumeLabel\x12\x1c\n\x03key\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xfd\x01R\x03key\x12 \n\x05value\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xfd\x01R\x05value\"Y\n\x12UpdateVolumeLabels\x12+\n\x06update\x18\x01 \x03(\x0b\x32\x13.api.v1.VolumeLabelR\x06update\x12\x16\n\x06remove\x18\x02 \x03(\tR\x06remove\"\xdc\x04\n\x10VolumeStatistics\x12\x30\n\x14logical_used_storage\x18\x01 \x01(\x04R\x12logicalUsedStorage\x12\x32\n\x15physical_used_storage\x18\x02 \x01(\x04R\x13physicalUsedStorage\x12+\n\x11\x63ompression_ratio\x18\x03 \x01(\x01R\x10\x63ompressionRatio\x12\x36\n\x17total_compression_ratio\x18\x04 \x01(\x01R\x15totalCompressionRatio\x12+\n\x11physical_capacity\x18\x05 \x01(\x04R\x10physicalCapacity\x12\x36\n\x17physical_owned_capacity\x18\x06 \x01(\x04R\x15physicalOwnedCapacity\x12\x32\n\x15physical_owned_memory\x18\x07 \x01(\x04R\x13physicalOwnedMemory\x12\'\n\x0fphysical_memory\x18\x08 \x01(\x04R\x0ephysicalMemory\x12!\n\x0cuser_written\x18\t \x01(\x04R\x0buserWritten\x12M\n#unrecoverable_data_integrity_errors\x18\n \x01(\rR unrecoverableDataIntegrityErrors\x12I\n!recoverable_data_integrity_errors\x18\x0c \x01(\rR\x1erecoverableDataIntegrityErrors\"]\n\x17VolumeServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12$\n\x07project\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07project\"\xbf\x01\n\x18VolumeServiceListRequest\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12$\n\x07project\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07project\x12!\n\tpartition\x18\x03 \x01(\tH\x01R\tpartition\x88\x01\x01\x12\x17\n\x04name\x18\x04 \x01(\tH\x02R\x04name\x88\x01\x01\x42\x07\n\x05_uuidB\x0c\n\n_partitionB\x07\n\x05_name\"`\n\x1aVolumeServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12$\n\x07project\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07project\"\xa4\x01\n\x1aVolumeServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12$\n\x07project\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07project\x12\x37\n\x06labels\x18\x18 \x01(\x0b\x32\x1a.api.v1.UpdateVolumeLabelsH\x00R\x06labels\x88\x01\x01\x42\t\n\x07_labels\"B\n\x18VolumeServiceGetResponse\x12&\n\x06volume\x18\x01 \x01(\x0b\x32\x0e.api.v1.VolumeR\x06volume\"E\n\x19VolumeServiceListResponse\x12(\n\x07volumes\x18\x01 \x03(\x0b\x32\x0e.api.v1.VolumeR\x07volumes\"E\n\x1bVolumeServiceDeleteResponse\x12&\n\x06volume\x18\x01 \x01(\x0b\x32\x0e.api.v1.VolumeR\x06volume\"E\n\x1bVolumeServiceUpdateResponse\x12&\n\x06volume\x18\x01 \x01(\x0b\x32\x0e.api.v1.VolumeR\x06volume2\xf6\x02\n\rVolumeService\x12U\n\x03Get\x12\x1f.api.v1.VolumeServiceGetRequest\x1a .api.v1.VolumeServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe8\xf3\x18\x02\x12X\n\x04List\x12 .api.v1.VolumeServiceListRequest\x1a!.api.v1.VolumeServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe8\xf3\x18\x02\x12Y\n\x06\x44\x65lete\x12\".api.v1.VolumeServiceDeleteRequest\x1a#.api.v1.VolumeServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12Y\n\x06Update\x12\".api.v1.VolumeServiceUpdateRequest\x1a#.api.v1.VolumeServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\x84\x01\n\ncom.api.v1B\x0bVolumeProtoP\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')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api.v1.volume_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'\n\ncom.api.v1B\013VolumeProtoP\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'
37
+ _globals['_VOLUMELABEL'].fields_by_name['key']._loaded_options = None
38
+ _globals['_VOLUMELABEL'].fields_by_name['key']._serialized_options = b'\272H\007r\005\020\001\030\375\001'
39
+ _globals['_VOLUMELABEL'].fields_by_name['value']._loaded_options = None
40
+ _globals['_VOLUMELABEL'].fields_by_name['value']._serialized_options = b'\272H\007r\005\020\001\030\375\001'
41
+ _globals['_VOLUMESERVICEGETREQUEST'].fields_by_name['uuid']._loaded_options = None
42
+ _globals['_VOLUMESERVICEGETREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
43
+ _globals['_VOLUMESERVICEGETREQUEST'].fields_by_name['project']._loaded_options = None
44
+ _globals['_VOLUMESERVICEGETREQUEST'].fields_by_name['project']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
45
+ _globals['_VOLUMESERVICELISTREQUEST'].fields_by_name['uuid']._loaded_options = None
46
+ _globals['_VOLUMESERVICELISTREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
47
+ _globals['_VOLUMESERVICELISTREQUEST'].fields_by_name['project']._loaded_options = None
48
+ _globals['_VOLUMESERVICELISTREQUEST'].fields_by_name['project']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
49
+ _globals['_VOLUMESERVICEDELETEREQUEST'].fields_by_name['uuid']._loaded_options = None
50
+ _globals['_VOLUMESERVICEDELETEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
51
+ _globals['_VOLUMESERVICEDELETEREQUEST'].fields_by_name['project']._loaded_options = None
52
+ _globals['_VOLUMESERVICEDELETEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
53
+ _globals['_VOLUMESERVICEUPDATEREQUEST'].fields_by_name['uuid']._loaded_options = None
54
+ _globals['_VOLUMESERVICEUPDATEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
55
+ _globals['_VOLUMESERVICEUPDATEREQUEST'].fields_by_name['project']._loaded_options = None
56
+ _globals['_VOLUMESERVICEUPDATEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
57
+ _globals['_VOLUMESERVICE'].methods_by_name['Get']._loaded_options = None
58
+ _globals['_VOLUMESERVICE'].methods_by_name['Get']._serialized_options = b'\312\363\030\003\001\002\003\350\363\030\002'
59
+ _globals['_VOLUMESERVICE'].methods_by_name['List']._loaded_options = None
60
+ _globals['_VOLUMESERVICE'].methods_by_name['List']._serialized_options = b'\312\363\030\003\001\002\003\350\363\030\002'
61
+ _globals['_VOLUMESERVICE'].methods_by_name['Delete']._loaded_options = None
62
+ _globals['_VOLUMESERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
63
+ _globals['_VOLUMESERVICE'].methods_by_name['Update']._loaded_options = None
64
+ _globals['_VOLUMESERVICE'].methods_by_name['Update']._serialized_options = b'\312\363\030\002\001\002'
65
+ _globals['_VOLUME']._serialized_start=82
66
+ _globals['_VOLUME']._serialized_end=950
67
+ _globals['_VOLUMELABEL']._serialized_start=952
68
+ _globals['_VOLUMELABEL']._serialized_end=1029
69
+ _globals['_UPDATEVOLUMELABELS']._serialized_start=1031
70
+ _globals['_UPDATEVOLUMELABELS']._serialized_end=1120
71
+ _globals['_VOLUMESTATISTICS']._serialized_start=1123
72
+ _globals['_VOLUMESTATISTICS']._serialized_end=1727
73
+ _globals['_VOLUMESERVICEGETREQUEST']._serialized_start=1729
74
+ _globals['_VOLUMESERVICEGETREQUEST']._serialized_end=1822
75
+ _globals['_VOLUMESERVICELISTREQUEST']._serialized_start=1825
76
+ _globals['_VOLUMESERVICELISTREQUEST']._serialized_end=2016
77
+ _globals['_VOLUMESERVICEDELETEREQUEST']._serialized_start=2018
78
+ _globals['_VOLUMESERVICEDELETEREQUEST']._serialized_end=2114
79
+ _globals['_VOLUMESERVICEUPDATEREQUEST']._serialized_start=2117
80
+ _globals['_VOLUMESERVICEUPDATEREQUEST']._serialized_end=2281
81
+ _globals['_VOLUMESERVICEGETRESPONSE']._serialized_start=2283
82
+ _globals['_VOLUMESERVICEGETRESPONSE']._serialized_end=2349
83
+ _globals['_VOLUMESERVICELISTRESPONSE']._serialized_start=2351
84
+ _globals['_VOLUMESERVICELISTRESPONSE']._serialized_end=2420
85
+ _globals['_VOLUMESERVICEDELETERESPONSE']._serialized_start=2422
86
+ _globals['_VOLUMESERVICEDELETERESPONSE']._serialized_end=2491
87
+ _globals['_VOLUMESERVICEUPDATERESPONSE']._serialized_start=2493
88
+ _globals['_VOLUMESERVICEUPDATERESPONSE']._serialized_end=2562
89
+ _globals['_VOLUMESERVICE']._serialized_start=2565
90
+ _globals['_VOLUMESERVICE']._serialized_end=2939
91
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,165 @@
1
+ from api.v1 import common_pb2 as _common_pb2
2
+ from buf.validate import validate_pb2 as _validate_pb2
3
+ from google.protobuf.internal import containers as _containers
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
7
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
8
+
9
+ DESCRIPTOR: _descriptor.FileDescriptor
10
+
11
+ class Volume(_message.Message):
12
+ __slots__ = ("uuid", "name", "project", "partition", "storage_class", "size", "usage", "state", "attached_to", "source_snapshot_uuid", "source_snapshot_name", "volume_handle", "node_ips", "rebuild_progress", "primary_node_uuid", "qos_policy_uuid", "qos_policy_name", "replica_count", "protection_state", "logical_used_storage", "statistics", "cluster_name", "cluster_id", "labels")
13
+ UUID_FIELD_NUMBER: _ClassVar[int]
14
+ NAME_FIELD_NUMBER: _ClassVar[int]
15
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
16
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
17
+ STORAGE_CLASS_FIELD_NUMBER: _ClassVar[int]
18
+ SIZE_FIELD_NUMBER: _ClassVar[int]
19
+ USAGE_FIELD_NUMBER: _ClassVar[int]
20
+ STATE_FIELD_NUMBER: _ClassVar[int]
21
+ ATTACHED_TO_FIELD_NUMBER: _ClassVar[int]
22
+ SOURCE_SNAPSHOT_UUID_FIELD_NUMBER: _ClassVar[int]
23
+ SOURCE_SNAPSHOT_NAME_FIELD_NUMBER: _ClassVar[int]
24
+ VOLUME_HANDLE_FIELD_NUMBER: _ClassVar[int]
25
+ NODE_IPS_FIELD_NUMBER: _ClassVar[int]
26
+ REBUILD_PROGRESS_FIELD_NUMBER: _ClassVar[int]
27
+ PRIMARY_NODE_UUID_FIELD_NUMBER: _ClassVar[int]
28
+ QOS_POLICY_UUID_FIELD_NUMBER: _ClassVar[int]
29
+ QOS_POLICY_NAME_FIELD_NUMBER: _ClassVar[int]
30
+ REPLICA_COUNT_FIELD_NUMBER: _ClassVar[int]
31
+ PROTECTION_STATE_FIELD_NUMBER: _ClassVar[int]
32
+ LOGICAL_USED_STORAGE_FIELD_NUMBER: _ClassVar[int]
33
+ STATISTICS_FIELD_NUMBER: _ClassVar[int]
34
+ CLUSTER_NAME_FIELD_NUMBER: _ClassVar[int]
35
+ CLUSTER_ID_FIELD_NUMBER: _ClassVar[int]
36
+ LABELS_FIELD_NUMBER: _ClassVar[int]
37
+ uuid: str
38
+ name: str
39
+ project: str
40
+ partition: str
41
+ storage_class: str
42
+ size: int
43
+ usage: int
44
+ state: str
45
+ attached_to: _containers.RepeatedScalarFieldContainer[str]
46
+ source_snapshot_uuid: str
47
+ source_snapshot_name: str
48
+ volume_handle: str
49
+ node_ips: _containers.RepeatedScalarFieldContainer[str]
50
+ rebuild_progress: str
51
+ primary_node_uuid: str
52
+ qos_policy_uuid: str
53
+ qos_policy_name: str
54
+ replica_count: int
55
+ protection_state: str
56
+ logical_used_storage: int
57
+ statistics: VolumeStatistics
58
+ cluster_name: str
59
+ cluster_id: str
60
+ labels: _containers.RepeatedCompositeFieldContainer[VolumeLabel]
61
+ def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., project: _Optional[str] = ..., partition: _Optional[str] = ..., storage_class: _Optional[str] = ..., size: _Optional[int] = ..., usage: _Optional[int] = ..., state: _Optional[str] = ..., attached_to: _Optional[_Iterable[str]] = ..., source_snapshot_uuid: _Optional[str] = ..., source_snapshot_name: _Optional[str] = ..., volume_handle: _Optional[str] = ..., node_ips: _Optional[_Iterable[str]] = ..., rebuild_progress: _Optional[str] = ..., primary_node_uuid: _Optional[str] = ..., qos_policy_uuid: _Optional[str] = ..., qos_policy_name: _Optional[str] = ..., replica_count: _Optional[int] = ..., protection_state: _Optional[str] = ..., logical_used_storage: _Optional[int] = ..., statistics: _Optional[_Union[VolumeStatistics, _Mapping]] = ..., cluster_name: _Optional[str] = ..., cluster_id: _Optional[str] = ..., labels: _Optional[_Iterable[_Union[VolumeLabel, _Mapping]]] = ...) -> None: ...
62
+
63
+ class VolumeLabel(_message.Message):
64
+ __slots__ = ("key", "value")
65
+ KEY_FIELD_NUMBER: _ClassVar[int]
66
+ VALUE_FIELD_NUMBER: _ClassVar[int]
67
+ key: str
68
+ value: str
69
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
70
+
71
+ class UpdateVolumeLabels(_message.Message):
72
+ __slots__ = ("update", "remove")
73
+ UPDATE_FIELD_NUMBER: _ClassVar[int]
74
+ REMOVE_FIELD_NUMBER: _ClassVar[int]
75
+ update: _containers.RepeatedCompositeFieldContainer[VolumeLabel]
76
+ remove: _containers.RepeatedScalarFieldContainer[str]
77
+ def __init__(self, update: _Optional[_Iterable[_Union[VolumeLabel, _Mapping]]] = ..., remove: _Optional[_Iterable[str]] = ...) -> None: ...
78
+
79
+ class VolumeStatistics(_message.Message):
80
+ __slots__ = ("logical_used_storage", "physical_used_storage", "compression_ratio", "total_compression_ratio", "physical_capacity", "physical_owned_capacity", "physical_owned_memory", "physical_memory", "user_written", "unrecoverable_data_integrity_errors", "recoverable_data_integrity_errors")
81
+ LOGICAL_USED_STORAGE_FIELD_NUMBER: _ClassVar[int]
82
+ PHYSICAL_USED_STORAGE_FIELD_NUMBER: _ClassVar[int]
83
+ COMPRESSION_RATIO_FIELD_NUMBER: _ClassVar[int]
84
+ TOTAL_COMPRESSION_RATIO_FIELD_NUMBER: _ClassVar[int]
85
+ PHYSICAL_CAPACITY_FIELD_NUMBER: _ClassVar[int]
86
+ PHYSICAL_OWNED_CAPACITY_FIELD_NUMBER: _ClassVar[int]
87
+ PHYSICAL_OWNED_MEMORY_FIELD_NUMBER: _ClassVar[int]
88
+ PHYSICAL_MEMORY_FIELD_NUMBER: _ClassVar[int]
89
+ USER_WRITTEN_FIELD_NUMBER: _ClassVar[int]
90
+ UNRECOVERABLE_DATA_INTEGRITY_ERRORS_FIELD_NUMBER: _ClassVar[int]
91
+ RECOVERABLE_DATA_INTEGRITY_ERRORS_FIELD_NUMBER: _ClassVar[int]
92
+ logical_used_storage: int
93
+ physical_used_storage: int
94
+ compression_ratio: float
95
+ total_compression_ratio: float
96
+ physical_capacity: int
97
+ physical_owned_capacity: int
98
+ physical_owned_memory: int
99
+ physical_memory: int
100
+ user_written: int
101
+ unrecoverable_data_integrity_errors: int
102
+ recoverable_data_integrity_errors: int
103
+ def __init__(self, logical_used_storage: _Optional[int] = ..., physical_used_storage: _Optional[int] = ..., compression_ratio: _Optional[float] = ..., total_compression_ratio: _Optional[float] = ..., physical_capacity: _Optional[int] = ..., physical_owned_capacity: _Optional[int] = ..., physical_owned_memory: _Optional[int] = ..., physical_memory: _Optional[int] = ..., user_written: _Optional[int] = ..., unrecoverable_data_integrity_errors: _Optional[int] = ..., recoverable_data_integrity_errors: _Optional[int] = ...) -> None: ...
104
+
105
+ class VolumeServiceGetRequest(_message.Message):
106
+ __slots__ = ("uuid", "project")
107
+ UUID_FIELD_NUMBER: _ClassVar[int]
108
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
109
+ uuid: str
110
+ project: str
111
+ def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ...) -> None: ...
112
+
113
+ class VolumeServiceListRequest(_message.Message):
114
+ __slots__ = ("uuid", "project", "partition", "name")
115
+ UUID_FIELD_NUMBER: _ClassVar[int]
116
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
117
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
118
+ NAME_FIELD_NUMBER: _ClassVar[int]
119
+ uuid: str
120
+ project: str
121
+ partition: str
122
+ name: str
123
+ def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ..., partition: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
124
+
125
+ class VolumeServiceDeleteRequest(_message.Message):
126
+ __slots__ = ("uuid", "project")
127
+ UUID_FIELD_NUMBER: _ClassVar[int]
128
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
129
+ uuid: str
130
+ project: str
131
+ def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ...) -> None: ...
132
+
133
+ class VolumeServiceUpdateRequest(_message.Message):
134
+ __slots__ = ("uuid", "project", "labels")
135
+ UUID_FIELD_NUMBER: _ClassVar[int]
136
+ PROJECT_FIELD_NUMBER: _ClassVar[int]
137
+ LABELS_FIELD_NUMBER: _ClassVar[int]
138
+ uuid: str
139
+ project: str
140
+ labels: UpdateVolumeLabels
141
+ def __init__(self, uuid: _Optional[str] = ..., project: _Optional[str] = ..., labels: _Optional[_Union[UpdateVolumeLabels, _Mapping]] = ...) -> None: ...
142
+
143
+ class VolumeServiceGetResponse(_message.Message):
144
+ __slots__ = ("volume",)
145
+ VOLUME_FIELD_NUMBER: _ClassVar[int]
146
+ volume: Volume
147
+ def __init__(self, volume: _Optional[_Union[Volume, _Mapping]] = ...) -> None: ...
148
+
149
+ class VolumeServiceListResponse(_message.Message):
150
+ __slots__ = ("volumes",)
151
+ VOLUMES_FIELD_NUMBER: _ClassVar[int]
152
+ volumes: _containers.RepeatedCompositeFieldContainer[Volume]
153
+ def __init__(self, volumes: _Optional[_Iterable[_Union[Volume, _Mapping]]] = ...) -> None: ...
154
+
155
+ class VolumeServiceDeleteResponse(_message.Message):
156
+ __slots__ = ("volume",)
157
+ VOLUME_FIELD_NUMBER: _ClassVar[int]
158
+ volume: Volume
159
+ def __init__(self, volume: _Optional[_Union[Volume, _Mapping]] = ...) -> None: ...
160
+
161
+ class VolumeServiceUpdateResponse(_message.Message):
162
+ __slots__ = ("volume",)
163
+ VOLUME_FIELD_NUMBER: _ClassVar[int]
164
+ volume: Volume
165
+ def __init__(self, volume: _Optional[_Union[Volume, _Mapping]] = ...) -> None: ...