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,102 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/i2y/connecpy/protoc-gen-connecpy. DO NOT EDIT!
3
+ # source: admin/v1/project.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.project_pb2 as admin_dot_v1_dot_project__pb2
15
+
16
+
17
+ class ProjectService(Protocol):
18
+ async def List(self, req: admin_dot_v1_dot_project__pb2.ProjectServiceListRequest, ctx: ServiceContext) -> admin_dot_v1_dot_project__pb2.ProjectServiceListResponse: ...
19
+
20
+
21
+ class ProjectServiceServer(ConnecpyServer):
22
+ def __init__(self, *, service: ProjectService, server_path_prefix=""):
23
+ super().__init__()
24
+ self._prefix = f"{server_path_prefix}/admin.v1.ProjectService"
25
+ self._endpoints = {
26
+ "List": Endpoint[admin_dot_v1_dot_project__pb2.ProjectServiceListRequest, admin_dot_v1_dot_project__pb2.ProjectServiceListResponse](
27
+ service_name="ProjectService",
28
+ name="List",
29
+ function=getattr(service, "List"),
30
+ input=admin_dot_v1_dot_project__pb2.ProjectServiceListRequest,
31
+ output=admin_dot_v1_dot_project__pb2.ProjectServiceListResponse,
32
+ allowed_methods=("POST",),
33
+ ),
34
+ }
35
+
36
+ def serviceName(self):
37
+ return "admin.v1.ProjectService"
38
+
39
+
40
+ class ProjectServiceSync(Protocol):
41
+ def List(self, req: admin_dot_v1_dot_project__pb2.ProjectServiceListRequest, ctx: ServiceContext) -> admin_dot_v1_dot_project__pb2.ProjectServiceListResponse: ...
42
+
43
+
44
+ class ProjectServiceServerSync(ConnecpyServer):
45
+ def __init__(self, *, service: ProjectServiceSync, server_path_prefix=""):
46
+ super().__init__()
47
+ self._prefix = f"{server_path_prefix}/admin.v1.ProjectService"
48
+ self._endpoints = {
49
+ "List": Endpoint[admin_dot_v1_dot_project__pb2.ProjectServiceListRequest, admin_dot_v1_dot_project__pb2.ProjectServiceListResponse](
50
+ service_name="ProjectService",
51
+ name="List",
52
+ function=getattr(service, "List"),
53
+ input=admin_dot_v1_dot_project__pb2.ProjectServiceListRequest,
54
+ output=admin_dot_v1_dot_project__pb2.ProjectServiceListResponse,
55
+ allowed_methods=("POST",),
56
+ ),
57
+ }
58
+
59
+ def serviceName(self):
60
+ return "admin.v1.ProjectService"
61
+
62
+
63
+ class ProjectServiceClient(ConnecpyClient):
64
+ def List(
65
+ self,
66
+ request: admin_dot_v1_dot_project__pb2.ProjectServiceListRequest,
67
+ *,
68
+ ctx: Optional[ClientContext] = None,
69
+ server_path_prefix: str = "",
70
+ **kwargs,
71
+ ) -> admin_dot_v1_dot_project__pb2.ProjectServiceListResponse:
72
+ method = "POST"
73
+ return self._make_request(
74
+ url=f"{server_path_prefix}/admin.v1.ProjectService/List",
75
+ ctx=ctx,
76
+ request=request,
77
+ response_class=admin_dot_v1_dot_project__pb2.ProjectServiceListResponse,
78
+ method=method,
79
+ **kwargs,
80
+ )
81
+
82
+
83
+ class AsyncProjectServiceClient(AsyncConnecpyClient):
84
+ async def List(
85
+ self,
86
+ request: admin_dot_v1_dot_project__pb2.ProjectServiceListRequest,
87
+ *,
88
+ ctx: Optional[ClientContext] = None,
89
+ server_path_prefix: str = "",
90
+ session: Union[httpx.AsyncClient, None] = None,
91
+ **kwargs,
92
+ ) -> admin_dot_v1_dot_project__pb2.ProjectServiceListResponse:
93
+ method = "POST"
94
+ return await self._make_request(
95
+ url=f"{server_path_prefix}/admin.v1.ProjectService/List",
96
+ ctx=ctx,
97
+ request=request,
98
+ response_class=admin_dot_v1_dot_project__pb2.ProjectServiceListResponse,
99
+ method=method,
100
+ session=session,
101
+ **kwargs,
102
+ )
@@ -0,0 +1,49 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: admin/v1/project.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/project.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 project_pb2 as api_dot_v1_dot_project__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x61\x64min/v1/project.proto\x12\x08\x61\x64min.v1\x1a\x13\x61pi/v1/common.proto\x1a\x14\x61pi/v1/project.proto\"\x8b\x02\n\x19ProjectServiceListRequest\x12&\n\x06paging\x18\x01 \x01(\x0b\x32\x0e.api.v1.PagingR\x06paging\x12 \n\ttenant_id\x18\x02 \x01(\tH\x00R\x08tenantId\x88\x01\x01\x12V\n\x0b\x61nnotations\x18\x03 \x03(\x0b\x32\x34.admin.v1.ProjectServiceListRequest.AnnotationsEntryR\x0b\x61nnotations\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0c\n\n_tenant_id\"y\n\x1aProjectServiceListResponse\x12+\n\x08projects\x18\x01 \x03(\x0b\x32\x0f.api.v1.ProjectR\x08projects\x12 \n\tnext_page\x18\x02 \x01(\x04H\x00R\x08nextPage\x88\x01\x01\x42\x0c\n\n_next_page2k\n\x0eProjectService\x12Y\n\x04List\x12#.admin.v1.ProjectServiceListRequest\x1a$.admin.v1.ProjectServiceListResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x42\x93\x01\n\x0c\x63om.admin.v1B\x0cProjectProtoP\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')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'admin.v1.project_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'\n\014com.admin.v1B\014ProjectProtoP\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'
37
+ _globals['_PROJECTSERVICELISTREQUEST_ANNOTATIONSENTRY']._loaded_options = None
38
+ _globals['_PROJECTSERVICELISTREQUEST_ANNOTATIONSENTRY']._serialized_options = b'8\001'
39
+ _globals['_PROJECTSERVICE'].methods_by_name['List']._loaded_options = None
40
+ _globals['_PROJECTSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002'
41
+ _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=80
42
+ _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=347
43
+ _globals['_PROJECTSERVICELISTREQUEST_ANNOTATIONSENTRY']._serialized_start=271
44
+ _globals['_PROJECTSERVICELISTREQUEST_ANNOTATIONSENTRY']._serialized_end=333
45
+ _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=349
46
+ _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=470
47
+ _globals['_PROJECTSERVICE']._serialized_start=472
48
+ _globals['_PROJECTSERVICE']._serialized_end=579
49
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,34 @@
1
+ from api.v1 import common_pb2 as _common_pb2
2
+ from api.v1 import project_pb2 as _project_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 ProjectServiceListRequest(_message.Message):
12
+ __slots__ = ("paging", "tenant_id", "annotations")
13
+ class AnnotationsEntry(_message.Message):
14
+ __slots__ = ("key", "value")
15
+ KEY_FIELD_NUMBER: _ClassVar[int]
16
+ VALUE_FIELD_NUMBER: _ClassVar[int]
17
+ key: str
18
+ value: str
19
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
20
+ PAGING_FIELD_NUMBER: _ClassVar[int]
21
+ TENANT_ID_FIELD_NUMBER: _ClassVar[int]
22
+ ANNOTATIONS_FIELD_NUMBER: _ClassVar[int]
23
+ paging: _common_pb2.Paging
24
+ tenant_id: str
25
+ annotations: _containers.ScalarMap[str, str]
26
+ def __init__(self, paging: _Optional[_Union[_common_pb2.Paging, _Mapping]] = ..., tenant_id: _Optional[str] = ..., annotations: _Optional[_Mapping[str, str]] = ...) -> None: ...
27
+
28
+ class ProjectServiceListResponse(_message.Message):
29
+ __slots__ = ("projects", "next_page")
30
+ PROJECTS_FIELD_NUMBER: _ClassVar[int]
31
+ NEXT_PAGE_FIELD_NUMBER: _ClassVar[int]
32
+ projects: _containers.RepeatedCompositeFieldContainer[_project_pb2.Project]
33
+ next_page: int
34
+ def __init__(self, projects: _Optional[_Iterable[_Union[_project_pb2.Project, _Mapping]]] = ..., next_page: _Optional[int] = ...) -> 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.admin.v1 import project_pb2 as admin_dot_v1_dot_project__pb2
6
+
7
+
8
+ class ProjectServiceStub(object):
9
+ """ProjectService serves project 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.ProjectService/List',
20
+ request_serializer=admin_dot_v1_dot_project__pb2.ProjectServiceListRequest.SerializeToString,
21
+ response_deserializer=admin_dot_v1_dot_project__pb2.ProjectServiceListResponse.FromString,
22
+ _registered_method=True)
23
+
24
+
25
+ class ProjectServiceServicer(object):
26
+ """ProjectService serves project related functions
27
+ """
28
+
29
+ def List(self, request, context):
30
+ """List projects based on various filter criteria
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_ProjectServiceServicer_to_server(servicer, server):
38
+ rpc_method_handlers = {
39
+ 'List': grpc.unary_unary_rpc_method_handler(
40
+ servicer.List,
41
+ request_deserializer=admin_dot_v1_dot_project__pb2.ProjectServiceListRequest.FromString,
42
+ response_serializer=admin_dot_v1_dot_project__pb2.ProjectServiceListResponse.SerializeToString,
43
+ ),
44
+ }
45
+ generic_handler = grpc.method_handlers_generic_handler(
46
+ 'admin.v1.ProjectService', rpc_method_handlers)
47
+ server.add_generic_rpc_handlers((generic_handler,))
48
+ server.add_registered_method_handlers('admin.v1.ProjectService', rpc_method_handlers)
49
+
50
+
51
+ # This class is part of an EXPERIMENTAL API.
52
+ class ProjectService(object):
53
+ """ProjectService serves project related functions
54
+ """
55
+
56
+ @staticmethod
57
+ def List(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
+ '/admin.v1.ProjectService/List',
71
+ admin_dot_v1_dot_project__pb2.ProjectServiceListRequest.SerializeToString,
72
+ admin_dot_v1_dot_project__pb2.ProjectServiceListResponse.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,214 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/i2y/connecpy/protoc-gen-connecpy. DO NOT EDIT!
3
+ # source: admin/v1/storage.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.storage_pb2 as admin_dot_v1_dot_storage__pb2
15
+
16
+
17
+ class StorageService(Protocol):
18
+ async def ClusterInfo(self, req: admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest, ctx: ServiceContext) -> admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse: ...
19
+ async def ListVolumes(self, req: admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest, ctx: ServiceContext) -> admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse: ...
20
+ async def ListSnapshots(self, req: admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest, ctx: ServiceContext) -> admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse: ...
21
+
22
+
23
+ class StorageServiceServer(ConnecpyServer):
24
+ def __init__(self, *, service: StorageService, server_path_prefix=""):
25
+ super().__init__()
26
+ self._prefix = f"{server_path_prefix}/admin.v1.StorageService"
27
+ self._endpoints = {
28
+ "ClusterInfo": Endpoint[admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest, admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse](
29
+ service_name="StorageService",
30
+ name="ClusterInfo",
31
+ function=getattr(service, "ClusterInfo"),
32
+ input=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest,
33
+ output=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse,
34
+ allowed_methods=("POST",),
35
+ ),
36
+ "ListVolumes": Endpoint[admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest, admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse](
37
+ service_name="StorageService",
38
+ name="ListVolumes",
39
+ function=getattr(service, "ListVolumes"),
40
+ input=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest,
41
+ output=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse,
42
+ allowed_methods=("POST",),
43
+ ),
44
+ "ListSnapshots": Endpoint[admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest, admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse](
45
+ service_name="StorageService",
46
+ name="ListSnapshots",
47
+ function=getattr(service, "ListSnapshots"),
48
+ input=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest,
49
+ output=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse,
50
+ allowed_methods=("POST",),
51
+ ),
52
+ }
53
+
54
+ def serviceName(self):
55
+ return "admin.v1.StorageService"
56
+
57
+
58
+ class StorageServiceSync(Protocol):
59
+ def ClusterInfo(self, req: admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest, ctx: ServiceContext) -> admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse: ...
60
+ def ListVolumes(self, req: admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest, ctx: ServiceContext) -> admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse: ...
61
+ def ListSnapshots(self, req: admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest, ctx: ServiceContext) -> admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse: ...
62
+
63
+
64
+ class StorageServiceServerSync(ConnecpyServer):
65
+ def __init__(self, *, service: StorageServiceSync, server_path_prefix=""):
66
+ super().__init__()
67
+ self._prefix = f"{server_path_prefix}/admin.v1.StorageService"
68
+ self._endpoints = {
69
+ "ClusterInfo": Endpoint[admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest, admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse](
70
+ service_name="StorageService",
71
+ name="ClusterInfo",
72
+ function=getattr(service, "ClusterInfo"),
73
+ input=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest,
74
+ output=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse,
75
+ allowed_methods=("POST",),
76
+ ),
77
+ "ListVolumes": Endpoint[admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest, admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse](
78
+ service_name="StorageService",
79
+ name="ListVolumes",
80
+ function=getattr(service, "ListVolumes"),
81
+ input=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest,
82
+ output=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse,
83
+ allowed_methods=("POST",),
84
+ ),
85
+ "ListSnapshots": Endpoint[admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest, admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse](
86
+ service_name="StorageService",
87
+ name="ListSnapshots",
88
+ function=getattr(service, "ListSnapshots"),
89
+ input=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest,
90
+ output=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse,
91
+ allowed_methods=("POST",),
92
+ ),
93
+ }
94
+
95
+ def serviceName(self):
96
+ return "admin.v1.StorageService"
97
+
98
+
99
+ class StorageServiceClient(ConnecpyClient):
100
+ def ClusterInfo(
101
+ self,
102
+ request: admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest,
103
+ *,
104
+ ctx: Optional[ClientContext] = None,
105
+ server_path_prefix: str = "",
106
+ **kwargs,
107
+ ) -> admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse:
108
+ method = "POST"
109
+ return self._make_request(
110
+ url=f"{server_path_prefix}/admin.v1.StorageService/ClusterInfo",
111
+ ctx=ctx,
112
+ request=request,
113
+ response_class=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse,
114
+ method=method,
115
+ **kwargs,
116
+ )
117
+
118
+ def ListVolumes(
119
+ self,
120
+ request: admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest,
121
+ *,
122
+ ctx: Optional[ClientContext] = None,
123
+ server_path_prefix: str = "",
124
+ **kwargs,
125
+ ) -> admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse:
126
+ method = "POST"
127
+ return self._make_request(
128
+ url=f"{server_path_prefix}/admin.v1.StorageService/ListVolumes",
129
+ ctx=ctx,
130
+ request=request,
131
+ response_class=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse,
132
+ method=method,
133
+ **kwargs,
134
+ )
135
+
136
+ def ListSnapshots(
137
+ self,
138
+ request: admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest,
139
+ *,
140
+ ctx: Optional[ClientContext] = None,
141
+ server_path_prefix: str = "",
142
+ **kwargs,
143
+ ) -> admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse:
144
+ method = "POST"
145
+ return self._make_request(
146
+ url=f"{server_path_prefix}/admin.v1.StorageService/ListSnapshots",
147
+ ctx=ctx,
148
+ request=request,
149
+ response_class=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse,
150
+ method=method,
151
+ **kwargs,
152
+ )
153
+
154
+
155
+ class AsyncStorageServiceClient(AsyncConnecpyClient):
156
+ async def ClusterInfo(
157
+ self,
158
+ request: admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoRequest,
159
+ *,
160
+ ctx: Optional[ClientContext] = None,
161
+ server_path_prefix: str = "",
162
+ session: Union[httpx.AsyncClient, None] = None,
163
+ **kwargs,
164
+ ) -> admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse:
165
+ method = "POST"
166
+ return await self._make_request(
167
+ url=f"{server_path_prefix}/admin.v1.StorageService/ClusterInfo",
168
+ ctx=ctx,
169
+ request=request,
170
+ response_class=admin_dot_v1_dot_storage__pb2.StorageServiceClusterInfoResponse,
171
+ method=method,
172
+ session=session,
173
+ **kwargs,
174
+ )
175
+
176
+ async def ListVolumes(
177
+ self,
178
+ request: admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesRequest,
179
+ *,
180
+ ctx: Optional[ClientContext] = None,
181
+ server_path_prefix: str = "",
182
+ session: Union[httpx.AsyncClient, None] = None,
183
+ **kwargs,
184
+ ) -> admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse:
185
+ method = "POST"
186
+ return await self._make_request(
187
+ url=f"{server_path_prefix}/admin.v1.StorageService/ListVolumes",
188
+ ctx=ctx,
189
+ request=request,
190
+ response_class=admin_dot_v1_dot_storage__pb2.StorageServiceListVolumesResponse,
191
+ method=method,
192
+ session=session,
193
+ **kwargs,
194
+ )
195
+
196
+ async def ListSnapshots(
197
+ self,
198
+ request: admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsRequest,
199
+ *,
200
+ ctx: Optional[ClientContext] = None,
201
+ server_path_prefix: str = "",
202
+ session: Union[httpx.AsyncClient, None] = None,
203
+ **kwargs,
204
+ ) -> admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse:
205
+ method = "POST"
206
+ return await self._make_request(
207
+ url=f"{server_path_prefix}/admin.v1.StorageService/ListSnapshots",
208
+ ctx=ctx,
209
+ request=request,
210
+ response_class=admin_dot_v1_dot_storage__pb2.StorageServiceListSnapshotsResponse,
211
+ method=method,
212
+ session=session,
213
+ **kwargs,
214
+ )
@@ -0,0 +1,75 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: admin/v1/storage.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/storage.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 snapshot_pb2 as api_dot_v1_dot_snapshot__pb2
27
+ from metalstackcloud.api.v1 import volume_pb2 as api_dot_v1_dot_volume__pb2
28
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x61\x64min/v1/storage.proto\x12\x08\x61\x64min.v1\x1a\x13\x61pi/v1/common.proto\x1a\x15\x61pi/v1/snapshot.proto\x1a\x13\x61pi/v1/volume.proto\x1a\x1b\x62uf/validate/validate.proto\"S\n StorageServiceClusterInfoRequest\x12!\n\tpartition\x18\x01 \x01(\tH\x00R\tpartition\x88\x01\x01\x42\x0c\n\n_partition\"W\n!StorageServiceClusterInfoResponse\x12\x32\n\x05infos\x18\x01 \x03(\x0b\x32\x1c.admin.v1.StorageClusterInfoR\x05infos\"\xe6\x04\n\x12StorageClusterInfo\x12\x1c\n\tpartition\x18\x01 \x01(\tR\tpartition\x12\x12\n\x04uuid\x18\x02 \x01(\tR\x04uuid\x12#\n\rsubsystem_nqn\x18\x03 \x01(\tR\x0csubsystemNqn\x12\x30\n\x14\x63urrent_max_replicas\x18\x04 \x01(\rR\x12\x63urrentMaxReplicas\x12\x34\n\x16supported_max_replicas\x18\x05 \x01(\rR\x14supportedMaxReplicas\x12>\n\nstatistics\x18\x06 \x01(\x0b\x32\x1e.admin.v1.ClusterStatisticsApiR\nstatistics\x12/\n\x06health\x18\x07 \x01(\x0b\x32\x17.admin.v1.ClusterHealthR\x06health\x12\x33\n\x16min_version_in_cluster\x18\x08 \x01(\tR\x13minVersionInCluster\x12.\n\x13min_allowed_version\x18\t \x01(\tR\x11minAllowedVersion\x12.\n\x13max_allowed_version\x18\n \x01(\tR\x11maxAllowedVersion\x12#\n\rapi_endpoints\x18\x0b \x03(\tR\x0c\x61piEndpoints\x12/\n\x13\x64iscovery_endpoints\x18\x0c \x03(\tR\x12\x64iscoveryEndpoints\x12\x35\n\x07servers\x18\r \x03(\x0b\x32\x1b.admin.v1.StorageServerInfoR\x07servers\"\xe2\x01\n\x11StorageServerInfo\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x1arisk_of_service_loss_state\x18\x03 \x01(\tR\x16riskOfServiceLossState\x12\x14\n\x05state\x18\x04 \x01(\tR\x05state\x12)\n\x10server_endpoints\x18\x05 \x03(\tR\x0fserverEndpoints\x12(\n\x10light_os_version\x18\x06 \x01(\tR\x0elightOsVersion\"\xf3\x01\n\rClusterHealth\x12\x14\n\x05state\x18\x01 \x01(\tR\x05state\x12\x30\n\x14num_degraded_volumes\x18\x02 \x01(\rR\x12numDegradedVolumes\x12\x31\n\x15num_read_only_volumes\x18\x03 \x01(\rR\x12numReadOnlyVolumes\x12\x39\n\x19num_not_available_volumes\x18\x04 \x01(\rR\x16numNotAvailableVolumes\x12,\n\x12num_inactive_nodes\x18\x05 \x01(\rR\x10numInactiveNodes\"\x91\x05\n\x14\x43lusterStatisticsApi\x12<\n\x1ainstalled_physical_storage\x18\x01 \x01(\x04R\x18installedPhysicalStorage\x12\x38\n\x18managed_physical_storage\x18\x02 \x01(\x04R\x16managedPhysicalStorage\x12<\n\x1a\x65\x66\x66\x65\x63tive_physical_storage\x18\x03 \x01(\x04R\x18\x65\x66\x66\x65\x63tivePhysicalStorage\x12\'\n\x0flogical_storage\x18\x04 \x01(\x04R\x0elogicalStorage\x12\x30\n\x14logical_used_storage\x18\x05 \x01(\x04R\x12logicalUsedStorage\x12\x32\n\x15physical_used_storage\x18\x06 \x01(\x04R\x13physicalUsedStorage\x12R\n&physical_used_storage_including_parity\x18\x07 \x01(\x04R\"physicalUsedStorageIncludingParity\x12\x32\n\x15\x66ree_physical_storage\x18\x08 \x01(\x04R\x13\x66reePhysicalStorage\x12\x43\n\x1e\x65stimated_free_logical_storage\x18\t \x01(\x04R\x1b\x65stimatedFreeLogicalStorage\x12:\n\x19\x65stimated_logical_storage\x18\n \x01(\x04R\x17\x65stimatedLogicalStorage\x12+\n\x11\x63ompression_ratio\x18\x0b \x01(\x01R\x10\x63ompressionRatio\"\x80\x02\n StorageServiceListVolumesRequest\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\x01H\x01R\x07project\x88\x01\x01\x12!\n\tpartition\x18\x03 \x01(\tH\x02R\tpartition\x88\x01\x01\x12\x17\n\x04name\x18\x04 \x01(\tH\x03R\x04name\x88\x01\x01\x12\x1b\n\x06tenant\x18\x05 \x01(\tH\x04R\x06tenant\x88\x01\x01\x42\x07\n\x05_uuidB\n\n\x08_projectB\x0c\n\n_partitionB\x07\n\x05_nameB\t\n\x07_tenant\"M\n!StorageServiceListVolumesResponse\x12(\n\x07volumes\x18\x01 \x03(\x0b\x32\x0e.api.v1.VolumeR\x07volumes\"\x82\x02\n\"StorageServiceListSnapshotsRequest\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\x01H\x01R\x07project\x88\x01\x01\x12!\n\tpartition\x18\x03 \x01(\tH\x02R\tpartition\x88\x01\x01\x12\x17\n\x04name\x18\x04 \x01(\tH\x03R\x04name\x88\x01\x01\x12\x1b\n\x06tenant\x18\x05 \x01(\tH\x04R\x06tenant\x88\x01\x01\x42\x07\n\x05_uuidB\n\n\x08_projectB\x0c\n\n_partitionB\x07\n\x05_nameB\t\n\x07_tenant\"U\n#StorageServiceListSnapshotsResponse\x12.\n\tsnapshots\x18\x01 \x03(\x0b\x32\x10.api.v1.SnapshotR\tsnapshots2\xe6\x02\n\x0eStorageService\x12n\n\x0b\x43lusterInfo\x12*.admin.v1.StorageServiceClusterInfoRequest\x1a+.admin.v1.StorageServiceClusterInfoResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12n\n\x0bListVolumes\x12*.admin.v1.StorageServiceListVolumesRequest\x1a+.admin.v1.StorageServiceListVolumesResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12t\n\rListSnapshots\x12,.admin.v1.StorageServiceListSnapshotsRequest\x1a-.admin.v1.StorageServiceListSnapshotsResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x42\x93\x01\n\x0c\x63om.admin.v1B\x0cStorageProtoP\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')
32
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'admin.v1.storage_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ _globals['DESCRIPTOR']._loaded_options = None
38
+ _globals['DESCRIPTOR']._serialized_options = b'\n\014com.admin.v1B\014StorageProtoP\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'
39
+ _globals['_STORAGESERVICELISTVOLUMESREQUEST'].fields_by_name['uuid']._loaded_options = None
40
+ _globals['_STORAGESERVICELISTVOLUMESREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
41
+ _globals['_STORAGESERVICELISTVOLUMESREQUEST'].fields_by_name['project']._loaded_options = None
42
+ _globals['_STORAGESERVICELISTVOLUMESREQUEST'].fields_by_name['project']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
43
+ _globals['_STORAGESERVICELISTSNAPSHOTSREQUEST'].fields_by_name['uuid']._loaded_options = None
44
+ _globals['_STORAGESERVICELISTSNAPSHOTSREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
45
+ _globals['_STORAGESERVICELISTSNAPSHOTSREQUEST'].fields_by_name['project']._loaded_options = None
46
+ _globals['_STORAGESERVICELISTSNAPSHOTSREQUEST'].fields_by_name['project']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
47
+ _globals['_STORAGESERVICE'].methods_by_name['ClusterInfo']._loaded_options = None
48
+ _globals['_STORAGESERVICE'].methods_by_name['ClusterInfo']._serialized_options = b'\322\363\030\002\001\002'
49
+ _globals['_STORAGESERVICE'].methods_by_name['ListVolumes']._loaded_options = None
50
+ _globals['_STORAGESERVICE'].methods_by_name['ListVolumes']._serialized_options = b'\322\363\030\002\001\002'
51
+ _globals['_STORAGESERVICE'].methods_by_name['ListSnapshots']._loaded_options = None
52
+ _globals['_STORAGESERVICE'].methods_by_name['ListSnapshots']._serialized_options = b'\322\363\030\002\001\002'
53
+ _globals['_STORAGESERVICECLUSTERINFOREQUEST']._serialized_start=130
54
+ _globals['_STORAGESERVICECLUSTERINFOREQUEST']._serialized_end=213
55
+ _globals['_STORAGESERVICECLUSTERINFORESPONSE']._serialized_start=215
56
+ _globals['_STORAGESERVICECLUSTERINFORESPONSE']._serialized_end=302
57
+ _globals['_STORAGECLUSTERINFO']._serialized_start=305
58
+ _globals['_STORAGECLUSTERINFO']._serialized_end=919
59
+ _globals['_STORAGESERVERINFO']._serialized_start=922
60
+ _globals['_STORAGESERVERINFO']._serialized_end=1148
61
+ _globals['_CLUSTERHEALTH']._serialized_start=1151
62
+ _globals['_CLUSTERHEALTH']._serialized_end=1394
63
+ _globals['_CLUSTERSTATISTICSAPI']._serialized_start=1397
64
+ _globals['_CLUSTERSTATISTICSAPI']._serialized_end=2054
65
+ _globals['_STORAGESERVICELISTVOLUMESREQUEST']._serialized_start=2057
66
+ _globals['_STORAGESERVICELISTVOLUMESREQUEST']._serialized_end=2313
67
+ _globals['_STORAGESERVICELISTVOLUMESRESPONSE']._serialized_start=2315
68
+ _globals['_STORAGESERVICELISTVOLUMESRESPONSE']._serialized_end=2392
69
+ _globals['_STORAGESERVICELISTSNAPSHOTSREQUEST']._serialized_start=2395
70
+ _globals['_STORAGESERVICELISTSNAPSHOTSREQUEST']._serialized_end=2653
71
+ _globals['_STORAGESERVICELISTSNAPSHOTSRESPONSE']._serialized_start=2655
72
+ _globals['_STORAGESERVICELISTSNAPSHOTSRESPONSE']._serialized_end=2740
73
+ _globals['_STORAGESERVICE']._serialized_start=2743
74
+ _globals['_STORAGESERVICE']._serialized_end=3101
75
+ # @@protoc_insertion_point(module_scope)