metal-stack-api 0.0.38__py3-none-any.whl → 0.0.40__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. {metal_stack_api-0.0.38.dist-info → metal_stack_api-0.0.40.dist-info}/METADATA +3 -3
  2. metal_stack_api-0.0.40.dist-info/RECORD +108 -0
  3. {metal_stack_api-0.0.38.dist-info → metal_stack_api-0.0.40.dist-info}/WHEEL +1 -1
  4. metalstack/admin/v2/filesystem_connect.py +8 -7
  5. metalstack/admin/v2/filesystem_pb2.py +3 -3
  6. metalstack/admin/v2/image_connect.py +9 -8
  7. metalstack/admin/v2/image_pb2.py +3 -3
  8. metalstack/admin/v2/ip_connect.py +6 -5
  9. metalstack/admin/v2/ip_pb2.py +3 -3
  10. metalstack/admin/v2/machine_connect.py +7 -6
  11. metalstack/admin/v2/machine_pb2.py +3 -3
  12. metalstack/admin/v2/network_connect.py +10 -9
  13. metalstack/admin/v2/network_pb2.py +3 -3
  14. metalstack/admin/v2/partition_connect.py +9 -8
  15. metalstack/admin/v2/partition_pb2.py +3 -3
  16. metalstack/admin/v2/project_connect.py +6 -5
  17. metalstack/admin/v2/project_pb2.py +3 -3
  18. metalstack/admin/v2/size_connect.py +8 -7
  19. metalstack/admin/v2/size_pb2.py +3 -3
  20. metalstack/admin/v2/switch_connect.py +11 -10
  21. metalstack/admin/v2/switch_pb2.py +21 -21
  22. metalstack/admin/v2/switch_pb2.pyi +2 -4
  23. metalstack/admin/v2/tenant_connect.py +7 -6
  24. metalstack/admin/v2/tenant_pb2.py +3 -3
  25. metalstack/admin/v2/token_connect.py +8 -7
  26. metalstack/admin/v2/token_pb2.py +3 -3
  27. metalstack/admin/v2/vpn_connect.py +7 -6
  28. metalstack/admin/v2/vpn_pb2.py +17 -14
  29. metalstack/admin/v2/vpn_pb2.pyi +13 -4
  30. metalstack/api/v2/common_pb2.py +3 -3
  31. metalstack/api/v2/filesystem_connect.py +8 -7
  32. metalstack/api/v2/filesystem_pb2.py +3 -3
  33. metalstack/api/v2/health_connect.py +6 -5
  34. metalstack/api/v2/health_pb2.py +3 -3
  35. metalstack/api/v2/image_connect.py +8 -7
  36. metalstack/api/v2/image_pb2.py +3 -3
  37. metalstack/api/v2/ip_connect.py +10 -9
  38. metalstack/api/v2/ip_pb2.py +3 -3
  39. metalstack/api/v2/machine_connect.py +10 -9
  40. metalstack/api/v2/machine_pb2.py +3 -3
  41. metalstack/api/v2/method_connect.py +7 -6
  42. metalstack/api/v2/method_pb2.py +3 -3
  43. metalstack/api/v2/network_connect.py +11 -10
  44. metalstack/api/v2/network_pb2.py +3 -3
  45. metalstack/api/v2/partition_connect.py +7 -6
  46. metalstack/api/v2/partition_pb2.py +3 -3
  47. metalstack/api/v2/predefined_rules_pb2.py +3 -3
  48. metalstack/api/v2/project_connect.py +18 -17
  49. metalstack/api/v2/project_pb2.py +3 -3
  50. metalstack/api/v2/size_connect.py +7 -6
  51. metalstack/api/v2/size_pb2.py +3 -3
  52. metalstack/api/v2/switch_pb2.py +19 -17
  53. metalstack/api/v2/tenant_connect.py +18 -17
  54. metalstack/api/v2/tenant_pb2.py +3 -3
  55. metalstack/api/v2/token_connect.py +11 -10
  56. metalstack/api/v2/token_pb2.py +3 -3
  57. metalstack/api/v2/user_connect.py +6 -5
  58. metalstack/api/v2/user_pb2.py +3 -3
  59. metalstack/api/v2/version_connect.py +6 -5
  60. metalstack/api/v2/version_pb2.py +3 -3
  61. metalstack/api/v2/vpn_pb2.py +3 -3
  62. metalstack/infra/v2/bmc_connect.py +71 -5
  63. metalstack/infra/v2/bmc_pb2.py +12 -6
  64. metalstack/infra/v2/bmc_pb2.pyi +8 -0
  65. metalstack/infra/v2/event_connect.py +6 -5
  66. metalstack/infra/v2/event_pb2.py +3 -3
  67. metalstack/infra/v2/switch_connect.py +8 -7
  68. metalstack/infra/v2/switch_pb2.py +3 -3
  69. metal_stack_api-0.0.38.dist-info/RECORD +0 -108
  70. {metal_stack_api-0.0.38.dist-info → metal_stack_api-0.0.40.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@
2
2
  # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/api/v2/version.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 VersionService(Protocol):
20
20
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
 
23
- class VersionServiceASGIApplication(ConnectASGIApplication):
24
- def __init__(self, service: VersionService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
23
+ class VersionServiceASGIApplication(ConnectASGIApplication[VersionService]):
24
+ def __init__(self, service: VersionService | AsyncGenerator[VersionService], *, 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.api.v2.VersionService/Get": Endpoint.unary(
28
29
  method=MethodInfo(
29
30
  name="Get",
@@ -32,7 +33,7 @@ class VersionServiceASGIApplication(ConnectASGIApplication):
32
33
  output=metalstack_dot_api_dot_v2_dot_version__pb2.VersionServiceGetResponse,
33
34
  idempotency_level=IdempotencyLevel.UNKNOWN,
34
35
  ),
35
- function=service.get,
36
+ function=svc.get,
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/api/v2/version.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/api/v2/version.proto'
19
19
  )
@@ -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/api/v2/vpn.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/api/v2/vpn.proto'
19
19
  )
@@ -2,7 +2,7 @@
2
2
  # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/infra/v2/bmc.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
@@ -19,11 +19,15 @@ class BMCService(Protocol):
19
19
  async def update_b_m_c_info(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoResponse:
20
20
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
+ def wait_for_machine_event(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest, ctx: RequestContext) -> AsyncIterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
+
22
25
 
23
- class BMCServiceASGIApplication(ConnectASGIApplication):
24
- def __init__(self, service: BMCService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
26
+ class BMCServiceASGIApplication(ConnectASGIApplication[BMCService]):
27
+ def __init__(self, service: BMCService | AsyncGenerator[BMCService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
25
28
  super().__init__(
26
- endpoints={
29
+ service=service,
30
+ endpoints=lambda svc: {
27
31
  "/metalstack.infra.v2.BMCService/UpdateBMCInfo": Endpoint.unary(
28
32
  method=MethodInfo(
29
33
  name="UpdateBMCInfo",
@@ -32,7 +36,17 @@ class BMCServiceASGIApplication(ConnectASGIApplication):
32
36
  output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoResponse,
33
37
  idempotency_level=IdempotencyLevel.UNKNOWN,
34
38
  ),
35
- function=service.update_b_m_c_info,
39
+ function=svc.update_b_m_c_info,
40
+ ),
41
+ "/metalstack.infra.v2.BMCService/WaitForMachineEvent": Endpoint.server_stream(
42
+ method=MethodInfo(
43
+ name="WaitForMachineEvent",
44
+ service_name="metalstack.infra.v2.BMCService",
45
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
46
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
47
+ idempotency_level=IdempotencyLevel.UNKNOWN,
48
+ ),
49
+ function=svc.wait_for_machine_event,
36
50
  ),
37
51
  },
38
52
  interceptors=interceptors,
@@ -66,10 +80,32 @@ class BMCServiceClient(ConnectClient):
66
80
  timeout_ms=timeout_ms,
67
81
  )
68
82
 
83
+ def wait_for_machine_event(
84
+ self,
85
+ request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
86
+ *,
87
+ headers: Headers | Mapping[str, str] | None = None,
88
+ timeout_ms: int | None = None,
89
+ ) -> AsyncIterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
90
+ return self.execute_server_stream(
91
+ request=request,
92
+ method=MethodInfo(
93
+ name="WaitForMachineEvent",
94
+ service_name="metalstack.infra.v2.BMCService",
95
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
96
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
97
+ idempotency_level=IdempotencyLevel.UNKNOWN,
98
+ ),
99
+ headers=headers,
100
+ timeout_ms=timeout_ms,
101
+ )
102
+
69
103
 
70
104
  class BMCServiceSync(Protocol):
71
105
  def update_b_m_c_info(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoResponse:
72
106
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
107
+ def wait_for_machine_event(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest, ctx: RequestContext) -> Iterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
108
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
73
109
 
74
110
 
75
111
  class BMCServiceWSGIApplication(ConnectWSGIApplication):
@@ -86,6 +122,16 @@ class BMCServiceWSGIApplication(ConnectWSGIApplication):
86
122
  ),
87
123
  function=service.update_b_m_c_info,
88
124
  ),
125
+ "/metalstack.infra.v2.BMCService/WaitForMachineEvent": EndpointSync.server_stream(
126
+ method=MethodInfo(
127
+ name="WaitForMachineEvent",
128
+ service_name="metalstack.infra.v2.BMCService",
129
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
130
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
131
+ idempotency_level=IdempotencyLevel.UNKNOWN,
132
+ ),
133
+ function=service.wait_for_machine_event,
134
+ ),
89
135
  },
90
136
  interceptors=interceptors,
91
137
  read_max_bytes=read_max_bytes,
@@ -117,3 +163,23 @@ class BMCServiceClientSync(ConnectClientSync):
117
163
  headers=headers,
118
164
  timeout_ms=timeout_ms,
119
165
  )
166
+
167
+ def wait_for_machine_event(
168
+ self,
169
+ request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
170
+ *,
171
+ headers: Headers | Mapping[str, str] | None = None,
172
+ timeout_ms: int | None = None,
173
+ ) -> Iterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
174
+ return self.execute_server_stream(
175
+ request=request,
176
+ method=MethodInfo(
177
+ name="WaitForMachineEvent",
178
+ service_name="metalstack.infra.v2.BMCService",
179
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
180
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
181
+ idempotency_level=IdempotencyLevel.UNKNOWN,
182
+ ),
183
+ headers=headers,
184
+ timeout_ms=timeout_ms,
185
+ )
@@ -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/infra/v2/bmc.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/infra/v2/bmc.proto'
19
19
  )
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.v2\x1a\x1emetalstack/api/v2/common.proto\"\x16\n\x14UpdateBMCInfoRequest\"\x17\n\x15UpdateBMCInfoResponse2\x7f\n\nBMCService\x12q\n\rUpdateBMCInfo\x12).metalstack.infra.v2.UpdateBMCInfoRequest\x1a*.metalstack.infra.v2.UpdateBMCInfoResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x42\xcc\x01\n\x17\x63om.metalstack.infra.v2B\x08\x42mcProtoP\x01Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\xa2\x02\x03MIX\xaa\x02\x13Metalstack.Infra.V2\xca\x02\x13Metalstack\\Infra\\V2\xe2\x02\x1fMetalstack\\Infra\\V2\\GPBMetadata\xea\x02\x15Metalstack::Infra::V2b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.v2\x1a\x1emetalstack/api/v2/common.proto\"\x16\n\x14UpdateBMCInfoRequest\"\x17\n\x15UpdateBMCInfoResponse\"\x1c\n\x1aWaitForMachineEventRequest\"\x1d\n\x1bWaitForMachineEventResponse2\x87\x02\n\nBMCService\x12q\n\rUpdateBMCInfo\x12).metalstack.infra.v2.UpdateBMCInfoRequest\x1a*.metalstack.infra.v2.UpdateBMCInfoResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x12\x85\x01\n\x13WaitForMachineEvent\x12/.metalstack.infra.v2.WaitForMachineEventRequest\x1a\x30.metalstack.infra.v2.WaitForMachineEventResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x30\x01\x42\xcc\x01\n\x17\x63om.metalstack.infra.v2B\x08\x42mcProtoP\x01Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\xa2\x02\x03MIX\xaa\x02\x13Metalstack.Infra.V2\xca\x02\x13Metalstack\\Infra\\V2\xe2\x02\x1fMetalstack\\Infra\\V2\\GPBMetadata\xea\x02\x15Metalstack::Infra::V2b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,10 +35,16 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.infra.v2B\010BmcProtoP\001Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\242\002\003MIX\252\002\023Metalstack.Infra.V2\312\002\023Metalstack\\Infra\\V2\342\002\037Metalstack\\Infra\\V2\\GPBMetadata\352\002\025Metalstack::Infra::V2'
36
36
  _globals['_BMCSERVICE'].methods_by_name['UpdateBMCInfo']._loaded_options = None
37
37
  _globals['_BMCSERVICE'].methods_by_name['UpdateBMCInfo']._serialized_options = b'\340\363\030\002\352\363\030\001\001'
38
+ _globals['_BMCSERVICE'].methods_by_name['WaitForMachineEvent']._loaded_options = None
39
+ _globals['_BMCSERVICE'].methods_by_name['WaitForMachineEvent']._serialized_options = b'\340\363\030\002\352\363\030\001\001'
38
40
  _globals['_UPDATEBMCINFOREQUEST']._serialized_start=86
39
41
  _globals['_UPDATEBMCINFOREQUEST']._serialized_end=108
40
42
  _globals['_UPDATEBMCINFORESPONSE']._serialized_start=110
41
43
  _globals['_UPDATEBMCINFORESPONSE']._serialized_end=133
42
- _globals['_BMCSERVICE']._serialized_start=135
43
- _globals['_BMCSERVICE']._serialized_end=262
44
+ _globals['_WAITFORMACHINEEVENTREQUEST']._serialized_start=135
45
+ _globals['_WAITFORMACHINEEVENTREQUEST']._serialized_end=163
46
+ _globals['_WAITFORMACHINEEVENTRESPONSE']._serialized_start=165
47
+ _globals['_WAITFORMACHINEEVENTRESPONSE']._serialized_end=194
48
+ _globals['_BMCSERVICE']._serialized_start=197
49
+ _globals['_BMCSERVICE']._serialized_end=460
44
50
  # @@protoc_insertion_point(module_scope)
@@ -12,3 +12,11 @@ class UpdateBMCInfoRequest(_message.Message):
12
12
  class UpdateBMCInfoResponse(_message.Message):
13
13
  __slots__ = ()
14
14
  def __init__(self) -> None: ...
15
+
16
+ class WaitForMachineEventRequest(_message.Message):
17
+ __slots__ = ()
18
+ def __init__(self) -> None: ...
19
+
20
+ class WaitForMachineEventResponse(_message.Message):
21
+ __slots__ = ()
22
+ def __init__(self) -> None: ...
@@ -2,7 +2,7 @@
2
2
  # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/infra/v2/event.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 EventService(Protocol):
20
20
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
 
23
- class EventServiceASGIApplication(ConnectASGIApplication):
24
- def __init__(self, service: EventService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
23
+ class EventServiceASGIApplication(ConnectASGIApplication[EventService]):
24
+ def __init__(self, service: EventService | AsyncGenerator[EventService], *, 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.infra.v2.EventService/Send": Endpoint.unary(
28
29
  method=MethodInfo(
29
30
  name="Send",
@@ -32,7 +33,7 @@ class EventServiceASGIApplication(ConnectASGIApplication):
32
33
  output=metalstack_dot_infra_dot_v2_dot_event__pb2.EventServiceSendResponse,
33
34
  idempotency_level=IdempotencyLevel.UNKNOWN,
34
35
  ),
35
- function=service.send,
36
+ function=svc.send,
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/infra/v2/event.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/infra/v2/event.proto'
19
19
  )
@@ -2,7 +2,7 @@
2
2
  # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/infra/v2/switch.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 SwitchService(Protocol):
26
26
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
27
 
28
28
 
29
- class SwitchServiceASGIApplication(ConnectASGIApplication):
30
- def __init__(self, service: SwitchService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
29
+ class SwitchServiceASGIApplication(ConnectASGIApplication[SwitchService]):
30
+ def __init__(self, service: SwitchService | AsyncGenerator[SwitchService], *, 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.infra.v2.SwitchService/Get": Endpoint.unary(
34
35
  method=MethodInfo(
35
36
  name="Get",
@@ -38,7 +39,7 @@ class SwitchServiceASGIApplication(ConnectASGIApplication):
38
39
  output=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse,
39
40
  idempotency_level=IdempotencyLevel.UNKNOWN,
40
41
  ),
41
- function=service.get,
42
+ function=svc.get,
42
43
  ),
43
44
  "/metalstack.infra.v2.SwitchService/Register": Endpoint.unary(
44
45
  method=MethodInfo(
@@ -48,7 +49,7 @@ class SwitchServiceASGIApplication(ConnectASGIApplication):
48
49
  output=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceRegisterResponse,
49
50
  idempotency_level=IdempotencyLevel.UNKNOWN,
50
51
  ),
51
- function=service.register,
52
+ function=svc.register,
52
53
  ),
53
54
  "/metalstack.infra.v2.SwitchService/Heartbeat": Endpoint.unary(
54
55
  method=MethodInfo(
@@ -58,7 +59,7 @@ class SwitchServiceASGIApplication(ConnectASGIApplication):
58
59
  output=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceHeartbeatResponse,
59
60
  idempotency_level=IdempotencyLevel.UNKNOWN,
60
61
  ),
61
- function=service.heartbeat,
62
+ function=svc.heartbeat,
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/infra/v2/switch.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/infra/v2/switch.proto'
19
19
  )
@@ -1,108 +0,0 @@
1
- metalstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- metalstack/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- metalstack/admin/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- metalstack/admin/v2/filesystem_connect.py,sha256=B1VlHELM_o9w4Ze9nv-KG-LQQ9IDlYjg4bmVQTW8lwU,12771
5
- metalstack/admin/v2/filesystem_pb2.py,sha256=1XArZdCKw2jI_aZ_a87wjlYo9JaiKm_0AzIMD_rHnYk,7404
6
- metalstack/admin/v2/filesystem_pb2.pyi,sha256=yeb3mYmuTvjdSgzVl6wDSpUGQ1HLX2AWKr0q3NEQk9o,4026
7
- metalstack/admin/v2/image_connect.py,sha256=4-MlnrMTSEKWJlIwII3_KyGqAfQJANSEssy8_Ng2tm8,15489
8
- metalstack/admin/v2/image_pb2.py,sha256=bM0V2ASGVA2Q-L-uFlNQY3c-Uy1crHikMgBnnbWDoQw,8518
9
- metalstack/admin/v2/image_pb2.pyi,sha256=dY5Cep_Sd6LyGcmEuCyJduInDiZ32uvwyIqzoUxlNkk,3656
10
- metalstack/admin/v2/ip_connect.py,sha256=4nmE0hsWGW4tJlmu0860Dp_-hHMLqvyO85fPAOTht18,5165
11
- metalstack/admin/v2/ip_pb2.py,sha256=owBqFboWObmSeIdpokLiTY-gPQqZiABYEYGzhgfGATc,2913
12
- metalstack/admin/v2/ip_pb2.pyi,sha256=bU9pxQ4p-8jucl25-w-T3JgqoXlX61Nb44kMVs9PCjA,970
13
- metalstack/admin/v2/machine_connect.py,sha256=q1qASGH8O7n0XDOVv9SY5TDkAGI82PXxw7795pCtzLc,8793
14
- metalstack/admin/v2/machine_pb2.py,sha256=fXxAZAe1PXumPocR7936rmcMNjntcZxZviPhD7cF4mQ,4704
15
- metalstack/admin/v2/machine_pb2.pyi,sha256=dGSQx-mG_B26Jv5eWAZ7_V06klPYwsqLatfY77g99kY,1739
16
- metalstack/admin/v2/network_connect.py,sha256=m-dJg3qW55yYnWf7Jq0TJRARoAuYrBaTUxZKt37oqvI,19164
17
- metalstack/admin/v2/network_pb2.py,sha256=9OP1z7urQ8C3G3I4Wzi1LaYjT6J3OXIJpx3Uy_rVKDc,15364
18
- metalstack/admin/v2/network_pb2.pyi,sha256=TOL1oqTO8L6zC85YfBRUOBJUiDD506uQ-5UDjfjFZGY,7351
19
- metalstack/admin/v2/partition_connect.py,sha256=k9JOkdrQY0Qci0w125mgTYRY6CMKrBRwK55HFeYLWgY,16233
20
- metalstack/admin/v2/partition_pb2.py,sha256=BXOx8EsPfIs6Yxk3YhT-IfF6P8XTgfKlJfN4Vndtza4,9956
21
- metalstack/admin/v2/partition_pb2.pyi,sha256=lBAmofSPCNOI07dbaQ3Huo3PJJA2zzFQ62WxQB-LDLY,5740
22
- metalstack/admin/v2/project_connect.py,sha256=P8pehzWB2RBzN7-ZrlrHr4hYshpwkxBM0u5AX77G6io,5420
23
- metalstack/admin/v2/project_pb2.py,sha256=1YucBz_zxd0NvJru1Lo78RMWyuQog6eVmMl9bNr-WkU,3534
24
- metalstack/admin/v2/project_pb2.pyi,sha256=3-yMLvCmlE4yte_o_DjNNqV-UDUIlpYjuNA90ExxaiE,1190
25
- metalstack/admin/v2/size_connect.py,sha256=EeDMcsNDo9nN7LetIkaB5sxGMk1CqZGfFtWzabgi_gg,12009
26
- metalstack/admin/v2/size_pb2.py,sha256=RfNZRLJZy_fQ9LU9I5I6L5MWylPzPDrl2m8q9VQ1Kow,6457
27
- metalstack/admin/v2/size_pb2.pyi,sha256=xMbYS7HghgaPMCOpAwmdadGBOp_BU7TvF4QTJuMaMMs,2664
28
- metalstack/admin/v2/switch_connect.py,sha256=c_xsfMKHL-K9QLTQr5ApKU5WOaqErTGDVyF2l2dIUFE,22352
29
- metalstack/admin/v2/switch_pb2.py,sha256=bZIho6Wc8llIGcwH5e_Uy5JSwsDvgIMj9Kh69n8XRnw,12277
30
- metalstack/admin/v2/switch_pb2.pyi,sha256=v9S2jHGKVf9qKJEOTNY6On1T5Se1ahLJjepD2FPgboY,5586
31
- metalstack/admin/v2/tenant_connect.py,sha256=yxL56ifI-VSE1O-We4V8naqc0QXKhlkqZaGOm_f1n0c,8788
32
- metalstack/admin/v2/tenant_pb2.py,sha256=LbMSxlil9NdM20e2Cg1q8Edd2PGdvf8lXSt8sqZpQnQ,5680
33
- metalstack/admin/v2/tenant_pb2.pyi,sha256=ZI3HryRUf7bWAwKMWsfDa55fS6FVrsxStMyV4sU3cz0,2303
34
- metalstack/admin/v2/token_connect.py,sha256=h547_mZfaAbloKf-WmNdTIbGjJnlLMLy7Rtl_vAk4K8,12080
35
- metalstack/admin/v2/token_pb2.py,sha256=aTbnaDK9su8mHgpaOnoVLbU0ZDFitS6qdOKszsNmUio,5508
36
- metalstack/admin/v2/token_pb2.pyi,sha256=jFRWVkOtdAYualwNnk3-FM3iZ0ku-2c7SXzfm02XvRE,2171
37
- metalstack/admin/v2/vpn_connect.py,sha256=Qbz8OvFOMOEAHuWneelcqsWiMhmS5cXSr9dcE7DfeK4,8701
38
- metalstack/admin/v2/vpn_pb2.py,sha256=iQHpZmkezHhudKzYckWpDQ5stcXJgnD8soYsibMMb34,4410
39
- metalstack/admin/v2/vpn_pb2.pyi,sha256=JvK6UFzwYH8-r4BsR_nHx7uJFvZB5cvfEcpB5TAc01o,1899
40
- metalstack/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- metalstack/api/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- metalstack/api/v2/common_pb2.py,sha256=YUozzWnuUgW4HQsiZlnoOd700wG69pKU06Lo3oJb9YA,7319
43
- metalstack/api/v2/common_pb2.pyi,sha256=rzM6o8RwrAzonDS2aD_Q1k4EAzQdNl2Ek29--gZI6QE,6224
44
- metalstack/api/v2/filesystem_connect.py,sha256=G7ifwaBnBF6P5i5oMoF-E0E3rlBlEl08fMOHUV4wl2E,12461
45
- metalstack/api/v2/filesystem_pb2.py,sha256=CGPDiZwDna0hSBpV9Cp3afiT3L653bbEwh_rC-p6qZk,19690
46
- metalstack/api/v2/filesystem_pb2.pyi,sha256=E4-NfvlwDg-CEQsUyl4EPyBjlrhzN4kFWrZHbJMMr80,10628
47
- metalstack/api/v2/health_connect.py,sha256=LNJ3Z8vIfhqLumxBQCybteyiMuDHrPeUwwIuht1960E,5287
48
- metalstack/api/v2/health_pb2.py,sha256=ZY-UQqropqaKlPFmAQVWHBQYVVTwFS7VZCBB4L_gQ0o,6025
49
- metalstack/api/v2/health_pb2.pyi,sha256=cr8Qr3MzJQn7P531JiswO4Tcs9uNjdc854c2qxpPLIo,3386
50
- metalstack/api/v2/image_connect.py,sha256=QF1yxSCnZzmvDilzqUCY7BiN0Bba-s4DTo7W1HdV2KY,11854
51
- metalstack/api/v2/image_pb2.py,sha256=LcjqrK8R9GeEmKAL1IY0QPmwTM5xJ65fPAw5PivuJmI,11993
52
- metalstack/api/v2/image_pb2.pyi,sha256=c6VEs_ZLhiAclQ8jat7YEyiHF75HWmisq6B9JG6_Zfk,5531
53
- metalstack/api/v2/ip_connect.py,sha256=XyaMTWdBZyXuV-ePV_8T4o7nxxxlfNBqBO5h81g9Cf8,17919
54
- metalstack/api/v2/ip_pb2.py,sha256=UdTyWnMGoyk11vcydC21VxHqU8SDZrROFe0rAJyeHd0,19030
55
- metalstack/api/v2/ip_pb2.pyi,sha256=PXO6J_JW8rMqK6WEer2JLaKHxnLik_AMmhKkcx0JKPc,7667
56
- metalstack/api/v2/machine_connect.py,sha256=KUcyR-z-j4RDpnIJw30VsJbr5Mdv9fHbVkxNCWyNeN0,18934
57
- metalstack/api/v2/machine_pb2.py,sha256=g_aohegxAfw8KVsAEERrQFjV0QK7h6UZXNO5qsctv34,59314
58
- metalstack/api/v2/machine_pb2.pyi,sha256=OewnbiRpp9UwsnZjNlpxHGi2dlx3DcXgDs__cjn60_I,32797
59
- metalstack/api/v2/method_connect.py,sha256=_NVufSXlHvIatC6Fud1jryH1_7m0VBo7IMHIPbov8xM,8954
60
- metalstack/api/v2/method_pb2.py,sha256=EsRrhxBwK8jx-wOobivvzYrYr81CglDTOnMiU8AwG3U,5929
61
- metalstack/api/v2/method_pb2.pyi,sha256=JCdhpSxg9WfnFtCWFkMLbrG_wqP7EDmgtAO_58aRnRU,2791
62
- metalstack/api/v2/network_connect.py,sha256=S1MQi3laJxJ3N2KSB2ta1OdzMjG6HvbVgQabTAcYnnw,22639
63
- metalstack/api/v2/network_pb2.py,sha256=2hKEaxeDtT21qhmYbzu2H0R8R1TchtWVIka3zj1YHHA,26950
64
- metalstack/api/v2/network_pb2.pyi,sha256=Wy7-gUAHdgwiq2q0hpLYXRu2sx5k-lqAixSaqjtWDa8,12423
65
- metalstack/api/v2/partition_connect.py,sha256=if4HSxEY8VqYV3Sk92jwHTzHFQgstprYu2nJfy-mtE0,8873
66
- metalstack/api/v2/partition_pb2.py,sha256=7GyiNVkU3b35fFq83fXfzmLNWQj7Kcl2EHy5ehqSwEU,7889
67
- metalstack/api/v2/partition_pb2.pyi,sha256=UELvmtz63crXaH1t5Sdgk-EMTa4c1vKF7EBcqK-rgMY,3878
68
- metalstack/api/v2/predefined_rules_pb2.py,sha256=JUJzTJPfbf-fJdYJJQ0LbWh29YrARsV-UGMivLz61Xw,5157
69
- metalstack/api/v2/predefined_rules_pb2.pyi,sha256=KErj-giMZ-k5c8stW3Z_YI1p0wXxklY7N150bnR2IK8,808
70
- metalstack/api/v2/project_connect.py,sha256=7tjiII2_Kol_U2o1vcRBPSFYmNOsFzbXKUD6s-EF8iI,47142
71
- metalstack/api/v2/project_pb2.py,sha256=hvrB3G36vJ4XD4_1TbxAnvpOyvqyrE2cPEjnvYjXCOQ,22020
72
- metalstack/api/v2/project_pb2.pyi,sha256=eXMPrsbYVzWmnBhwAh-jtAmUxjFtJnO29QsMUTsI9tI,11134
73
- metalstack/api/v2/size_connect.py,sha256=E5eeRVtJBtYPXTfxD9brW8nlRyReWyrYg2Nkf18havc,8428
74
- metalstack/api/v2/size_pb2.py,sha256=7j7lP7V1euX7jG-S31wcvzxqGYHSxHbx8syzr6pL2gY,8598
75
- metalstack/api/v2/size_pb2.pyi,sha256=DfGRiWwmqSs9C_UP20quu0zVTw3bhUPd6Zsr4OwJIe8,3901
76
- metalstack/api/v2/switch_pb2.py,sha256=7FAPhssCTc-KBwryTZKtn9tfOUfAdprEk20N8avNY-0,18191
77
- metalstack/api/v2/switch_pb2.pyi,sha256=cn66PLxXx64cVaVgoSoKicwbTDXFBaH9jVPA8zlLqgQ,9555
78
- metalstack/api/v2/tenant_connect.py,sha256=mNezBaubV6HuCXbLGuzCPr4nuDam6LY9wkVUuuKW7uU,46635
79
- metalstack/api/v2/tenant_pb2.py,sha256=HqPDWwnTS51GAe6jb2JRI4jnOeBreK1kGTgoXtm2rI8,19629
80
- metalstack/api/v2/tenant_pb2.pyi,sha256=kDqFMIecnoaBqbJyfN5aQWch7iapYjiBuKs8gx7sLHs,11128
81
- metalstack/api/v2/token_connect.py,sha256=eeWuMi194zSJ2w8kNq0p25PTAaGxvENttZtG-7lW1q0,21893
82
- metalstack/api/v2/token_pb2.py,sha256=EnTIZRh_VjwnY7Pt2HXXyDspeF8gbhr8VvVXd7DU5vs,19910
83
- metalstack/api/v2/token_pb2.pyi,sha256=HxJwRtj0ctUL2iyqLUvxVfN0F6-0Vbj6EgUQI1w3UIQ,10606
84
- metalstack/api/v2/user_connect.py,sha256=rZ4NpRKVWzKdLuO9nRAIo4bw7mpByfFucvmtI9MvIZE,5185
85
- metalstack/api/v2/user_pb2.py,sha256=-XsdgiSt3LiAKAChABQc-JMjFXEXXcpojW7HkpAGLyM,3993
86
- metalstack/api/v2/user_pb2.pyi,sha256=rXGPGTVvEkxJrNr2UHuSfxUGDoNpOxXodaZ_5eEjbqg,2032
87
- metalstack/api/v2/version_connect.py,sha256=0a65vkFDevDjanQYevOPcBAsoREbN2-GzD25pk_oGxI,5338
88
- metalstack/api/v2/version_pb2.py,sha256=_KuCtJ-y0GL-bd4DLn6D229ivoMdYoUZ57bkGIBuWEA,3071
89
- metalstack/api/v2/version_pb2.pyi,sha256=JfQ_tYwDG6P9aH7y7-iEHmtuWsLKsrpLKAVJIzHehRM,1172
90
- metalstack/api/v2/vpn_pb2.py,sha256=x0QYJkRBB3hEsQb9ck_b47Drv2b7htJw5EC5TKJbxZ0,2312
91
- metalstack/api/v2/vpn_pb2.pyi,sha256=11ecPbkjQApxN3dVP7J7Vl1dyek5a47JtrgbmGxWkVU,1247
92
- metalstack/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
- metalstack/client/client.py,sha256=ibIDoxhh2RH93WqeGySSg2mGVOtNMd5Hni69r7iNi-I,6881
94
- metalstack/infra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
- metalstack/infra/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
- metalstack/infra/v2/bmc_connect.py,sha256=OJQQnWJmYANeDoCcwQDR-wQUiyZ0bNlNsOxDFFnaklk,5332
97
- metalstack/infra/v2/bmc_pb2.py,sha256=ARIJOqCWe_Qz_-QK7nz3Pddya11sJRhkN3Z3gPGMEbA,2689
98
- metalstack/infra/v2/bmc_pb2.pyi,sha256=e4FGBnDQhg6K_zlhoC170lw-0OSlSdHK3So6r3Reh1E,444
99
- metalstack/infra/v2/event_connect.py,sha256=BW8pvUWXgo9g0rWM_8NrBIVBUUe1-caUHEPJIdRmBbY,5318
100
- metalstack/infra/v2/event_pb2.py,sha256=2gk7mMaNNDZisZRIjkfAeOcEUZgMj17HcrF3jzEH36Y,8284
101
- metalstack/infra/v2/event_pb2.pyi,sha256=zhCAu1V2qizwNiLTyq-mvG_t0ZUw1phhTR2CvLSOjCw,3813
102
- metalstack/infra/v2/switch_connect.py,sha256=TftYMAVcYhwFaenInmBK21CnGTyN5pXNDrKQLDWFTz4,12319
103
- metalstack/infra/v2/switch_pb2.py,sha256=Uyk6UZUfKG238cmLNXW3i207svRGtqGhehnA9IIyZ2Q,7234
104
- metalstack/infra/v2/switch_pb2.pyi,sha256=8A-LhS2remAxa_g86cgLFfqucrkgGlI3ihZE9LlNuGY,3768
105
- metal_stack_api-0.0.38.dist-info/METADATA,sha256=iCSvq-uf_KbwdaYGSemNgdqtt7D6U0cCCsx5aVI0mO8,874
106
- metal_stack_api-0.0.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
107
- metal_stack_api-0.0.38.dist-info/top_level.txt,sha256=OqZoCBTOYMgPJJ3GbO1ZfY7eRpW9Ljc5g3Ajlu44n2I,11
108
- metal_stack_api-0.0.38.dist-info/RECORD,,