metal-stack-api 0.1.0__tar.gz → 0.1.1__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 (146) hide show
  1. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/PKG-INFO +3 -3
  2. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metal_stack_api.egg-info/PKG-INFO +3 -3
  3. metal_stack_api-0.1.1/metal_stack_api.egg-info/requires.txt +2 -0
  4. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/audit_connect.py +13 -2
  5. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/component_connect.py +13 -2
  6. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/filesystem_connect.py +13 -2
  7. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/image_connect.py +13 -2
  8. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/ip_connect.py +13 -2
  9. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/machine_connect.py +78 -2
  10. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/machine_pb2.py +15 -3
  11. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/machine_pb2.pyi +16 -0
  12. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/network_connect.py +13 -2
  13. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/partition_connect.py +13 -2
  14. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/project_connect.py +13 -2
  15. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_connect.py +13 -2
  16. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_imageconstraint_connect.py +13 -2
  17. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_reservation_connect.py +13 -2
  18. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/switch_connect.py +13 -2
  19. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/task_connect.py +13 -2
  20. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/tenant_connect.py +13 -2
  21. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/token_connect.py +13 -2
  22. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/vpn_connect.py +13 -2
  23. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/audit_connect.py +13 -2
  24. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/filesystem_connect.py +13 -2
  25. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/health_connect.py +13 -2
  26. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/image_connect.py +13 -2
  27. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/ip_connect.py +13 -2
  28. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/machine_connect.py +13 -2
  29. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/method_connect.py +13 -2
  30. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/network_connect.py +13 -2
  31. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/partition_connect.py +13 -2
  32. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/project_connect.py +13 -2
  33. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_connect.py +13 -2
  34. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_imageconstraint_connect.py +13 -2
  35. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_reservation_connect.py +13 -2
  36. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/tenant_connect.py +13 -2
  37. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/token_connect.py +13 -2
  38. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/user_connect.py +13 -2
  39. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/version_connect.py +13 -2
  40. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/bmc_connect.py +13 -2
  41. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/boot_connect.py +13 -2
  42. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/component_connect.py +13 -2
  43. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/event_connect.py +13 -2
  44. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/switch_connect.py +13 -2
  45. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/setup.py +2 -2
  46. metal_stack_api-0.1.0/metal_stack_api.egg-info/requires.txt +0 -2
  47. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/README.md +0 -0
  48. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metal_stack_api.egg-info/SOURCES.txt +0 -0
  49. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  50. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metal_stack_api.egg-info/top_level.txt +0 -0
  51. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/__init__.py +0 -0
  52. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/__init__.py +0 -0
  53. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/__init__.py +0 -0
  54. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/audit_pb2.py +0 -0
  55. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/audit_pb2.pyi +0 -0
  56. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/component_pb2.py +0 -0
  57. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/component_pb2.pyi +0 -0
  58. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/filesystem_pb2.py +0 -0
  59. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  60. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/image_pb2.py +0 -0
  61. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/image_pb2.pyi +0 -0
  62. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/ip_pb2.py +0 -0
  63. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  64. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/network_pb2.py +0 -0
  65. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/network_pb2.pyi +0 -0
  66. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/partition_pb2.py +0 -0
  67. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  68. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/project_pb2.py +0 -0
  69. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/project_pb2.pyi +0 -0
  70. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_imageconstraint_pb2.py +0 -0
  71. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_imageconstraint_pb2.pyi +0 -0
  72. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_pb2.py +0 -0
  73. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_pb2.pyi +0 -0
  74. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_reservation_pb2.py +0 -0
  75. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/size_reservation_pb2.pyi +0 -0
  76. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/switch_pb2.py +0 -0
  77. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/switch_pb2.pyi +0 -0
  78. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/task_pb2.py +0 -0
  79. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/task_pb2.pyi +0 -0
  80. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/tenant_pb2.py +0 -0
  81. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/tenant_pb2.pyi +0 -0
  82. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/token_pb2.py +0 -0
  83. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/token_pb2.pyi +0 -0
  84. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/vpn_pb2.py +0 -0
  85. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/admin/v2/vpn_pb2.pyi +0 -0
  86. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/__init__.py +0 -0
  87. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/__init__.py +0 -0
  88. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/audit_pb2.py +0 -0
  89. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/audit_pb2.pyi +0 -0
  90. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/common_pb2.py +0 -0
  91. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/common_pb2.pyi +0 -0
  92. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/component_pb2.py +0 -0
  93. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/component_pb2.pyi +0 -0
  94. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/filesystem_pb2.py +0 -0
  95. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  96. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/health_pb2.py +0 -0
  97. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/health_pb2.pyi +0 -0
  98. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/image_pb2.py +0 -0
  99. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/image_pb2.pyi +0 -0
  100. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/ip_pb2.py +0 -0
  101. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/ip_pb2.pyi +0 -0
  102. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/machine_pb2.py +0 -0
  103. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/machine_pb2.pyi +0 -0
  104. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/method_pb2.py +0 -0
  105. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/method_pb2.pyi +0 -0
  106. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/network_pb2.py +0 -0
  107. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/network_pb2.pyi +0 -0
  108. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/partition_pb2.py +0 -0
  109. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/partition_pb2.pyi +0 -0
  110. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/predefined_rules_pb2.py +0 -0
  111. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/predefined_rules_pb2.pyi +0 -0
  112. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/project_pb2.py +0 -0
  113. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/project_pb2.pyi +0 -0
  114. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_imageconstraint_pb2.py +0 -0
  115. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_imageconstraint_pb2.pyi +0 -0
  116. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_pb2.py +0 -0
  117. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_pb2.pyi +0 -0
  118. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_reservation_pb2.py +0 -0
  119. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/size_reservation_pb2.pyi +0 -0
  120. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/switch_pb2.py +0 -0
  121. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/switch_pb2.pyi +0 -0
  122. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/tenant_pb2.py +0 -0
  123. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/tenant_pb2.pyi +0 -0
  124. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/token_pb2.py +0 -0
  125. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/token_pb2.pyi +0 -0
  126. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/user_pb2.py +0 -0
  127. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/user_pb2.pyi +0 -0
  128. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/version_pb2.py +0 -0
  129. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/version_pb2.pyi +0 -0
  130. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/vpn_pb2.py +0 -0
  131. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/api/v2/vpn_pb2.pyi +0 -0
  132. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/client/__init__.py +0 -0
  133. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/client/client.py +0 -0
  134. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/__init__.py +0 -0
  135. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/__init__.py +0 -0
  136. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/bmc_pb2.py +0 -0
  137. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/bmc_pb2.pyi +0 -0
  138. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/boot_pb2.py +0 -0
  139. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/boot_pb2.pyi +0 -0
  140. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/component_pb2.py +0 -0
  141. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/component_pb2.pyi +0 -0
  142. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/event_pb2.py +0 -0
  143. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/event_pb2.pyi +0 -0
  144. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/switch_pb2.py +0 -0
  145. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  146. {metal_stack_api-0.1.0 → metal_stack_api-0.1.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.1.0
3
+ Version: 0.1.1
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
@@ -13,8 +13,8 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
- Requires-Dist: connect-python>=0.7.0
17
- Requires-Dist: protovalidate>=1.1.0
16
+ Requires-Dist: connectrpc>=0.10.0
17
+ Requires-Dist: protovalidate>=1.2.0
18
18
  Dynamic: author
19
19
  Dynamic: classifier
20
20
  Dynamic: description
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.1.0
3
+ Version: 0.1.1
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
@@ -13,8 +13,8 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
- Requires-Dist: connect-python>=0.7.0
17
- Requires-Dist: protovalidate>=1.1.0
16
+ Requires-Dist: connectrpc>=0.10.0
17
+ Requires-Dist: protovalidate>=1.2.0
18
18
  Dynamic: author
19
19
  Dynamic: classifier
20
20
  Dynamic: description
@@ -0,0 +1,2 @@
1
+ connectrpc>=0.10.0
2
+ protovalidate>=1.2.0
@@ -7,6 +7,8 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.codec import Codec
11
+ from connectrpc.compression import Compression
10
12
  from connectrpc.errors import ConnectError
11
13
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
14
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -24,7 +26,7 @@ class AuditService(Protocol):
24
26
 
25
27
 
26
28
  class AuditServiceASGIApplication(ConnectASGIApplication[AuditService]):
27
- def __init__(self, service: AuditService | AsyncGenerator[AuditService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
29
+ def __init__(self, service: AuditService | AsyncGenerator[AuditService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
28
30
  super().__init__(
29
31
  service=service,
30
32
  endpoints=lambda svc: {
@@ -51,6 +53,8 @@ class AuditServiceASGIApplication(ConnectASGIApplication[AuditService]):
51
53
  },
52
54
  interceptors=interceptors,
53
55
  read_max_bytes=read_max_bytes,
56
+ compressions=compressions,
57
+ codecs=codecs,
54
58
  )
55
59
 
56
60
  @property
@@ -101,6 +105,9 @@ class AuditServiceClient(ConnectClient):
101
105
  )
102
106
 
103
107
 
108
+
109
+
110
+
104
111
  class AuditServiceSync(Protocol):
105
112
  def get(self, request: metalstack_dot_admin_dot_v2_dot_audit__pb2.AuditServiceGetRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_audit__pb2.AuditServiceGetResponse:
106
113
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -109,7 +116,7 @@ class AuditServiceSync(Protocol):
109
116
 
110
117
 
111
118
  class AuditServiceWSGIApplication(ConnectWSGIApplication):
112
- def __init__(self, service: AuditServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
119
+ def __init__(self, service: AuditServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
113
120
  super().__init__(
114
121
  endpoints={
115
122
  "/metalstack.admin.v2.AuditService/Get": EndpointSync.unary(
@@ -135,6 +142,8 @@ class AuditServiceWSGIApplication(ConnectWSGIApplication):
135
142
  },
136
143
  interceptors=interceptors,
137
144
  read_max_bytes=read_max_bytes,
145
+ compressions=compressions,
146
+ codecs=codecs,
138
147
  )
139
148
 
140
149
  @property
@@ -183,3 +192,5 @@ class AuditServiceClientSync(ConnectClientSync):
183
192
  headers=headers,
184
193
  timeout_ms=timeout_ms,
185
194
  )
195
+
196
+
@@ -7,6 +7,8 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.codec import Codec
11
+ from connectrpc.compression import Compression
10
12
  from connectrpc.errors import ConnectError
11
13
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
14
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -27,7 +29,7 @@ class ComponentService(Protocol):
27
29
 
28
30
 
29
31
  class ComponentServiceASGIApplication(ConnectASGIApplication[ComponentService]):
30
- def __init__(self, service: ComponentService | AsyncGenerator[ComponentService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
32
+ def __init__(self, service: ComponentService | AsyncGenerator[ComponentService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
31
33
  super().__init__(
32
34
  service=service,
33
35
  endpoints=lambda svc: {
@@ -64,6 +66,8 @@ class ComponentServiceASGIApplication(ConnectASGIApplication[ComponentService]):
64
66
  },
65
67
  interceptors=interceptors,
66
68
  read_max_bytes=read_max_bytes,
69
+ compressions=compressions,
70
+ codecs=codecs,
67
71
  )
68
72
 
69
73
  @property
@@ -134,6 +138,9 @@ class ComponentServiceClient(ConnectClient):
134
138
  )
135
139
 
136
140
 
141
+
142
+
143
+
137
144
  class ComponentServiceSync(Protocol):
138
145
  def get(self, request: metalstack_dot_admin_dot_v2_dot_component__pb2.ComponentServiceGetRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_component__pb2.ComponentServiceGetResponse:
139
146
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -144,7 +151,7 @@ class ComponentServiceSync(Protocol):
144
151
 
145
152
 
146
153
  class ComponentServiceWSGIApplication(ConnectWSGIApplication):
147
- def __init__(self, service: ComponentServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
154
+ def __init__(self, service: ComponentServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
148
155
  super().__init__(
149
156
  endpoints={
150
157
  "/metalstack.admin.v2.ComponentService/Get": EndpointSync.unary(
@@ -180,6 +187,8 @@ class ComponentServiceWSGIApplication(ConnectWSGIApplication):
180
187
  },
181
188
  interceptors=interceptors,
182
189
  read_max_bytes=read_max_bytes,
190
+ compressions=compressions,
191
+ codecs=codecs,
183
192
  )
184
193
 
185
194
  @property
@@ -248,3 +257,5 @@ class ComponentServiceClientSync(ConnectClientSync):
248
257
  headers=headers,
249
258
  timeout_ms=timeout_ms,
250
259
  )
260
+
261
+
@@ -7,6 +7,8 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.codec import Codec
11
+ from connectrpc.compression import Compression
10
12
  from connectrpc.errors import ConnectError
11
13
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
14
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -30,7 +32,7 @@ class FilesystemService(Protocol):
30
32
 
31
33
 
32
34
  class FilesystemServiceASGIApplication(ConnectASGIApplication[FilesystemService]):
33
- def __init__(self, service: FilesystemService | AsyncGenerator[FilesystemService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
35
+ def __init__(self, service: FilesystemService | AsyncGenerator[FilesystemService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
34
36
  super().__init__(
35
37
  service=service,
36
38
  endpoints=lambda svc: {
@@ -77,6 +79,8 @@ class FilesystemServiceASGIApplication(ConnectASGIApplication[FilesystemService]
77
79
  },
78
80
  interceptors=interceptors,
79
81
  read_max_bytes=read_max_bytes,
82
+ compressions=compressions,
83
+ codecs=codecs,
80
84
  )
81
85
 
82
86
  @property
@@ -167,6 +171,9 @@ class FilesystemServiceClient(ConnectClient):
167
171
  )
168
172
 
169
173
 
174
+
175
+
176
+
170
177
  class FilesystemServiceSync(Protocol):
171
178
  def create(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse:
172
179
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -179,7 +186,7 @@ class FilesystemServiceSync(Protocol):
179
186
 
180
187
 
181
188
  class FilesystemServiceWSGIApplication(ConnectWSGIApplication):
182
- def __init__(self, service: FilesystemServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
189
+ def __init__(self, service: FilesystemServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
183
190
  super().__init__(
184
191
  endpoints={
185
192
  "/metalstack.admin.v2.FilesystemService/Create": EndpointSync.unary(
@@ -225,6 +232,8 @@ class FilesystemServiceWSGIApplication(ConnectWSGIApplication):
225
232
  },
226
233
  interceptors=interceptors,
227
234
  read_max_bytes=read_max_bytes,
235
+ compressions=compressions,
236
+ codecs=codecs,
228
237
  )
229
238
 
230
239
  @property
@@ -313,3 +322,5 @@ class FilesystemServiceClientSync(ConnectClientSync):
313
322
  headers=headers,
314
323
  timeout_ms=timeout_ms,
315
324
  )
325
+
326
+
@@ -7,6 +7,8 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.codec import Codec
11
+ from connectrpc.compression import Compression
10
12
  from connectrpc.errors import ConnectError
11
13
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
14
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -30,7 +32,7 @@ class ImageService(Protocol):
30
32
 
31
33
 
32
34
  class ImageServiceASGIApplication(ConnectASGIApplication[ImageService]):
33
- def __init__(self, service: ImageService | AsyncGenerator[ImageService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
35
+ def __init__(self, service: ImageService | AsyncGenerator[ImageService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
34
36
  super().__init__(
35
37
  service=service,
36
38
  endpoints=lambda svc: {
@@ -77,6 +79,8 @@ class ImageServiceASGIApplication(ConnectASGIApplication[ImageService]):
77
79
  },
78
80
  interceptors=interceptors,
79
81
  read_max_bytes=read_max_bytes,
82
+ compressions=compressions,
83
+ codecs=codecs,
80
84
  )
81
85
 
82
86
  @property
@@ -167,6 +171,9 @@ class ImageServiceClient(ConnectClient):
167
171
  )
168
172
 
169
173
 
174
+
175
+
176
+
170
177
  class ImageServiceSync(Protocol):
171
178
  def create(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse:
172
179
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -179,7 +186,7 @@ class ImageServiceSync(Protocol):
179
186
 
180
187
 
181
188
  class ImageServiceWSGIApplication(ConnectWSGIApplication):
182
- def __init__(self, service: ImageServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
189
+ def __init__(self, service: ImageServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
183
190
  super().__init__(
184
191
  endpoints={
185
192
  "/metalstack.admin.v2.ImageService/Create": EndpointSync.unary(
@@ -225,6 +232,8 @@ class ImageServiceWSGIApplication(ConnectWSGIApplication):
225
232
  },
226
233
  interceptors=interceptors,
227
234
  read_max_bytes=read_max_bytes,
235
+ compressions=compressions,
236
+ codecs=codecs,
228
237
  )
229
238
 
230
239
  @property
@@ -313,3 +322,5 @@ class ImageServiceClientSync(ConnectClientSync):
313
322
  headers=headers,
314
323
  timeout_ms=timeout_ms,
315
324
  )
325
+
326
+
@@ -7,6 +7,8 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.codec import Codec
11
+ from connectrpc.compression import Compression
10
12
  from connectrpc.errors import ConnectError
11
13
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
14
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -21,7 +23,7 @@ class IPService(Protocol):
21
23
 
22
24
 
23
25
  class IPServiceASGIApplication(ConnectASGIApplication[IPService]):
24
- def __init__(self, service: IPService | AsyncGenerator[IPService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
26
+ def __init__(self, service: IPService | AsyncGenerator[IPService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
25
27
  super().__init__(
26
28
  service=service,
27
29
  endpoints=lambda svc: {
@@ -38,6 +40,8 @@ class IPServiceASGIApplication(ConnectASGIApplication[IPService]):
38
40
  },
39
41
  interceptors=interceptors,
40
42
  read_max_bytes=read_max_bytes,
43
+ compressions=compressions,
44
+ codecs=codecs,
41
45
  )
42
46
 
43
47
  @property
@@ -68,13 +72,16 @@ class IPServiceClient(ConnectClient):
68
72
  )
69
73
 
70
74
 
75
+
76
+
77
+
71
78
  class IPServiceSync(Protocol):
72
79
  def list(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListResponse:
73
80
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
74
81
 
75
82
 
76
83
  class IPServiceWSGIApplication(ConnectWSGIApplication):
77
- def __init__(self, service: IPServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
84
+ def __init__(self, service: IPServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
78
85
  super().__init__(
79
86
  endpoints={
80
87
  "/metalstack.admin.v2.IPService/List": EndpointSync.unary(
@@ -90,6 +97,8 @@ class IPServiceWSGIApplication(ConnectWSGIApplication):
90
97
  },
91
98
  interceptors=interceptors,
92
99
  read_max_bytes=read_max_bytes,
100
+ compressions=compressions,
101
+ codecs=codecs,
93
102
  )
94
103
 
95
104
  @property
@@ -118,3 +127,5 @@ class IPServiceClientSync(ConnectClientSync):
118
127
  headers=headers,
119
128
  timeout_ms=timeout_ms,
120
129
  )
130
+
131
+
@@ -7,6 +7,8 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.codec import Codec
11
+ from connectrpc.compression import Compression
10
12
  from connectrpc.errors import ConnectError
11
13
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
14
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -34,9 +36,12 @@ class MachineService(Protocol):
34
36
  async def console_password(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceConsolePasswordRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceConsolePasswordResponse:
35
37
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
36
38
 
39
+ async def set_state(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse:
40
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
41
+
37
42
 
38
43
  class MachineServiceASGIApplication(ConnectASGIApplication[MachineService]):
39
- def __init__(self, service: MachineService | AsyncGenerator[MachineService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
44
+ def __init__(self, service: MachineService | AsyncGenerator[MachineService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
40
45
  super().__init__(
41
46
  service=service,
42
47
  endpoints=lambda svc: {
@@ -100,9 +105,21 @@ class MachineServiceASGIApplication(ConnectASGIApplication[MachineService]):
100
105
  ),
101
106
  function=svc.console_password,
102
107
  ),
108
+ "/metalstack.admin.v2.MachineService/SetState": Endpoint.unary(
109
+ method=MethodInfo(
110
+ name="SetState",
111
+ service_name="metalstack.admin.v2.MachineService",
112
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest,
113
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse,
114
+ idempotency_level=IdempotencyLevel.UNKNOWN,
115
+ ),
116
+ function=svc.set_state,
117
+ ),
103
118
  },
104
119
  interceptors=interceptors,
105
120
  read_max_bytes=read_max_bytes,
121
+ compressions=compressions,
122
+ codecs=codecs,
106
123
  )
107
124
 
108
125
  @property
@@ -232,6 +249,29 @@ class MachineServiceClient(ConnectClient):
232
249
  timeout_ms=timeout_ms,
233
250
  )
234
251
 
252
+ async def set_state(
253
+ self,
254
+ request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest,
255
+ *,
256
+ headers: Headers | Mapping[str, str] | None = None,
257
+ timeout_ms: int | None = None,
258
+ ) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse:
259
+ return await self.execute_unary(
260
+ request=request,
261
+ method=MethodInfo(
262
+ name="SetState",
263
+ service_name="metalstack.admin.v2.MachineService",
264
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest,
265
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse,
266
+ idempotency_level=IdempotencyLevel.UNKNOWN,
267
+ ),
268
+ headers=headers,
269
+ timeout_ms=timeout_ms,
270
+ )
271
+
272
+
273
+
274
+
235
275
 
236
276
  class MachineServiceSync(Protocol):
237
277
  def get(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceGetRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceGetResponse:
@@ -246,10 +286,12 @@ class MachineServiceSync(Protocol):
246
286
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
247
287
  def console_password(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceConsolePasswordRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceConsolePasswordResponse:
248
288
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
289
+ def set_state(self, request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse:
290
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
249
291
 
250
292
 
251
293
  class MachineServiceWSGIApplication(ConnectWSGIApplication):
252
- def __init__(self, service: MachineServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
294
+ def __init__(self, service: MachineServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
253
295
  super().__init__(
254
296
  endpoints={
255
297
  "/metalstack.admin.v2.MachineService/Get": EndpointSync.unary(
@@ -312,9 +354,21 @@ class MachineServiceWSGIApplication(ConnectWSGIApplication):
312
354
  ),
313
355
  function=service.console_password,
314
356
  ),
357
+ "/metalstack.admin.v2.MachineService/SetState": EndpointSync.unary(
358
+ method=MethodInfo(
359
+ name="SetState",
360
+ service_name="metalstack.admin.v2.MachineService",
361
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest,
362
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse,
363
+ idempotency_level=IdempotencyLevel.UNKNOWN,
364
+ ),
365
+ function=service.set_state,
366
+ ),
315
367
  },
316
368
  interceptors=interceptors,
317
369
  read_max_bytes=read_max_bytes,
370
+ compressions=compressions,
371
+ codecs=codecs,
318
372
  )
319
373
 
320
374
  @property
@@ -443,3 +497,25 @@ class MachineServiceClientSync(ConnectClientSync):
443
497
  headers=headers,
444
498
  timeout_ms=timeout_ms,
445
499
  )
500
+
501
+ def set_state(
502
+ self,
503
+ request: metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest,
504
+ *,
505
+ headers: Headers | Mapping[str, str] | None = None,
506
+ timeout_ms: int | None = None,
507
+ ) -> metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse:
508
+ return self.execute_unary(
509
+ request=request,
510
+ method=MethodInfo(
511
+ name="SetState",
512
+ service_name="metalstack.admin.v2.MachineService",
513
+ input=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateRequest,
514
+ output=metalstack_dot_admin_dot_v2_dot_machine__pb2.MachineServiceSetStateResponse,
515
+ idempotency_level=IdempotencyLevel.UNKNOWN,
516
+ ),
517
+ headers=headers,
518
+ timeout_ms=timeout_ms,
519
+ )
520
+
521
+
@@ -28,7 +28,7 @@ from metalstack.api.v2 import machine_pb2 as metalstack_dot_api_dot_v2_dot_machi
28
28
  from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
29
29
 
30
30
 
31
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/machine.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"8\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\x90\x01\n\x19MachineServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x00R\tpartition\x88\x01\x01\x42\x0c\n\n_partition\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"\x89\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12H\n\x07\x63ommand\x18\x02 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07\x63ommand\"\"\n MachineServiceBMCCommandResponse\";\n\x1bMachineServiceGetBMCRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"s\n\x1cMachineServiceGetBMCResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x35\n\x03\x62mc\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x03\x62mc\"X\n\x1cMachineServiceListBMCRequest\x12\x38\n\x05query\x18\x01 \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryR\x05query\"\xf7\x01\n\x1dMachineServiceListBMCResponse\x12r\n\x0b\x62mc_reports\x18\x01 \x03(\x0b\x32\x42.metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntryB\r\xbaH\n\x9a\x01\x07\"\x05r\x03\xb0\x01\x01R\nbmcReports\x1a\x62\n\x0f\x42mcReportsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x05value:\x02\x38\x01\"h\n$MachineServiceConsolePasswordRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x06reason\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\n\x18\x80\x04R\x06reason\"a\n%MachineServiceConsolePasswordResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password2\x8e\x06\n\x0eMachineService\x12p\n\x03Get\x12-.metalstack.admin.v2.MachineServiceGetRequest\x1a..metalstack.admin.v2.MachineServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12s\n\x04List\x12..metalstack.admin.v2.MachineServiceListRequest\x1a/.metalstack.admin.v2.MachineServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x84\x01\n\nBMCCommand\x12\x34.metalstack.admin.v2.MachineServiceBMCCommandRequest\x1a\x35.metalstack.admin.v2.MachineServiceBMCCommandResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12y\n\x06GetBMC\x12\x30.metalstack.admin.v2.MachineServiceGetBMCRequest\x1a\x31.metalstack.admin.v2.MachineServiceGetBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12|\n\x07ListBMC\x12\x31.metalstack.admin.v2.MachineServiceListBMCRequest\x1a\x32.metalstack.admin.v2.MachineServiceListBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x94\x01\n\x0f\x43onsolePassword\x12\x39.metalstack.admin.v2.MachineServiceConsolePasswordRequest\x1a:.metalstack.admin.v2.MachineServiceConsolePasswordResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cMachineProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/machine.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"8\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\x90\x01\n\x19MachineServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x00R\tpartition\x88\x01\x01\x42\x0c\n\n_partition\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"\x89\x01\n\x1fMachineServiceBMCCommandRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12H\n\x07\x63ommand\x18\x02 \x01(\x0e\x32$.metalstack.api.v2.MachineBMCCommandB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07\x63ommand\"\"\n MachineServiceBMCCommandResponse\";\n\x1bMachineServiceGetBMCRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"s\n\x1cMachineServiceGetBMCResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x35\n\x03\x62mc\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x03\x62mc\"X\n\x1cMachineServiceListBMCRequest\x12\x38\n\x05query\x18\x01 \x01(\x0b\x32\".metalstack.api.v2.MachineBMCQueryR\x05query\"\xf7\x01\n\x1dMachineServiceListBMCResponse\x12r\n\x0b\x62mc_reports\x18\x01 \x03(\x0b\x32\x42.metalstack.admin.v2.MachineServiceListBMCResponse.BmcReportsEntryB\r\xbaH\n\x9a\x01\x07\"\x05r\x03\xb0\x01\x01R\nbmcReports\x1a\x62\n\x0f\x42mcReportsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.metalstack.api.v2.MachineBMCReportR\x05value:\x02\x38\x01\"h\n$MachineServiceConsolePasswordRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x06reason\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\n\x18\x80\x04R\x06reason\"a\n%MachineServiceConsolePasswordResponse\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password\"\xad\x01\n\x1dMachineServiceSetStateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12?\n\x05state\x18\x02 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\"V\n\x1eMachineServiceSetStateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine2\x8e\x07\n\x0eMachineService\x12p\n\x03Get\x12-.metalstack.admin.v2.MachineServiceGetRequest\x1a..metalstack.admin.v2.MachineServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12s\n\x04List\x12..metalstack.admin.v2.MachineServiceListRequest\x1a/.metalstack.admin.v2.MachineServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x84\x01\n\nBMCCommand\x12\x34.metalstack.admin.v2.MachineServiceBMCCommandRequest\x1a\x35.metalstack.admin.v2.MachineServiceBMCCommandResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12y\n\x06GetBMC\x12\x30.metalstack.admin.v2.MachineServiceGetBMCRequest\x1a\x31.metalstack.admin.v2.MachineServiceGetBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12|\n\x07ListBMC\x12\x31.metalstack.admin.v2.MachineServiceListBMCRequest\x1a\x32.metalstack.admin.v2.MachineServiceListBMCResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x94\x01\n\x0f\x43onsolePassword\x12\x39.metalstack.admin.v2.MachineServiceConsolePasswordRequest\x1a:.metalstack.admin.v2.MachineServiceConsolePasswordResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12~\n\x08SetState\x12\x32.metalstack.admin.v2.MachineServiceSetStateRequest\x1a\x33.metalstack.admin.v2.MachineServiceSetStateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cMachineProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
32
32
 
33
33
  _globals = globals()
34
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -58,6 +58,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
58
58
  _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST'].fields_by_name['reason']._serialized_options = b'\272H\007r\005\020\n\030\200\004'
59
59
  _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE'].fields_by_name['uuid']._loaded_options = None
60
60
  _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
61
+ _globals['_MACHINESERVICESETSTATEREQUEST'].fields_by_name['uuid']._loaded_options = None
62
+ _globals['_MACHINESERVICESETSTATEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
63
+ _globals['_MACHINESERVICESETSTATEREQUEST'].fields_by_name['state']._loaded_options = None
64
+ _globals['_MACHINESERVICESETSTATEREQUEST'].fields_by_name['state']._serialized_options = b'\272H\005\202\001\002\020\001'
65
+ _globals['_MACHINESERVICESETSTATEREQUEST'].fields_by_name['description']._loaded_options = None
66
+ _globals['_MACHINESERVICESETSTATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
61
67
  _globals['_MACHINESERVICE'].methods_by_name['Get']._loaded_options = None
62
68
  _globals['_MACHINESERVICE'].methods_by_name['Get']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
63
69
  _globals['_MACHINESERVICE'].methods_by_name['List']._loaded_options = None
@@ -70,6 +76,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
70
76
  _globals['_MACHINESERVICE'].methods_by_name['ListBMC']._serialized_options = b'\322\363\030\002\001\002\340\363\030\001'
71
77
  _globals['_MACHINESERVICE'].methods_by_name['ConsolePassword']._loaded_options = None
72
78
  _globals['_MACHINESERVICE'].methods_by_name['ConsolePassword']._serialized_options = b'\322\363\030\002\001\002\340\363\030\001'
79
+ _globals['_MACHINESERVICE'].methods_by_name['SetState']._loaded_options = None
80
+ _globals['_MACHINESERVICE'].methods_by_name['SetState']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
73
81
  _globals['_MACHINESERVICEGETREQUEST']._serialized_start=194
74
82
  _globals['_MACHINESERVICEGETREQUEST']._serialized_end=250
75
83
  _globals['_MACHINESERVICEGETRESPONSE']._serialized_start=252
@@ -96,6 +104,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
96
104
  _globals['_MACHINESERVICECONSOLEPASSWORDREQUEST']._serialized_end=1366
97
105
  _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_start=1368
98
106
  _globals['_MACHINESERVICECONSOLEPASSWORDRESPONSE']._serialized_end=1465
99
- _globals['_MACHINESERVICE']._serialized_start=1468
100
- _globals['_MACHINESERVICE']._serialized_end=2250
107
+ _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_start=1468
108
+ _globals['_MACHINESERVICESETSTATEREQUEST']._serialized_end=1641
109
+ _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_start=1643
110
+ _globals['_MACHINESERVICESETSTATERESPONSE']._serialized_end=1729
111
+ _globals['_MACHINESERVICE']._serialized_start=1732
112
+ _globals['_MACHINESERVICE']._serialized_end=2642
101
113
  # @@protoc_insertion_point(module_scope)
@@ -96,3 +96,19 @@ class MachineServiceConsolePasswordResponse(_message.Message):
96
96
  uuid: str
97
97
  password: str
98
98
  def __init__(self, uuid: _Optional[str] = ..., password: _Optional[str] = ...) -> None: ...
99
+
100
+ class MachineServiceSetStateRequest(_message.Message):
101
+ __slots__ = ("uuid", "state", "description")
102
+ UUID_FIELD_NUMBER: _ClassVar[int]
103
+ STATE_FIELD_NUMBER: _ClassVar[int]
104
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
105
+ uuid: str
106
+ state: _machine_pb2.MachineState
107
+ description: str
108
+ def __init__(self, uuid: _Optional[str] = ..., state: _Optional[_Union[_machine_pb2.MachineState, str]] = ..., description: _Optional[str] = ...) -> None: ...
109
+
110
+ class MachineServiceSetStateResponse(_message.Message):
111
+ __slots__ = ("machine",)
112
+ MACHINE_FIELD_NUMBER: _ClassVar[int]
113
+ machine: _machine_pb2.Machine
114
+ def __init__(self, machine: _Optional[_Union[_machine_pb2.Machine, _Mapping]] = ...) -> None: ...
@@ -7,6 +7,8 @@ from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
9
9
  from connectrpc.code import Code
10
+ from connectrpc.codec import Codec
11
+ from connectrpc.compression import Compression
10
12
  from connectrpc.errors import ConnectError
11
13
  from connectrpc.interceptor import Interceptor, InterceptorSync
12
14
  from connectrpc.method import IdempotencyLevel, MethodInfo
@@ -33,7 +35,7 @@ class NetworkService(Protocol):
33
35
 
34
36
 
35
37
  class NetworkServiceASGIApplication(ConnectASGIApplication[NetworkService]):
36
- def __init__(self, service: NetworkService | AsyncGenerator[NetworkService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
38
+ def __init__(self, service: NetworkService | AsyncGenerator[NetworkService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
37
39
  super().__init__(
38
40
  service=service,
39
41
  endpoints=lambda svc: {
@@ -90,6 +92,8 @@ class NetworkServiceASGIApplication(ConnectASGIApplication[NetworkService]):
90
92
  },
91
93
  interceptors=interceptors,
92
94
  read_max_bytes=read_max_bytes,
95
+ compressions=compressions,
96
+ codecs=codecs,
93
97
  )
94
98
 
95
99
  @property
@@ -200,6 +204,9 @@ class NetworkServiceClient(ConnectClient):
200
204
  )
201
205
 
202
206
 
207
+
208
+
209
+
203
210
  class NetworkServiceSync(Protocol):
204
211
  def get(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceGetRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceGetResponse:
205
212
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -214,7 +221,7 @@ class NetworkServiceSync(Protocol):
214
221
 
215
222
 
216
223
  class NetworkServiceWSGIApplication(ConnectWSGIApplication):
217
- def __init__(self, service: NetworkServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
224
+ def __init__(self, service: NetworkServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None, codecs: Iterable[Codec] | None = None) -> None:
218
225
  super().__init__(
219
226
  endpoints={
220
227
  "/metalstack.admin.v2.NetworkService/Get": EndpointSync.unary(
@@ -270,6 +277,8 @@ class NetworkServiceWSGIApplication(ConnectWSGIApplication):
270
277
  },
271
278
  interceptors=interceptors,
272
279
  read_max_bytes=read_max_bytes,
280
+ compressions=compressions,
281
+ codecs=codecs,
273
282
  )
274
283
 
275
284
  @property
@@ -378,3 +387,5 @@ class NetworkServiceClientSync(ConnectClientSync):
378
387
  headers=headers,
379
388
  timeout_ms=timeout_ms,
380
389
  )
390
+
391
+