metal-stack-api 0.0.39__tar.gz → 0.0.41__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 (127) hide show
  1. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/PKG-INFO +3 -3
  2. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metal_stack_api.egg-info/PKG-INFO +3 -3
  3. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metal_stack_api.egg-info/SOURCES.txt +6 -0
  4. metal_stack_api-0.0.41/metal_stack_api.egg-info/requires.txt +2 -0
  5. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/filesystem_connect.py +8 -7
  6. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/filesystem_pb2.py +3 -3
  7. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/image_connect.py +9 -8
  8. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/image_pb2.py +3 -3
  9. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/ip_connect.py +6 -5
  10. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/ip_pb2.py +3 -3
  11. metal_stack_api-0.0.41/metalstack/admin/v2/machine_connect.py +445 -0
  12. metal_stack_api-0.0.41/metalstack/admin/v2/machine_pb2.py +101 -0
  13. metal_stack_api-0.0.41/metalstack/admin/v2/machine_pb2.pyi +98 -0
  14. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/network_connect.py +10 -9
  15. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/network_pb2.py +10 -10
  16. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/partition_connect.py +9 -8
  17. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/partition_pb2.py +3 -3
  18. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/project_connect.py +6 -5
  19. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/project_pb2.py +3 -3
  20. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/size_connect.py +8 -7
  21. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/size_pb2.py +3 -3
  22. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/switch_connect.py +11 -10
  23. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/switch_pb2.py +3 -3
  24. metal_stack_api-0.0.41/metalstack/admin/v2/task_connect.py +315 -0
  25. metal_stack_api-0.0.41/metalstack/admin/v2/task_pb2.py +82 -0
  26. metal_stack_api-0.0.41/metalstack/admin/v2/task_pb2.pyi +122 -0
  27. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/tenant_connect.py +7 -6
  28. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/tenant_pb2.py +3 -3
  29. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/token_connect.py +8 -7
  30. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/token_pb2.py +3 -3
  31. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/vpn_connect.py +7 -6
  32. metal_stack_api-0.0.41/metalstack/admin/v2/vpn_pb2.py +58 -0
  33. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/vpn_pb2.pyi +13 -4
  34. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/common_pb2.py +12 -10
  35. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/common_pb2.pyi +11 -0
  36. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/filesystem_connect.py +8 -7
  37. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/filesystem_pb2.py +3 -3
  38. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/health_connect.py +6 -5
  39. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/health_pb2.py +3 -3
  40. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/image_connect.py +8 -7
  41. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/image_pb2.py +3 -3
  42. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/ip_connect.py +10 -9
  43. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/ip_pb2.py +3 -3
  44. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/machine_connect.py +140 -9
  45. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/machine_pb2.py +182 -94
  46. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/machine_pb2.pyi +140 -9
  47. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/method_connect.py +7 -6
  48. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/method_pb2.py +15 -11
  49. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/method_pb2.pyi +11 -2
  50. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/network_connect.py +11 -10
  51. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/network_pb2.py +9 -9
  52. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/partition_connect.py +7 -6
  53. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/partition_pb2.py +26 -26
  54. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/predefined_rules_pb2.py +4 -4
  55. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/project_connect.py +18 -17
  56. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/project_pb2.py +3 -3
  57. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/size_connect.py +7 -6
  58. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/size_pb2.py +3 -3
  59. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/switch_pb2.py +5 -5
  60. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/tenant_connect.py +18 -17
  61. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/tenant_pb2.py +3 -3
  62. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/token_connect.py +11 -10
  63. metal_stack_api-0.0.41/metalstack/api/v2/token_pb2.py +176 -0
  64. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/token_pb2.pyi +33 -6
  65. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/user_connect.py +6 -5
  66. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/user_pb2.py +3 -3
  67. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/version_connect.py +6 -5
  68. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/version_pb2.py +3 -3
  69. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/vpn_pb2.py +3 -3
  70. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/client/client.py +8 -0
  71. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/bmc_connect.py +95 -29
  72. metal_stack_api-0.0.41/metalstack/infra/v2/bmc_pb2.py +71 -0
  73. metal_stack_api-0.0.41/metalstack/infra/v2/bmc_pb2.pyi +64 -0
  74. metal_stack_api-0.0.41/metalstack/infra/v2/boot_connect.py +445 -0
  75. metal_stack_api-0.0.41/metalstack/infra/v2/boot_pb2.py +111 -0
  76. metal_stack_api-0.0.41/metalstack/infra/v2/boot_pb2.pyi +109 -0
  77. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/event_connect.py +6 -5
  78. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/event_pb2.py +3 -3
  79. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/switch_connect.py +8 -7
  80. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/switch_pb2.py +3 -3
  81. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/setup.py +2 -2
  82. metal_stack_api-0.0.39/metal_stack_api.egg-info/requires.txt +0 -2
  83. metal_stack_api-0.0.39/metalstack/admin/v2/machine_connect.py +0 -184
  84. metal_stack_api-0.0.39/metalstack/admin/v2/machine_pb2.py +0 -57
  85. metal_stack_api-0.0.39/metalstack/admin/v2/machine_pb2.pyi +0 -37
  86. metal_stack_api-0.0.39/metalstack/admin/v2/vpn_pb2.py +0 -55
  87. metal_stack_api-0.0.39/metalstack/api/v2/token_pb2.py +0 -160
  88. metal_stack_api-0.0.39/metalstack/infra/v2/bmc_pb2.py +0 -50
  89. metal_stack_api-0.0.39/metalstack/infra/v2/bmc_pb2.pyi +0 -22
  90. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/README.md +0 -0
  91. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  92. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metal_stack_api.egg-info/top_level.txt +0 -0
  93. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/__init__.py +0 -0
  94. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/__init__.py +0 -0
  95. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/__init__.py +0 -0
  96. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  97. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/image_pb2.pyi +0 -0
  98. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  99. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/network_pb2.pyi +0 -0
  100. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  101. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/project_pb2.pyi +0 -0
  102. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/size_pb2.pyi +0 -0
  103. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/switch_pb2.pyi +0 -0
  104. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/tenant_pb2.pyi +0 -0
  105. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/admin/v2/token_pb2.pyi +0 -0
  106. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/__init__.py +0 -0
  107. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/__init__.py +0 -0
  108. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  109. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/health_pb2.pyi +0 -0
  110. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/image_pb2.pyi +0 -0
  111. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/ip_pb2.pyi +0 -0
  112. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/network_pb2.pyi +0 -0
  113. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/partition_pb2.pyi +0 -0
  114. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/predefined_rules_pb2.pyi +0 -0
  115. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/project_pb2.pyi +0 -0
  116. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/size_pb2.pyi +0 -0
  117. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/switch_pb2.pyi +0 -0
  118. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/tenant_pb2.pyi +0 -0
  119. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/user_pb2.pyi +0 -0
  120. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/version_pb2.pyi +0 -0
  121. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/api/v2/vpn_pb2.pyi +0 -0
  122. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/client/__init__.py +0 -0
  123. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/__init__.py +0 -0
  124. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/__init__.py +0 -0
  125. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/event_pb2.pyi +0 -0
  126. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  127. {metal_stack_api-0.0.39 → metal_stack_api-0.0.41}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.39
3
+ Version: 0.0.41
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.5.0
17
- Requires-Dist: protovalidate>=1.0.0
16
+ Requires-Dist: connect-python>=0.7.0
17
+ Requires-Dist: protovalidate>=1.1.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.0.39
3
+ Version: 0.0.41
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.5.0
17
- Requires-Dist: protovalidate>=1.0.0
16
+ Requires-Dist: connect-python>=0.7.0
17
+ Requires-Dist: protovalidate>=1.1.0
18
18
  Dynamic: author
19
19
  Dynamic: classifier
20
20
  Dynamic: description
@@ -35,6 +35,9 @@ metalstack/admin/v2/size_pb2.pyi
35
35
  metalstack/admin/v2/switch_connect.py
36
36
  metalstack/admin/v2/switch_pb2.py
37
37
  metalstack/admin/v2/switch_pb2.pyi
38
+ metalstack/admin/v2/task_connect.py
39
+ metalstack/admin/v2/task_pb2.py
40
+ metalstack/admin/v2/task_pb2.pyi
38
41
  metalstack/admin/v2/tenant_connect.py
39
42
  metalstack/admin/v2/tenant_pb2.py
40
43
  metalstack/admin/v2/tenant_pb2.pyi
@@ -103,6 +106,9 @@ metalstack/infra/v2/__init__.py
103
106
  metalstack/infra/v2/bmc_connect.py
104
107
  metalstack/infra/v2/bmc_pb2.py
105
108
  metalstack/infra/v2/bmc_pb2.pyi
109
+ metalstack/infra/v2/boot_connect.py
110
+ metalstack/infra/v2/boot_pb2.py
111
+ metalstack/infra/v2/boot_pb2.pyi
106
112
  metalstack/infra/v2/event_connect.py
107
113
  metalstack/infra/v2/event_pb2.py
108
114
  metalstack/infra/v2/event_pb2.pyi
@@ -0,0 +1,2 @@
1
+ connect-python>=0.7.0
2
+ protovalidate>=1.1.0
@@ -2,7 +2,7 @@
2
2
  # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/admin/v2/filesystem.proto
4
4
 
5
- from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
5
+ from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
@@ -26,10 +26,11 @@ class FilesystemService(Protocol):
26
26
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
27
 
28
28
 
29
- class FilesystemServiceASGIApplication(ConnectASGIApplication):
30
- def __init__(self, service: FilesystemService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
29
+ class FilesystemServiceASGIApplication(ConnectASGIApplication[FilesystemService]):
30
+ def __init__(self, service: FilesystemService | AsyncGenerator[FilesystemService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
31
31
  super().__init__(
32
- endpoints={
32
+ service=service,
33
+ endpoints=lambda svc: {
33
34
  "/metalstack.admin.v2.FilesystemService/Create": Endpoint.unary(
34
35
  method=MethodInfo(
35
36
  name="Create",
@@ -38,7 +39,7 @@ class FilesystemServiceASGIApplication(ConnectASGIApplication):
38
39
  output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse,
39
40
  idempotency_level=IdempotencyLevel.UNKNOWN,
40
41
  ),
41
- function=service.create,
42
+ function=svc.create,
42
43
  ),
43
44
  "/metalstack.admin.v2.FilesystemService/Update": Endpoint.unary(
44
45
  method=MethodInfo(
@@ -48,7 +49,7 @@ class FilesystemServiceASGIApplication(ConnectASGIApplication):
48
49
  output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse,
49
50
  idempotency_level=IdempotencyLevel.UNKNOWN,
50
51
  ),
51
- function=service.update,
52
+ function=svc.update,
52
53
  ),
53
54
  "/metalstack.admin.v2.FilesystemService/Delete": Endpoint.unary(
54
55
  method=MethodInfo(
@@ -58,7 +59,7 @@ class FilesystemServiceASGIApplication(ConnectASGIApplication):
58
59
  output=metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse,
59
60
  idempotency_level=IdempotencyLevel.UNKNOWN,
60
61
  ),
61
- function=service.delete,
62
+ function=svc.delete,
62
63
  ),
63
64
  },
64
65
  interceptors=interceptors,
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: metalstack/admin/v2/filesystem.proto
5
- # Protobuf Python Version: 6.32.1
5
+ # Protobuf Python Version: 6.33.4
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -12,8 +12,8 @@ from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
- 32,
16
- 1,
15
+ 33,
16
+ 4,
17
17
  '',
18
18
  'metalstack/admin/v2/filesystem.proto'
19
19
  )
@@ -2,7 +2,7 @@
2
2
  # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/admin/v2/image.proto
4
4
 
5
- from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
5
+ from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
@@ -29,10 +29,11 @@ class ImageService(Protocol):
29
29
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
30
30
 
31
31
 
32
- class ImageServiceASGIApplication(ConnectASGIApplication):
33
- def __init__(self, service: ImageService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
32
+ class ImageServiceASGIApplication(ConnectASGIApplication[ImageService]):
33
+ def __init__(self, service: ImageService | AsyncGenerator[ImageService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
34
34
  super().__init__(
35
- endpoints={
35
+ service=service,
36
+ endpoints=lambda svc: {
36
37
  "/metalstack.admin.v2.ImageService/Create": Endpoint.unary(
37
38
  method=MethodInfo(
38
39
  name="Create",
@@ -41,7 +42,7 @@ class ImageServiceASGIApplication(ConnectASGIApplication):
41
42
  output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse,
42
43
  idempotency_level=IdempotencyLevel.UNKNOWN,
43
44
  ),
44
- function=service.create,
45
+ function=svc.create,
45
46
  ),
46
47
  "/metalstack.admin.v2.ImageService/Update": Endpoint.unary(
47
48
  method=MethodInfo(
@@ -51,7 +52,7 @@ class ImageServiceASGIApplication(ConnectASGIApplication):
51
52
  output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse,
52
53
  idempotency_level=IdempotencyLevel.UNKNOWN,
53
54
  ),
54
- function=service.update,
55
+ function=svc.update,
55
56
  ),
56
57
  "/metalstack.admin.v2.ImageService/Delete": Endpoint.unary(
57
58
  method=MethodInfo(
@@ -61,7 +62,7 @@ class ImageServiceASGIApplication(ConnectASGIApplication):
61
62
  output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse,
62
63
  idempotency_level=IdempotencyLevel.UNKNOWN,
63
64
  ),
64
- function=service.delete,
65
+ function=svc.delete,
65
66
  ),
66
67
  "/metalstack.admin.v2.ImageService/Usage": Endpoint.unary(
67
68
  method=MethodInfo(
@@ -71,7 +72,7 @@ class ImageServiceASGIApplication(ConnectASGIApplication):
71
72
  output=metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse,
72
73
  idempotency_level=IdempotencyLevel.UNKNOWN,
73
74
  ),
74
- function=service.usage,
75
+ function=svc.usage,
75
76
  ),
76
77
  },
77
78
  interceptors=interceptors,
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: metalstack/admin/v2/image.proto
5
- # Protobuf Python Version: 6.32.1
5
+ # Protobuf Python Version: 6.33.4
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -12,8 +12,8 @@ from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
- 32,
16
- 1,
15
+ 33,
16
+ 4,
17
17
  '',
18
18
  'metalstack/admin/v2/image.proto'
19
19
  )
@@ -2,7 +2,7 @@
2
2
  # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/admin/v2/ip.proto
4
4
 
5
- from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
5
+ from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
8
  from connectrpc.client import ConnectClient, ConnectClientSync
@@ -20,10 +20,11 @@ class IPService(Protocol):
20
20
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
 
23
- class IPServiceASGIApplication(ConnectASGIApplication):
24
- def __init__(self, service: IPService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
23
+ class IPServiceASGIApplication(ConnectASGIApplication[IPService]):
24
+ def __init__(self, service: IPService | AsyncGenerator[IPService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
25
25
  super().__init__(
26
- endpoints={
26
+ service=service,
27
+ endpoints=lambda svc: {
27
28
  "/metalstack.admin.v2.IPService/List": Endpoint.unary(
28
29
  method=MethodInfo(
29
30
  name="List",
@@ -32,7 +33,7 @@ class IPServiceASGIApplication(ConnectASGIApplication):
32
33
  output=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListResponse,
33
34
  idempotency_level=IdempotencyLevel.UNKNOWN,
34
35
  ),
35
- function=service.list,
36
+ function=svc.list,
36
37
  ),
37
38
  },
38
39
  interceptors=interceptors,
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: metalstack/admin/v2/ip.proto
5
- # Protobuf Python Version: 6.32.1
5
+ # Protobuf Python Version: 6.33.4
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -12,8 +12,8 @@ from google.protobuf.internal import builder as _builder
12
12
  _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
- 32,
16
- 1,
15
+ 33,
16
+ 4,
17
17
  '',
18
18
  'metalstack/admin/v2/ip.proto'
19
19
  )