metal-stack-api 0.0.15__tar.gz → 0.0.16__tar.gz

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 (154) hide show
  1. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/PKG-INFO +1 -1
  2. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metal_stack_api.egg-info/PKG-INFO +1 -1
  3. metal_stack_api-0.0.16/metalstack/admin/v2/filesystem_connecpy.py +249 -0
  4. metal_stack_api-0.0.16/metalstack/admin/v2/image_connecpy.py +314 -0
  5. metal_stack_api-0.0.16/metalstack/admin/v2/ip_connecpy.py +184 -0
  6. metal_stack_api-0.0.16/metalstack/admin/v2/machine_connecpy.py +184 -0
  7. metal_stack_api-0.0.16/metalstack/admin/v2/network_connecpy.py +379 -0
  8. metal_stack_api-0.0.16/metalstack/admin/v2/partition_connecpy.py +314 -0
  9. metal_stack_api-0.0.16/metalstack/admin/v2/size_connecpy.py +249 -0
  10. metal_stack_api-0.0.16/metalstack/admin/v2/tenant_connecpy.py +184 -0
  11. metal_stack_api-0.0.16/metalstack/admin/v2/token_connecpy.py +184 -0
  12. metal_stack_api-0.0.16/metalstack/api/v2/filesystem_connecpy.py +314 -0
  13. metal_stack_api-0.0.16/metalstack/api/v2/health_connecpy.py +119 -0
  14. metal_stack_api-0.0.16/metalstack/api/v2/image_connecpy.py +249 -0
  15. metal_stack_api-0.0.16/metalstack/api/v2/ip_connecpy.py +379 -0
  16. metal_stack_api-0.0.16/metalstack/api/v2/machine_connecpy.py +379 -0
  17. metal_stack_api-0.0.16/metalstack/api/v2/method_connecpy.py +184 -0
  18. metal_stack_api-0.0.16/metalstack/api/v2/network_connecpy.py +444 -0
  19. metal_stack_api-0.0.16/metalstack/api/v2/partition_connecpy.py +184 -0
  20. metal_stack_api-0.0.16/metalstack/api/v2/project_connecpy.py +834 -0
  21. metal_stack_api-0.0.16/metalstack/api/v2/size_connecpy.py +184 -0
  22. metal_stack_api-0.0.16/metalstack/api/v2/tenant_connecpy.py +834 -0
  23. metal_stack_api-0.0.16/metalstack/api/v2/token_connecpy.py +444 -0
  24. metal_stack_api-0.0.16/metalstack/api/v2/user_connecpy.py +119 -0
  25. metal_stack_api-0.0.16/metalstack/api/v2/version_connecpy.py +119 -0
  26. metal_stack_api-0.0.16/metalstack/infra/v2/bmc_connecpy.py +119 -0
  27. metal_stack_api-0.0.16/metalstack/infra/v2/switch_connecpy.py +119 -0
  28. metal_stack_api-0.0.15/metalstack/admin/v2/filesystem_connecpy.py +0 -214
  29. metal_stack_api-0.0.15/metalstack/admin/v2/image_connecpy.py +0 -270
  30. metal_stack_api-0.0.15/metalstack/admin/v2/ip_connecpy.py +0 -158
  31. metal_stack_api-0.0.15/metalstack/admin/v2/machine_connecpy.py +0 -158
  32. metal_stack_api-0.0.15/metalstack/admin/v2/network_connecpy.py +0 -326
  33. metal_stack_api-0.0.15/metalstack/admin/v2/partition_connecpy.py +0 -270
  34. metal_stack_api-0.0.15/metalstack/admin/v2/size_connecpy.py +0 -214
  35. metal_stack_api-0.0.15/metalstack/admin/v2/tenant_connecpy.py +0 -158
  36. metal_stack_api-0.0.15/metalstack/admin/v2/token_connecpy.py +0 -158
  37. metal_stack_api-0.0.15/metalstack/api/v2/filesystem_connecpy.py +0 -270
  38. metal_stack_api-0.0.15/metalstack/api/v2/health_connecpy.py +0 -102
  39. metal_stack_api-0.0.15/metalstack/api/v2/image_connecpy.py +0 -214
  40. metal_stack_api-0.0.15/metalstack/api/v2/ip_connecpy.py +0 -326
  41. metal_stack_api-0.0.15/metalstack/api/v2/machine_connecpy.py +0 -326
  42. metal_stack_api-0.0.15/metalstack/api/v2/method_connecpy.py +0 -158
  43. metal_stack_api-0.0.15/metalstack/api/v2/network_connecpy.py +0 -382
  44. metal_stack_api-0.0.15/metalstack/api/v2/partition_connecpy.py +0 -158
  45. metal_stack_api-0.0.15/metalstack/api/v2/project_connecpy.py +0 -718
  46. metal_stack_api-0.0.15/metalstack/api/v2/size_connecpy.py +0 -158
  47. metal_stack_api-0.0.15/metalstack/api/v2/tenant_connecpy.py +0 -718
  48. metal_stack_api-0.0.15/metalstack/api/v2/token_connecpy.py +0 -382
  49. metal_stack_api-0.0.15/metalstack/api/v2/user_connecpy.py +0 -102
  50. metal_stack_api-0.0.15/metalstack/api/v2/version_connecpy.py +0 -102
  51. metal_stack_api-0.0.15/metalstack/infra/v2/bmc_connecpy.py +0 -102
  52. metal_stack_api-0.0.15/metalstack/infra/v2/switch_connecpy.py +0 -102
  53. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/README.md +0 -0
  54. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/buf/__init__.py +0 -0
  55. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/buf/validate/__init__.py +0 -0
  56. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/buf/validate/validate_pb2.py +0 -0
  57. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/buf/validate/validate_pb2.pyi +0 -0
  58. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/buf/validate/validate_pb2_grpc.py +0 -0
  59. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metal_stack_api.egg-info/SOURCES.txt +0 -0
  60. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  61. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metal_stack_api.egg-info/requires.txt +0 -0
  62. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metal_stack_api.egg-info/top_level.txt +0 -0
  63. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/__init__.py +0 -0
  64. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/__init__.py +0 -0
  65. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/__init__.py +0 -0
  66. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/filesystem_pb2.py +0 -0
  67. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  68. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/filesystem_pb2_grpc.py +0 -0
  69. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/image_pb2.py +0 -0
  70. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/image_pb2.pyi +0 -0
  71. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/image_pb2_grpc.py +0 -0
  72. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/ip_pb2.py +0 -0
  73. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  74. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/ip_pb2_grpc.py +0 -0
  75. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/machine_pb2.py +0 -0
  76. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/machine_pb2.pyi +0 -0
  77. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/machine_pb2_grpc.py +0 -0
  78. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/network_pb2.py +0 -0
  79. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/network_pb2.pyi +0 -0
  80. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/network_pb2_grpc.py +0 -0
  81. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/partition_pb2.py +0 -0
  82. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  83. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/partition_pb2_grpc.py +0 -0
  84. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/size_pb2.py +0 -0
  85. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/size_pb2.pyi +0 -0
  86. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/size_pb2_grpc.py +0 -0
  87. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/tenant_pb2.py +0 -0
  88. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/tenant_pb2.pyi +0 -0
  89. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/tenant_pb2_grpc.py +0 -0
  90. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/token_pb2.py +0 -0
  91. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/token_pb2.pyi +0 -0
  92. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/admin/v2/token_pb2_grpc.py +0 -0
  93. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/__init__.py +0 -0
  94. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/__init__.py +0 -0
  95. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/common_pb2.py +0 -0
  96. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/common_pb2.pyi +0 -0
  97. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/common_pb2_grpc.py +0 -0
  98. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/filesystem_pb2.py +0 -0
  99. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  100. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/filesystem_pb2_grpc.py +0 -0
  101. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/health_pb2.py +0 -0
  102. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/health_pb2.pyi +0 -0
  103. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/health_pb2_grpc.py +0 -0
  104. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/image_pb2.py +0 -0
  105. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/image_pb2.pyi +0 -0
  106. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/image_pb2_grpc.py +0 -0
  107. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/ip_pb2.py +0 -0
  108. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/ip_pb2.pyi +0 -0
  109. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/ip_pb2_grpc.py +0 -0
  110. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/machine_pb2.py +0 -0
  111. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/machine_pb2.pyi +0 -0
  112. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/machine_pb2_grpc.py +0 -0
  113. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/method_pb2.py +0 -0
  114. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/method_pb2.pyi +0 -0
  115. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/method_pb2_grpc.py +0 -0
  116. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/network_pb2.py +0 -0
  117. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/network_pb2.pyi +0 -0
  118. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/network_pb2_grpc.py +0 -0
  119. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/partition_pb2.py +0 -0
  120. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/partition_pb2.pyi +0 -0
  121. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/partition_pb2_grpc.py +0 -0
  122. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/project_pb2.py +0 -0
  123. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/project_pb2.pyi +0 -0
  124. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/project_pb2_grpc.py +0 -0
  125. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/size_pb2.py +0 -0
  126. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/size_pb2.pyi +0 -0
  127. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/size_pb2_grpc.py +0 -0
  128. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/switch_pb2.py +0 -0
  129. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/switch_pb2.pyi +0 -0
  130. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/switch_pb2_grpc.py +0 -0
  131. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/tenant_pb2.py +0 -0
  132. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/tenant_pb2.pyi +0 -0
  133. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/tenant_pb2_grpc.py +0 -0
  134. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/token_pb2.py +0 -0
  135. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/token_pb2.pyi +0 -0
  136. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/token_pb2_grpc.py +0 -0
  137. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/user_pb2.py +0 -0
  138. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/user_pb2.pyi +0 -0
  139. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/user_pb2_grpc.py +0 -0
  140. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/version_pb2.py +0 -0
  141. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/version_pb2.pyi +0 -0
  142. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/api/v2/version_pb2_grpc.py +0 -0
  143. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/client/__init__.py +0 -0
  144. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/client/client.py +0 -0
  145. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/__init__.py +0 -0
  146. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/v2/__init__.py +0 -0
  147. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/v2/bmc_pb2.py +0 -0
  148. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/v2/bmc_pb2.pyi +0 -0
  149. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/v2/bmc_pb2_grpc.py +0 -0
  150. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/v2/switch_pb2.py +0 -0
  151. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  152. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/metalstack/infra/v2/switch_pb2_grpc.py +0 -0
  153. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/setup.cfg +0 -0
  154. {metal_stack_api-0.0.15 → metal_stack_api-0.0.16}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.15
3
+ Version: 0.0.16
4
4
  Summary: Python API client for metal-stack api
5
5
  Home-page: https://github.com/metal-stack/api
6
6
  Author: metal-stack authors
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.15
3
+ Version: 0.0.16
4
4
  Summary: Python API client for metal-stack api
5
5
  Home-page: https://github.com/metal-stack/api
6
6
  Author: metal-stack authors
@@ -0,0 +1,249 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/i2y/connecpy/v2/protoc-gen-connecpy. DO NOT EDIT!
3
+ # source: metalstack/admin/v2/filesystem.proto
4
+
5
+ from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
+ from typing import Protocol
7
+
8
+ from connecpy.client import ConnecpyClient, ConnecpyClientSync
9
+ from connecpy.code import Code
10
+ from connecpy.exceptions import ConnecpyException
11
+ from connecpy.interceptor import Interceptor, InterceptorSync
12
+ from connecpy.method import IdempotencyLevel, MethodInfo
13
+ from connecpy.request import Headers, RequestContext
14
+ from connecpy.server import ConnecpyASGIApplication, ConnecpyWSGIApplication, Endpoint, EndpointSync
15
+ import metalstack.admin.v2.filesystem_pb2 as metalstack_dot_admin_dot_v2_dot_filesystem__pb2
16
+
17
+
18
+ class FilesystemService(Protocol):
19
+ async def create(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse:
20
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
21
+
22
+ async def update(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse:
23
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
24
+
25
+ async def delete(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse:
26
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
27
+
28
+
29
+ class FilesystemServiceASGIApplication(ConnecpyASGIApplication):
30
+ def __init__(self, service: FilesystemService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None):
31
+ super().__init__(
32
+ endpoints={
33
+ "/metalstack.admin.v2.FilesystemService/Create": Endpoint.unary(
34
+ method=MethodInfo(
35
+ name="Create",
36
+ service_name="metalstack.admin.v2.FilesystemService",
37
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
38
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse,
39
+ idempotency_level=IdempotencyLevel.UNKNOWN,
40
+ ),
41
+ function=service.create,
42
+ ),
43
+ "/metalstack.admin.v2.FilesystemService/Update": Endpoint.unary(
44
+ method=MethodInfo(
45
+ name="Update",
46
+ service_name="metalstack.admin.v2.FilesystemService",
47
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest,
48
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse,
49
+ idempotency_level=IdempotencyLevel.UNKNOWN,
50
+ ),
51
+ function=service.update,
52
+ ),
53
+ "/metalstack.admin.v2.FilesystemService/Delete": Endpoint.unary(
54
+ method=MethodInfo(
55
+ name="Delete",
56
+ service_name="metalstack.admin.v2.FilesystemService",
57
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest,
58
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse,
59
+ idempotency_level=IdempotencyLevel.UNKNOWN,
60
+ ),
61
+ function=service.delete,
62
+ ),
63
+ },
64
+ interceptors=interceptors,
65
+ read_max_bytes=read_max_bytes,
66
+ )
67
+
68
+ @property
69
+ def path(self):
70
+ """Returns the URL path to mount the application to when serving multiple applications."""
71
+ return "/metalstack.admin.v2.FilesystemService"
72
+
73
+
74
+ class FilesystemServiceClient(ConnecpyClient):
75
+ async def create(
76
+ self,
77
+ request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
78
+ *,
79
+ headers: Headers | Mapping[str, str] | None = None,
80
+ timeout_ms: int | None = None,
81
+ ) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse:
82
+ return await self.execute_unary(
83
+ request=request,
84
+ method=MethodInfo(
85
+ name="Create",
86
+ service_name="metalstack.admin.v2.FilesystemService",
87
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
88
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse,
89
+ idempotency_level=IdempotencyLevel.UNKNOWN,
90
+ ),
91
+ headers=headers,
92
+ timeout_ms=timeout_ms,
93
+ )
94
+
95
+ async def update(
96
+ self,
97
+ request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest,
98
+ *,
99
+ headers: Headers | Mapping[str, str] | None = None,
100
+ timeout_ms: int | None = None,
101
+ ) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse:
102
+ return await self.execute_unary(
103
+ request=request,
104
+ method=MethodInfo(
105
+ name="Update",
106
+ service_name="metalstack.admin.v2.FilesystemService",
107
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest,
108
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse,
109
+ idempotency_level=IdempotencyLevel.UNKNOWN,
110
+ ),
111
+ headers=headers,
112
+ timeout_ms=timeout_ms,
113
+ )
114
+
115
+ async def delete(
116
+ self,
117
+ request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest,
118
+ *,
119
+ headers: Headers | Mapping[str, str] | None = None,
120
+ timeout_ms: int | None = None,
121
+ ) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse:
122
+ return await self.execute_unary(
123
+ request=request,
124
+ method=MethodInfo(
125
+ name="Delete",
126
+ service_name="metalstack.admin.v2.FilesystemService",
127
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest,
128
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse,
129
+ idempotency_level=IdempotencyLevel.UNKNOWN,
130
+ ),
131
+ headers=headers,
132
+ timeout_ms=timeout_ms,
133
+ )
134
+
135
+
136
+ class FilesystemServiceSync(Protocol):
137
+ def create(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse:
138
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
139
+ def update(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse:
140
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
141
+ def delete(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse:
142
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
143
+
144
+
145
+ class FilesystemServiceWSGIApplication(ConnecpyWSGIApplication):
146
+ def __init__(self, service: FilesystemServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None):
147
+ super().__init__(
148
+ endpoints={
149
+ "/metalstack.admin.v2.FilesystemService/Create": EndpointSync.unary(
150
+ method=MethodInfo(
151
+ name="Create",
152
+ service_name="metalstack.admin.v2.FilesystemService",
153
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
154
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse,
155
+ idempotency_level=IdempotencyLevel.UNKNOWN,
156
+ ),
157
+ function=service.create,
158
+ ),
159
+ "/metalstack.admin.v2.FilesystemService/Update": EndpointSync.unary(
160
+ method=MethodInfo(
161
+ name="Update",
162
+ service_name="metalstack.admin.v2.FilesystemService",
163
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest,
164
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse,
165
+ idempotency_level=IdempotencyLevel.UNKNOWN,
166
+ ),
167
+ function=service.update,
168
+ ),
169
+ "/metalstack.admin.v2.FilesystemService/Delete": EndpointSync.unary(
170
+ method=MethodInfo(
171
+ name="Delete",
172
+ service_name="metalstack.admin.v2.FilesystemService",
173
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest,
174
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse,
175
+ idempotency_level=IdempotencyLevel.UNKNOWN,
176
+ ),
177
+ function=service.delete,
178
+ ),
179
+ },
180
+ interceptors=interceptors,
181
+ read_max_bytes=read_max_bytes,
182
+ )
183
+
184
+ @property
185
+ def path(self):
186
+ """Returns the URL path to mount the application to when serving multiple applications."""
187
+ return "/metalstack.admin.v2.FilesystemService"
188
+
189
+
190
+ class FilesystemServiceClientSync(ConnecpyClientSync):
191
+ def create(
192
+ self,
193
+ request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
194
+ *,
195
+ headers: Headers | Mapping[str, str] | None = None,
196
+ timeout_ms: int | None = None,
197
+ ) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse:
198
+ return self.execute_unary(
199
+ request=request,
200
+ method=MethodInfo(
201
+ name="Create",
202
+ service_name="metalstack.admin.v2.FilesystemService",
203
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
204
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse,
205
+ idempotency_level=IdempotencyLevel.UNKNOWN,
206
+ ),
207
+ headers=headers,
208
+ timeout_ms=timeout_ms,
209
+ )
210
+
211
+ def update(
212
+ self,
213
+ request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest,
214
+ *,
215
+ headers: Headers | Mapping[str, str] | None = None,
216
+ timeout_ms: int | None = None,
217
+ ) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse:
218
+ return self.execute_unary(
219
+ request=request,
220
+ method=MethodInfo(
221
+ name="Update",
222
+ service_name="metalstack.admin.v2.FilesystemService",
223
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest,
224
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse,
225
+ idempotency_level=IdempotencyLevel.UNKNOWN,
226
+ ),
227
+ headers=headers,
228
+ timeout_ms=timeout_ms,
229
+ )
230
+
231
+ def delete(
232
+ self,
233
+ request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest,
234
+ *,
235
+ headers: Headers | Mapping[str, str] | None = None,
236
+ timeout_ms: int | None = None,
237
+ ) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse:
238
+ return self.execute_unary(
239
+ request=request,
240
+ method=MethodInfo(
241
+ name="Delete",
242
+ service_name="metalstack.admin.v2.FilesystemService",
243
+ input=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest,
244
+ output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse,
245
+ idempotency_level=IdempotencyLevel.UNKNOWN,
246
+ ),
247
+ headers=headers,
248
+ timeout_ms=timeout_ms,
249
+ )
@@ -0,0 +1,314 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/i2y/connecpy/v2/protoc-gen-connecpy. DO NOT EDIT!
3
+ # source: metalstack/admin/v2/image.proto
4
+
5
+ from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
+ from typing import Protocol
7
+
8
+ from connecpy.client import ConnecpyClient, ConnecpyClientSync
9
+ from connecpy.code import Code
10
+ from connecpy.exceptions import ConnecpyException
11
+ from connecpy.interceptor import Interceptor, InterceptorSync
12
+ from connecpy.method import IdempotencyLevel, MethodInfo
13
+ from connecpy.request import Headers, RequestContext
14
+ from connecpy.server import ConnecpyASGIApplication, ConnecpyWSGIApplication, Endpoint, EndpointSync
15
+ import metalstack.admin.v2.image_pb2 as metalstack_dot_admin_dot_v2_dot_image__pb2
16
+
17
+
18
+ class ImageService(Protocol):
19
+ async def create(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse:
20
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
21
+
22
+ async def update(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse:
23
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
24
+
25
+ async def delete(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse:
26
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
27
+
28
+ async def usage(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse:
29
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
30
+
31
+
32
+ class ImageServiceASGIApplication(ConnecpyASGIApplication):
33
+ def __init__(self, service: ImageService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None):
34
+ super().__init__(
35
+ endpoints={
36
+ "/metalstack.admin.v2.ImageService/Create": Endpoint.unary(
37
+ method=MethodInfo(
38
+ name="Create",
39
+ service_name="metalstack.admin.v2.ImageService",
40
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
41
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse,
42
+ idempotency_level=IdempotencyLevel.UNKNOWN,
43
+ ),
44
+ function=service.create,
45
+ ),
46
+ "/metalstack.admin.v2.ImageService/Update": Endpoint.unary(
47
+ method=MethodInfo(
48
+ name="Update",
49
+ service_name="metalstack.admin.v2.ImageService",
50
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest,
51
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse,
52
+ idempotency_level=IdempotencyLevel.UNKNOWN,
53
+ ),
54
+ function=service.update,
55
+ ),
56
+ "/metalstack.admin.v2.ImageService/Delete": Endpoint.unary(
57
+ method=MethodInfo(
58
+ name="Delete",
59
+ service_name="metalstack.admin.v2.ImageService",
60
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest,
61
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse,
62
+ idempotency_level=IdempotencyLevel.UNKNOWN,
63
+ ),
64
+ function=service.delete,
65
+ ),
66
+ "/metalstack.admin.v2.ImageService/Usage": Endpoint.unary(
67
+ method=MethodInfo(
68
+ name="Usage",
69
+ service_name="metalstack.admin.v2.ImageService",
70
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest,
71
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse,
72
+ idempotency_level=IdempotencyLevel.UNKNOWN,
73
+ ),
74
+ function=service.usage,
75
+ ),
76
+ },
77
+ interceptors=interceptors,
78
+ read_max_bytes=read_max_bytes,
79
+ )
80
+
81
+ @property
82
+ def path(self):
83
+ """Returns the URL path to mount the application to when serving multiple applications."""
84
+ return "/metalstack.admin.v2.ImageService"
85
+
86
+
87
+ class ImageServiceClient(ConnecpyClient):
88
+ async def create(
89
+ self,
90
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
91
+ *,
92
+ headers: Headers | Mapping[str, str] | None = None,
93
+ timeout_ms: int | None = None,
94
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse:
95
+ return await self.execute_unary(
96
+ request=request,
97
+ method=MethodInfo(
98
+ name="Create",
99
+ service_name="metalstack.admin.v2.ImageService",
100
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
101
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse,
102
+ idempotency_level=IdempotencyLevel.UNKNOWN,
103
+ ),
104
+ headers=headers,
105
+ timeout_ms=timeout_ms,
106
+ )
107
+
108
+ async def update(
109
+ self,
110
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest,
111
+ *,
112
+ headers: Headers | Mapping[str, str] | None = None,
113
+ timeout_ms: int | None = None,
114
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse:
115
+ return await self.execute_unary(
116
+ request=request,
117
+ method=MethodInfo(
118
+ name="Update",
119
+ service_name="metalstack.admin.v2.ImageService",
120
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest,
121
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse,
122
+ idempotency_level=IdempotencyLevel.UNKNOWN,
123
+ ),
124
+ headers=headers,
125
+ timeout_ms=timeout_ms,
126
+ )
127
+
128
+ async def delete(
129
+ self,
130
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest,
131
+ *,
132
+ headers: Headers | Mapping[str, str] | None = None,
133
+ timeout_ms: int | None = None,
134
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse:
135
+ return await self.execute_unary(
136
+ request=request,
137
+ method=MethodInfo(
138
+ name="Delete",
139
+ service_name="metalstack.admin.v2.ImageService",
140
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest,
141
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse,
142
+ idempotency_level=IdempotencyLevel.UNKNOWN,
143
+ ),
144
+ headers=headers,
145
+ timeout_ms=timeout_ms,
146
+ )
147
+
148
+ async def usage(
149
+ self,
150
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest,
151
+ *,
152
+ headers: Headers | Mapping[str, str] | None = None,
153
+ timeout_ms: int | None = None,
154
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse:
155
+ return await self.execute_unary(
156
+ request=request,
157
+ method=MethodInfo(
158
+ name="Usage",
159
+ service_name="metalstack.admin.v2.ImageService",
160
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest,
161
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse,
162
+ idempotency_level=IdempotencyLevel.UNKNOWN,
163
+ ),
164
+ headers=headers,
165
+ timeout_ms=timeout_ms,
166
+ )
167
+
168
+
169
+ class ImageServiceSync(Protocol):
170
+ def create(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse:
171
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
172
+ def update(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse:
173
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
174
+ def delete(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse:
175
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
176
+ def usage(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse:
177
+ raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
178
+
179
+
180
+ class ImageServiceWSGIApplication(ConnecpyWSGIApplication):
181
+ def __init__(self, service: ImageServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None):
182
+ super().__init__(
183
+ endpoints={
184
+ "/metalstack.admin.v2.ImageService/Create": EndpointSync.unary(
185
+ method=MethodInfo(
186
+ name="Create",
187
+ service_name="metalstack.admin.v2.ImageService",
188
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
189
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse,
190
+ idempotency_level=IdempotencyLevel.UNKNOWN,
191
+ ),
192
+ function=service.create,
193
+ ),
194
+ "/metalstack.admin.v2.ImageService/Update": EndpointSync.unary(
195
+ method=MethodInfo(
196
+ name="Update",
197
+ service_name="metalstack.admin.v2.ImageService",
198
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest,
199
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse,
200
+ idempotency_level=IdempotencyLevel.UNKNOWN,
201
+ ),
202
+ function=service.update,
203
+ ),
204
+ "/metalstack.admin.v2.ImageService/Delete": EndpointSync.unary(
205
+ method=MethodInfo(
206
+ name="Delete",
207
+ service_name="metalstack.admin.v2.ImageService",
208
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest,
209
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse,
210
+ idempotency_level=IdempotencyLevel.UNKNOWN,
211
+ ),
212
+ function=service.delete,
213
+ ),
214
+ "/metalstack.admin.v2.ImageService/Usage": EndpointSync.unary(
215
+ method=MethodInfo(
216
+ name="Usage",
217
+ service_name="metalstack.admin.v2.ImageService",
218
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest,
219
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse,
220
+ idempotency_level=IdempotencyLevel.UNKNOWN,
221
+ ),
222
+ function=service.usage,
223
+ ),
224
+ },
225
+ interceptors=interceptors,
226
+ read_max_bytes=read_max_bytes,
227
+ )
228
+
229
+ @property
230
+ def path(self):
231
+ """Returns the URL path to mount the application to when serving multiple applications."""
232
+ return "/metalstack.admin.v2.ImageService"
233
+
234
+
235
+ class ImageServiceClientSync(ConnecpyClientSync):
236
+ def create(
237
+ self,
238
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
239
+ *,
240
+ headers: Headers | Mapping[str, str] | None = None,
241
+ timeout_ms: int | None = None,
242
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse:
243
+ return self.execute_unary(
244
+ request=request,
245
+ method=MethodInfo(
246
+ name="Create",
247
+ service_name="metalstack.admin.v2.ImageService",
248
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
249
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse,
250
+ idempotency_level=IdempotencyLevel.UNKNOWN,
251
+ ),
252
+ headers=headers,
253
+ timeout_ms=timeout_ms,
254
+ )
255
+
256
+ def update(
257
+ self,
258
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest,
259
+ *,
260
+ headers: Headers | Mapping[str, str] | None = None,
261
+ timeout_ms: int | None = None,
262
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse:
263
+ return self.execute_unary(
264
+ request=request,
265
+ method=MethodInfo(
266
+ name="Update",
267
+ service_name="metalstack.admin.v2.ImageService",
268
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest,
269
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse,
270
+ idempotency_level=IdempotencyLevel.UNKNOWN,
271
+ ),
272
+ headers=headers,
273
+ timeout_ms=timeout_ms,
274
+ )
275
+
276
+ def delete(
277
+ self,
278
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest,
279
+ *,
280
+ headers: Headers | Mapping[str, str] | None = None,
281
+ timeout_ms: int | None = None,
282
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse:
283
+ return self.execute_unary(
284
+ request=request,
285
+ method=MethodInfo(
286
+ name="Delete",
287
+ service_name="metalstack.admin.v2.ImageService",
288
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest,
289
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse,
290
+ idempotency_level=IdempotencyLevel.UNKNOWN,
291
+ ),
292
+ headers=headers,
293
+ timeout_ms=timeout_ms,
294
+ )
295
+
296
+ def usage(
297
+ self,
298
+ request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest,
299
+ *,
300
+ headers: Headers | Mapping[str, str] | None = None,
301
+ timeout_ms: int | None = None,
302
+ ) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse:
303
+ return self.execute_unary(
304
+ request=request,
305
+ method=MethodInfo(
306
+ name="Usage",
307
+ service_name="metalstack.admin.v2.ImageService",
308
+ input=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest,
309
+ output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse,
310
+ idempotency_level=IdempotencyLevel.UNKNOWN,
311
+ ),
312
+ headers=headers,
313
+ timeout_ms=timeout_ms,
314
+ )