metal-stack-api 0.0.22__py3-none-any.whl → 0.0.23__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 (115) hide show
  1. {metal_stack_api-0.0.22.dist-info → metal_stack_api-0.0.23.dist-info}/METADATA +3 -2
  2. metal_stack_api-0.0.23.dist-info/RECORD +97 -0
  3. {metal_stack_api-0.0.22.dist-info → metal_stack_api-0.0.23.dist-info}/top_level.txt +0 -1
  4. metalstack/admin/v2/{filesystem_connecpy.py → filesystem_connect.py} +22 -22
  5. metalstack/admin/v2/filesystem_pb2.py +20 -19
  6. metalstack/admin/v2/filesystem_pb2.pyi +1 -0
  7. metalstack/admin/v2/{image_connecpy.py → image_connect.py} +24 -24
  8. metalstack/admin/v2/image_pb2.py +24 -23
  9. metalstack/admin/v2/image_pb2.pyi +1 -0
  10. metalstack/admin/v2/{ip_connecpy.py → ip_connect.py} +20 -20
  11. metalstack/admin/v2/ip_pb2.py +2 -2
  12. metalstack/admin/v2/{machine_connecpy.py → machine_connect.py} +20 -20
  13. metalstack/admin/v2/machine_pb2.py +15 -14
  14. metalstack/admin/v2/machine_pb2.pyi +1 -0
  15. metalstack/admin/v2/{network_connecpy.py → network_connect.py} +26 -26
  16. metalstack/admin/v2/network_pb2.py +45 -36
  17. metalstack/admin/v2/network_pb2.pyi +1 -0
  18. metalstack/admin/v2/{partition_connecpy.py → partition_connect.py} +24 -24
  19. metalstack/admin/v2/partition_pb2.py +23 -22
  20. metalstack/admin/v2/partition_pb2.pyi +1 -0
  21. metalstack/admin/v2/{size_connecpy.py → size_connect.py} +22 -22
  22. metalstack/admin/v2/size_pb2.py +20 -19
  23. metalstack/admin/v2/size_pb2.pyi +1 -0
  24. metalstack/admin/v2/switch_connect.py +444 -0
  25. metalstack/admin/v2/switch_pb2.py +108 -0
  26. metalstack/admin/v2/switch_pb2.pyi +114 -0
  27. metalstack/admin/v2/{tenant_connecpy.py → tenant_connect.py} +20 -20
  28. metalstack/admin/v2/tenant_pb2.py +18 -15
  29. metalstack/admin/v2/tenant_pb2.pyi +1 -0
  30. metalstack/admin/v2/{token_connecpy.py → token_connect.py} +20 -20
  31. metalstack/admin/v2/token_pb2.py +2 -2
  32. metalstack/api/v2/common_pb2.py +2 -2
  33. metalstack/api/v2/{filesystem_connecpy.py → filesystem_connect.py} +22 -22
  34. metalstack/api/v2/filesystem_pb2.py +54 -53
  35. metalstack/api/v2/filesystem_pb2.pyi +1 -0
  36. metalstack/api/v2/{health_connecpy.py → health_connect.py} +18 -18
  37. metalstack/api/v2/health_pb2.py +2 -2
  38. metalstack/api/v2/{image_connecpy.py → image_connect.py} +22 -22
  39. metalstack/api/v2/image_pb2.py +32 -31
  40. metalstack/api/v2/image_pb2.pyi +1 -0
  41. metalstack/api/v2/{ip_connecpy.py → ip_connect.py} +26 -26
  42. metalstack/api/v2/ip_pb2.py +41 -40
  43. metalstack/api/v2/ip_pb2.pyi +1 -0
  44. metalstack/api/v2/{machine_connecpy.py → machine_connect.py} +26 -26
  45. metalstack/api/v2/machine_pb2.py +122 -121
  46. metalstack/api/v2/machine_pb2.pyi +1 -0
  47. metalstack/api/v2/{method_connecpy.py → method_connect.py} +20 -20
  48. metalstack/api/v2/method_pb2.py +2 -2
  49. metalstack/api/v2/{network_connecpy.py → network_connect.py} +28 -28
  50. metalstack/api/v2/network_pb2.py +73 -66
  51. metalstack/api/v2/network_pb2.pyi +1 -0
  52. metalstack/api/v2/{partition_connecpy.py → partition_connect.py} +20 -20
  53. metalstack/api/v2/partition_pb2.py +25 -24
  54. metalstack/api/v2/partition_pb2.pyi +1 -0
  55. metalstack/api/v2/predefined_rules_pb2.py +50 -0
  56. metalstack/api/v2/predefined_rules_pb2.pyi +19 -0
  57. metalstack/api/v2/{project_connecpy.py → project_connect.py} +40 -40
  58. metalstack/api/v2/project_pb2.py +69 -64
  59. metalstack/api/v2/project_pb2.pyi +1 -0
  60. metalstack/api/v2/{size_connecpy.py → size_connect.py} +20 -20
  61. metalstack/api/v2/size_pb2.py +26 -25
  62. metalstack/api/v2/size_pb2.pyi +1 -0
  63. metalstack/api/v2/switch_pb2.py +62 -41
  64. metalstack/api/v2/switch_pb2.pyi +54 -11
  65. metalstack/api/v2/{tenant_connecpy.py → tenant_connect.py} +40 -40
  66. metalstack/api/v2/tenant_pb2.py +69 -64
  67. metalstack/api/v2/tenant_pb2.pyi +1 -0
  68. metalstack/api/v2/{token_connecpy.py → token_connect.py} +28 -28
  69. metalstack/api/v2/token_pb2.py +51 -50
  70. metalstack/api/v2/token_pb2.pyi +1 -0
  71. metalstack/api/v2/{user_connecpy.py → user_connect.py} +18 -18
  72. metalstack/api/v2/user_pb2.py +15 -11
  73. metalstack/api/v2/user_pb2.pyi +2 -0
  74. metalstack/api/v2/{version_connecpy.py → version_connect.py} +18 -18
  75. metalstack/api/v2/version_pb2.py +2 -2
  76. metalstack/client/client.py +56 -52
  77. metalstack/infra/v2/{bmc_connecpy.py → bmc_connect.py} +18 -18
  78. metalstack/infra/v2/bmc_pb2.py +2 -2
  79. metalstack/infra/v2/{switch_connecpy.py → switch_connect.py} +83 -18
  80. metalstack/infra/v2/switch_pb2.py +28 -10
  81. metalstack/infra/v2/switch_pb2.pyi +51 -0
  82. buf/__init__.py +0 -0
  83. buf/validate/__init__.py +0 -0
  84. buf/validate/validate_pb2.py +0 -450
  85. buf/validate/validate_pb2.pyi +0 -627
  86. buf/validate/validate_pb2_grpc.py +0 -4
  87. metal_stack_api-0.0.22.dist-info/RECORD +0 -124
  88. metalstack/admin/v2/filesystem_pb2_grpc.py +0 -169
  89. metalstack/admin/v2/image_pb2_grpc.py +0 -213
  90. metalstack/admin/v2/ip_pb2_grpc.py +0 -125
  91. metalstack/admin/v2/machine_pb2_grpc.py +0 -125
  92. metalstack/admin/v2/network_pb2_grpc.py +0 -257
  93. metalstack/admin/v2/partition_pb2_grpc.py +0 -213
  94. metalstack/admin/v2/size_pb2_grpc.py +0 -169
  95. metalstack/admin/v2/tenant_pb2_grpc.py +0 -125
  96. metalstack/admin/v2/token_pb2_grpc.py +0 -125
  97. metalstack/api/v2/common_pb2_grpc.py +0 -4
  98. metalstack/api/v2/filesystem_pb2_grpc.py +0 -169
  99. metalstack/api/v2/health_pb2_grpc.py +0 -81
  100. metalstack/api/v2/image_pb2_grpc.py +0 -169
  101. metalstack/api/v2/ip_pb2_grpc.py +0 -257
  102. metalstack/api/v2/machine_pb2_grpc.py +0 -257
  103. metalstack/api/v2/method_pb2_grpc.py +0 -128
  104. metalstack/api/v2/network_pb2_grpc.py +0 -301
  105. metalstack/api/v2/partition_pb2_grpc.py +0 -125
  106. metalstack/api/v2/project_pb2_grpc.py +0 -565
  107. metalstack/api/v2/size_pb2_grpc.py +0 -125
  108. metalstack/api/v2/switch_pb2_grpc.py +0 -4
  109. metalstack/api/v2/tenant_pb2_grpc.py +0 -565
  110. metalstack/api/v2/token_pb2_grpc.py +0 -301
  111. metalstack/api/v2/user_pb2_grpc.py +0 -81
  112. metalstack/api/v2/version_pb2_grpc.py +0 -81
  113. metalstack/infra/v2/bmc_pb2_grpc.py +0 -81
  114. metalstack/infra/v2/switch_pb2_grpc.py +0 -81
  115. {metal_stack_api-0.0.22.dist-info → metal_stack_api-0.0.23.dist-info}/WHEEL +0 -0
@@ -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/method.proto
5
- # Protobuf Python Version: 6.32.0
5
+ # Protobuf Python Version: 6.32.1
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
@@ -13,7 +13,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
15
  32,
16
- 0,
16
+ 1,
17
17
  '',
18
18
  'metalstack/api/v2/method.proto'
19
19
  )
@@ -1,42 +1,42 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Generated by https://github.com/i2y/connecpy/v2/protoc-gen-connecpy. DO NOT EDIT!
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/api/v2/network.proto
4
4
 
5
5
  from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
- from connecpy.client import ConnecpyClient, ConnecpyClientSync
9
- from connecpy.code import Code
10
- from connecpy.exceptions import ConnecpyException
11
- from connecpy.interceptor import Interceptor, InterceptorSync
12
- from connecpy.method import IdempotencyLevel, MethodInfo
13
- from connecpy.request import Headers, RequestContext
14
- from connecpy.server import ConnecpyASGIApplication, ConnecpyWSGIApplication, Endpoint, EndpointSync
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
15
  import metalstack.api.v2.network_pb2 as metalstack_dot_api_dot_v2_dot_network__pb2
16
16
 
17
17
 
18
18
  class NetworkService(Protocol):
19
19
  async def get(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceGetResponse:
20
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
  async def create(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceCreateResponse:
23
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
24
 
25
25
  async def update(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceUpdateResponse:
26
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
26
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
27
 
28
28
  async def list(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListResponse:
29
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
29
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
30
30
 
31
31
  async def list_base_networks(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListBaseNetworksRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListBaseNetworksResponse:
32
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
32
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
33
33
 
34
34
  async def delete(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceDeleteResponse:
35
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
35
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
36
36
 
37
37
 
38
- class NetworkServiceASGIApplication(ConnecpyASGIApplication):
39
- def __init__(self, service: NetworkService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None):
38
+ class NetworkServiceASGIApplication(ConnectASGIApplication):
39
+ def __init__(self, service: NetworkService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
40
40
  super().__init__(
41
41
  endpoints={
42
42
  "/metalstack.api.v2.NetworkService/Get": Endpoint.unary(
@@ -105,12 +105,12 @@ class NetworkServiceASGIApplication(ConnecpyASGIApplication):
105
105
  )
106
106
 
107
107
  @property
108
- def path(self):
108
+ def path(self) -> str:
109
109
  """Returns the URL path to mount the application to when serving multiple applications."""
110
110
  return "/metalstack.api.v2.NetworkService"
111
111
 
112
112
 
113
- class NetworkServiceClient(ConnecpyClient):
113
+ class NetworkServiceClient(ConnectClient):
114
114
  async def get(
115
115
  self,
116
116
  request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceGetRequest,
@@ -234,21 +234,21 @@ class NetworkServiceClient(ConnecpyClient):
234
234
 
235
235
  class NetworkServiceSync(Protocol):
236
236
  def get(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceGetResponse:
237
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
237
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
238
238
  def create(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceCreateResponse:
239
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
239
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
240
240
  def update(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceUpdateResponse:
241
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
241
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
242
242
  def list(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListResponse:
243
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
243
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
244
244
  def list_base_networks(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListBaseNetworksRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceListBaseNetworksResponse:
245
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
245
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
246
246
  def delete(self, request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceDeleteResponse:
247
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
247
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
248
248
 
249
249
 
250
- class NetworkServiceWSGIApplication(ConnecpyWSGIApplication):
251
- def __init__(self, service: NetworkServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None):
250
+ class NetworkServiceWSGIApplication(ConnectWSGIApplication):
251
+ def __init__(self, service: NetworkServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
252
252
  super().__init__(
253
253
  endpoints={
254
254
  "/metalstack.api.v2.NetworkService/Get": EndpointSync.unary(
@@ -317,12 +317,12 @@ class NetworkServiceWSGIApplication(ConnecpyWSGIApplication):
317
317
  )
318
318
 
319
319
  @property
320
- def path(self):
320
+ def path(self) -> str:
321
321
  """Returns the URL path to mount the application to when serving multiple applications."""
322
322
  return "/metalstack.api.v2.NetworkService"
323
323
 
324
324
 
325
- class NetworkServiceClientSync(ConnecpyClientSync):
325
+ class NetworkServiceClientSync(ConnectClientSync):
326
326
  def get(
327
327
  self,
328
328
  request: metalstack_dot_api_dot_v2_dot_network__pb2.NetworkServiceGetRequest,
@@ -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/network.proto
5
- # Protobuf Python Version: 6.32.0
5
+ # Protobuf Python Version: 6.32.1
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
@@ -13,7 +13,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
15
  32,
16
- 0,
16
+ 1,
17
17
  '',
18
18
  'metalstack/api/v2/network.proto'
19
19
  )
@@ -24,9 +24,10 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
27
+ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
27
28
 
28
29
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/network.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"Z\n\x18NetworkServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xad\x04\n\x1bNetworkServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12\x36\n\x0eparent_network\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\rparentNetwork\x88\x01\x01\x12\x41\n\x06length\x18\x07 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x08 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xdf\x02\n\x1bNetworkServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"v\n\x19NetworkServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"\x82\x01\n%NetworkServiceListBaseNetworksRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"`\n&NetworkServiceListBaseNetworksResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"]\n\x1bNetworkServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xed\n\n\x07Network\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\tnamespace\x88\x01\x01\x12\x1a\n\x08prefixes\x18\x08 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\t \x03(\tR\x13\x64\x65stinationPrefixes\x12\x63\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\n \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x18\x64\x65\x66\x61ultChildPrefixLength\x12[\n\x17min_child_prefix_length\x18\x0b \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x07natType\x88\x01\x01\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x36\n\x0eparent_network\x18\x0f \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x08R\rparentNetwork\x88\x01\x01\x12@\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tR\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumption:\xd5\x02\xbaH\xd1\x02\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())\x1a\x8a\x01\n\x1c\x61\x64\x64itional_announcable_cidrs\x12\x30given additional_announcable_cidrs must be valid\x1a\x38this.additional_announcable_cidrs.all(m, m.isIpPrefix())B\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x07\n\x05_typeB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\xac\x08\n\x0cNetworkQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\tnamespace\x88\x01\x01\x12\x1a\n\x08prefixes\x18\x07 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tR\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12\x36\n\x0eparent_network\x18\n \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x07R\rparentNetwork\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x0b \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\raddressFamily\x88\x01\x01\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\x07natType\x88\x01\x01\x12\x36\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x0bR\x06labels\x88\x01\x01:\xc8\x01\xbaH\xc4\x01\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())B\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\x11\n\x0f_address_familyB\x07\n\x05_typeB\x0b\n\t_nat_typeB\t\n\x07_labels\"n\n\x11\x43hildPrefixLength\x12\"\n\x04ipv4\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x18 \x00H\x00R\x04ipv4\x88\x01\x01\x12#\n\x04ipv6\x18\x02 \x01(\rB\n\xbaH\x07*\x05\x18\x80\x01 \x00H\x01R\x04ipv6\x88\x01\x01\x42\x07\n\x05_ipv4B\x07\n\x05_ipv6\"~\n\x12NetworkConsumption\x12\x33\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv4\x12\x33\n\x04ipv6\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv6\"\xa2\x01\n\x0cNetworkUsage\x12#\n\ravailable_ips\x18\x02 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x03 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x04 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x05 \x01(\x04R\x0cusedPrefixes*m\n\x07NATType\x12\x18\n\x14NAT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rNAT_TYPE_NONE\x10\x01\x1a\x08\x82\xb2\x19\x04none\x12+\n\x18NAT_TYPE_IPV4_MASQUERADE\x10\x02\x1a\r\x82\xb2\x19\tipv4-masq*\xad\x02\n\x0bNetworkType\x12\x1c\n\x18NETWORK_TYPE_UNSPECIFIED\x10\x00\x12\'\n\x15NETWORK_TYPE_EXTERNAL\x10\x01\x1a\x0c\x82\xb2\x19\x08\x65xternal\x12\'\n\x15NETWORK_TYPE_UNDERLAY\x10\x02\x1a\x0c\x82\xb2\x19\x08underlay\x12!\n\x12NETWORK_TYPE_SUPER\x10\x03\x1a\t\x82\xb2\x19\x05super\x12\x37\n\x1dNETWORK_TYPE_SUPER_NAMESPACED\x10\x04\x1a\x14\x82\xb2\x19\x10super-namespaced\x12!\n\x12NETWORK_TYPE_CHILD\x10\x05\x1a\t\x82\xb2\x19\x05\x63hild\x12/\n\x19NETWORK_TYPE_CHILD_SHARED\x10\x06\x1a\x10\x82\xb2\x19\x0c\x63hild-shared*\xc7\x01\n\x14NetworkAddressFamily\x12&\n\"NETWORK_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv6\x12\x35\n!NETWORK_ADDRESS_FAMILY_DUAL_STACK\x10\x03\x1a\x0e\x82\xb2\x19\ndual-stack2\xe1\x05\n\x0eNetworkService\x12m\n\x03Get\x12+.metalstack.api.v2.NetworkServiceGetRequest\x1a,.metalstack.api.v2.NetworkServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.NetworkServiceListRequest\x1a-.metalstack.api.v2.NetworkServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x94\x01\n\x10ListBaseNetworks\x12\x38.metalstack.api.v2.NetworkServiceListBaseNetworksRequest\x1a\x39.metalstack.api.v2.NetworkServiceListBaseNetworksResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cNetworkProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/network.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"Z\n\x18NetworkServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xb1\x04\n\x1bNetworkServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12\x37\n\x0eparent_network\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\rparentNetwork\x88\x01\x01\x12\x41\n\x06length\x18\x07 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x08 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xe2\x02\n\x1bNetworkServiceUpdateRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12$\n\x04name\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"v\n\x19NetworkServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"\x82\x01\n%NetworkServiceListBaseNetworksRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"`\n&NetworkServiceListBaseNetworksResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"^\n\x1bNetworkServiceDeleteRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xc4\x08\n\x07Network\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\tnamespace\x88\x01\x01\x12(\n\x08prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xe0\xb3\xae\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\t \x03(\tB\x0c\xbaH\t\x92\x01\x06\xe0\xb3\xae\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x63\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\n \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x18\x64\x65\x66\x61ultChildPrefixLength\x12[\n\x17min_child_prefix_length\x18\x0b \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x07natType\x88\x01\x01\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0f \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x08R\rparentNetwork\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xe0\xb3\xae\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumptionB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x07\n\x05_typeB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\x81\x07\n\x0cNetworkQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\tnamespace\x88\x01\x01\x12(\n\x08prefixes\x18\x07 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xe0\xb3\xae\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xe0\xb3\xae\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\n \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x07R\rparentNetwork\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x0b \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\raddressFamily\x88\x01\x01\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\x07natType\x88\x01\x01\x12\x36\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x0bR\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\x11\n\x0f_address_familyB\x07\n\x05_typeB\x0b\n\t_nat_typeB\t\n\x07_labels\"n\n\x11\x43hildPrefixLength\x12\"\n\x04ipv4\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x18 \x00H\x00R\x04ipv4\x88\x01\x01\x12#\n\x04ipv6\x18\x02 \x01(\rB\n\xbaH\x07*\x05\x18\x80\x01 \x00H\x01R\x04ipv6\x88\x01\x01\x42\x07\n\x05_ipv4B\x07\n\x05_ipv6\"~\n\x12NetworkConsumption\x12\x33\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv4\x12\x33\n\x04ipv6\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv6\"\xa2\x01\n\x0cNetworkUsage\x12#\n\ravailable_ips\x18\x02 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x03 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x04 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x05 \x01(\x04R\x0cusedPrefixes*m\n\x07NATType\x12\x18\n\x14NAT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rNAT_TYPE_NONE\x10\x01\x1a\x08\x82\xb2\x19\x04none\x12+\n\x18NAT_TYPE_IPV4_MASQUERADE\x10\x02\x1a\r\x82\xb2\x19\tipv4-masq*\xad\x02\n\x0bNetworkType\x12\x1c\n\x18NETWORK_TYPE_UNSPECIFIED\x10\x00\x12\'\n\x15NETWORK_TYPE_EXTERNAL\x10\x01\x1a\x0c\x82\xb2\x19\x08\x65xternal\x12\'\n\x15NETWORK_TYPE_UNDERLAY\x10\x02\x1a\x0c\x82\xb2\x19\x08underlay\x12!\n\x12NETWORK_TYPE_SUPER\x10\x03\x1a\t\x82\xb2\x19\x05super\x12\x37\n\x1dNETWORK_TYPE_SUPER_NAMESPACED\x10\x04\x1a\x14\x82\xb2\x19\x10super-namespaced\x12!\n\x12NETWORK_TYPE_CHILD\x10\x05\x1a\t\x82\xb2\x19\x05\x63hild\x12/\n\x19NETWORK_TYPE_CHILD_SHARED\x10\x06\x1a\x10\x82\xb2\x19\x0c\x63hild-shared*\xc7\x01\n\x14NetworkAddressFamily\x12&\n\"NETWORK_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv6\x12\x35\n!NETWORK_ADDRESS_FAMILY_DUAL_STACK\x10\x03\x1a\x0e\x82\xb2\x19\ndual-stack2\xe1\x05\n\x0eNetworkService\x12m\n\x03Get\x12+.metalstack.api.v2.NetworkServiceGetRequest\x1a,.metalstack.api.v2.NetworkServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.NetworkServiceListRequest\x1a-.metalstack.api.v2.NetworkServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x94\x01\n\x10ListBaseNetworks\x12\x38.metalstack.api.v2.NetworkServiceListBaseNetworksRequest\x1a\x39.metalstack.api.v2.NetworkServiceListBaseNetworksResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cNetworkProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
31
 
31
32
  _globals = globals()
32
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -63,75 +64,81 @@ if not _descriptor._USE_C_DESCRIPTORS:
63
64
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['project']._loaded_options = None
64
65
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
65
66
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['name']._loaded_options = None
66
- _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
67
+ _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
67
68
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['description']._loaded_options = None
68
- _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
69
+ _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
69
70
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['partition']._loaded_options = None
70
- _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['partition']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
71
+ _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001'
71
72
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['parent_network']._loaded_options = None
72
- _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['parent_network']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
73
+ _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['parent_network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
73
74
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['address_family']._loaded_options = None
74
75
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['address_family']._serialized_options = b'\272H\005\202\001\002\020\001'
75
76
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['id']._loaded_options = None
76
- _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
77
+ _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
77
78
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None
78
79
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001'
79
80
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['project']._loaded_options = None
80
81
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
81
82
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['name']._loaded_options = None
82
- _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
83
+ _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
83
84
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None
84
- _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
85
+ _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
85
86
  _globals['_NETWORKSERVICELISTREQUEST'].fields_by_name['project']._loaded_options = None
86
87
  _globals['_NETWORKSERVICELISTREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
87
88
  _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST'].fields_by_name['project']._loaded_options = None
88
89
  _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
89
90
  _globals['_NETWORKSERVICEDELETEREQUEST'].fields_by_name['id']._loaded_options = None
90
- _globals['_NETWORKSERVICEDELETEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
91
+ _globals['_NETWORKSERVICEDELETEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
91
92
  _globals['_NETWORKSERVICEDELETEREQUEST'].fields_by_name['project']._loaded_options = None
92
93
  _globals['_NETWORKSERVICEDELETEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
93
94
  _globals['_NETWORK'].fields_by_name['id']._loaded_options = None
94
- _globals['_NETWORK'].fields_by_name['id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
95
+ _globals['_NETWORK'].fields_by_name['id']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
95
96
  _globals['_NETWORK'].fields_by_name['name']._loaded_options = None
96
- _globals['_NETWORK'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
97
+ _globals['_NETWORK'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
97
98
  _globals['_NETWORK'].fields_by_name['description']._loaded_options = None
98
- _globals['_NETWORK'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
99
+ _globals['_NETWORK'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
99
100
  _globals['_NETWORK'].fields_by_name['partition']._loaded_options = None
100
- _globals['_NETWORK'].fields_by_name['partition']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
101
+ _globals['_NETWORK'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001'
101
102
  _globals['_NETWORK'].fields_by_name['project']._loaded_options = None
102
103
  _globals['_NETWORK'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
103
104
  _globals['_NETWORK'].fields_by_name['namespace']._loaded_options = None
104
105
  _globals['_NETWORK'].fields_by_name['namespace']._serialized_options = b'\272H\005r\003\260\001\001'
106
+ _globals['_NETWORK'].fields_by_name['prefixes']._loaded_options = None
107
+ _globals['_NETWORK'].fields_by_name['prefixes']._serialized_options = b'\272H\t\222\001\006\340\263\256\261\002\001'
108
+ _globals['_NETWORK'].fields_by_name['destination_prefixes']._loaded_options = None
109
+ _globals['_NETWORK'].fields_by_name['destination_prefixes']._serialized_options = b'\272H\t\222\001\006\340\263\256\261\002\001'
105
110
  _globals['_NETWORK'].fields_by_name['type']._loaded_options = None
106
111
  _globals['_NETWORK'].fields_by_name['type']._serialized_options = b'\272H\005\202\001\002\020\001'
107
112
  _globals['_NETWORK'].fields_by_name['nat_type']._loaded_options = None
108
113
  _globals['_NETWORK'].fields_by_name['nat_type']._serialized_options = b'\272H\005\202\001\002\020\001'
109
114
  _globals['_NETWORK'].fields_by_name['parent_network']._loaded_options = None
110
- _globals['_NETWORK'].fields_by_name['parent_network']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
111
- _globals['_NETWORK']._loaded_options = None
112
- _globals['_NETWORK']._serialized_options = b'\272H\321\002\032N\n\010prefixes\022\034given prefixes must be valid\032$this.prefixes.all(m, m.isIpPrefix())\032r\n\024destination_prefixes\022(given destination_prefixes must be valid\0320this.destination_prefixes.all(m, m.isIpPrefix())\032\212\001\n\034additional_announcable_cidrs\0220given additional_announcable_cidrs must be valid\0328this.additional_announcable_cidrs.all(m, m.isIpPrefix())'
115
+ _globals['_NETWORK'].fields_by_name['parent_network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
116
+ _globals['_NETWORK'].fields_by_name['additional_announcable_cidrs']._loaded_options = None
117
+ _globals['_NETWORK'].fields_by_name['additional_announcable_cidrs']._serialized_options = b'\272H\t\222\001\006\340\263\256\261\002\001'
113
118
  _globals['_NETWORKQUERY'].fields_by_name['id']._loaded_options = None
114
119
  _globals['_NETWORKQUERY'].fields_by_name['id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
115
120
  _globals['_NETWORKQUERY'].fields_by_name['name']._loaded_options = None
116
- _globals['_NETWORKQUERY'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
121
+ _globals['_NETWORKQUERY'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
117
122
  _globals['_NETWORKQUERY'].fields_by_name['description']._loaded_options = None
118
- _globals['_NETWORKQUERY'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
123
+ _globals['_NETWORKQUERY'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
119
124
  _globals['_NETWORKQUERY'].fields_by_name['partition']._loaded_options = None
120
- _globals['_NETWORKQUERY'].fields_by_name['partition']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
125
+ _globals['_NETWORKQUERY'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001'
121
126
  _globals['_NETWORKQUERY'].fields_by_name['project']._loaded_options = None
122
127
  _globals['_NETWORKQUERY'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
123
128
  _globals['_NETWORKQUERY'].fields_by_name['namespace']._loaded_options = None
124
129
  _globals['_NETWORKQUERY'].fields_by_name['namespace']._serialized_options = b'\272H\005r\003\260\001\001'
130
+ _globals['_NETWORKQUERY'].fields_by_name['prefixes']._loaded_options = None
131
+ _globals['_NETWORKQUERY'].fields_by_name['prefixes']._serialized_options = b'\272H\t\222\001\006\340\263\256\261\002\001'
132
+ _globals['_NETWORKQUERY'].fields_by_name['destination_prefixes']._loaded_options = None
133
+ _globals['_NETWORKQUERY'].fields_by_name['destination_prefixes']._serialized_options = b'\272H\t\222\001\006\340\263\256\261\002\001'
125
134
  _globals['_NETWORKQUERY'].fields_by_name['parent_network']._loaded_options = None
126
- _globals['_NETWORKQUERY'].fields_by_name['parent_network']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
135
+ _globals['_NETWORKQUERY'].fields_by_name['parent_network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
127
136
  _globals['_NETWORKQUERY'].fields_by_name['address_family']._loaded_options = None
128
137
  _globals['_NETWORKQUERY'].fields_by_name['address_family']._serialized_options = b'\272H\005\202\001\002\020\001'
129
138
  _globals['_NETWORKQUERY'].fields_by_name['type']._loaded_options = None
130
139
  _globals['_NETWORKQUERY'].fields_by_name['type']._serialized_options = b'\272H\005\202\001\002\020\001'
131
140
  _globals['_NETWORKQUERY'].fields_by_name['nat_type']._loaded_options = None
132
141
  _globals['_NETWORKQUERY'].fields_by_name['nat_type']._serialized_options = b'\272H\005\202\001\002\020\001'
133
- _globals['_NETWORKQUERY']._loaded_options = None
134
- _globals['_NETWORKQUERY']._serialized_options = b'\272H\304\001\032N\n\010prefixes\022\034given prefixes must be valid\032$this.prefixes.all(m, m.isIpPrefix())\032r\n\024destination_prefixes\022(given destination_prefixes must be valid\0320this.destination_prefixes.all(m, m.isIpPrefix())'
135
142
  _globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv4']._loaded_options = None
136
143
  _globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv4']._serialized_options = b'\272H\006*\004\030 \000'
137
144
  _globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv6']._loaded_options = None
@@ -148,46 +155,46 @@ if not _descriptor._USE_C_DESCRIPTORS:
148
155
  _globals['_NETWORKSERVICE'].methods_by_name['ListBaseNetworks']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
149
156
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._loaded_options = None
150
157
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
151
- _globals['_NATTYPE']._serialized_start=4862
152
- _globals['_NATTYPE']._serialized_end=4971
153
- _globals['_NETWORKTYPE']._serialized_start=4974
154
- _globals['_NETWORKTYPE']._serialized_end=5275
155
- _globals['_NETWORKADDRESSFAMILY']._serialized_start=5278
156
- _globals['_NETWORKADDRESSFAMILY']._serialized_end=5477
157
- _globals['_NETWORKSERVICEGETREQUEST']._serialized_start=115
158
- _globals['_NETWORKSERVICEGETREQUEST']._serialized_end=205
159
- _globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=207
160
- _globals['_NETWORKSERVICEGETRESPONSE']._serialized_end=288
161
- _globals['_NETWORKSERVICECREATEREQUEST']._serialized_start=291
162
- _globals['_NETWORKSERVICECREATEREQUEST']._serialized_end=848
163
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=850
164
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=934
165
- _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_start=937
166
- _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_end=1288
167
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=1290
168
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=1374
169
- _globals['_NETWORKSERVICELISTREQUEST']._serialized_start=1376
170
- _globals['_NETWORKSERVICELISTREQUEST']._serialized_end=1494
171
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=1496
172
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=1580
173
- _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_start=1583
174
- _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_end=1713
175
- _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_start=1715
176
- _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_end=1811
177
- _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_start=1813
178
- _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_end=1906
179
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=1908
180
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=1992
181
- _globals['_NETWORK']._serialized_start=1995
182
- _globals['_NETWORK']._serialized_end=3384
183
- _globals['_NETWORKQUERY']._serialized_start=3387
184
- _globals['_NETWORKQUERY']._serialized_end=4455
185
- _globals['_CHILDPREFIXLENGTH']._serialized_start=4457
186
- _globals['_CHILDPREFIXLENGTH']._serialized_end=4567
187
- _globals['_NETWORKCONSUMPTION']._serialized_start=4569
188
- _globals['_NETWORKCONSUMPTION']._serialized_end=4695
189
- _globals['_NETWORKUSAGE']._serialized_start=4698
190
- _globals['_NETWORKUSAGE']._serialized_end=4860
191
- _globals['_NETWORKSERVICE']._serialized_start=5480
192
- _globals['_NETWORKSERVICE']._serialized_end=6217
158
+ _globals['_NATTYPE']._serialized_start=4444
159
+ _globals['_NATTYPE']._serialized_end=4553
160
+ _globals['_NETWORKTYPE']._serialized_start=4556
161
+ _globals['_NETWORKTYPE']._serialized_end=4857
162
+ _globals['_NETWORKADDRESSFAMILY']._serialized_start=4860
163
+ _globals['_NETWORKADDRESSFAMILY']._serialized_end=5059
164
+ _globals['_NETWORKSERVICEGETREQUEST']._serialized_start=157
165
+ _globals['_NETWORKSERVICEGETREQUEST']._serialized_end=247
166
+ _globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=249
167
+ _globals['_NETWORKSERVICEGETRESPONSE']._serialized_end=330
168
+ _globals['_NETWORKSERVICECREATEREQUEST']._serialized_start=333
169
+ _globals['_NETWORKSERVICECREATEREQUEST']._serialized_end=894
170
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=896
171
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=980
172
+ _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_start=983
173
+ _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_end=1337
174
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=1339
175
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=1423
176
+ _globals['_NETWORKSERVICELISTREQUEST']._serialized_start=1425
177
+ _globals['_NETWORKSERVICELISTREQUEST']._serialized_end=1543
178
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=1545
179
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=1629
180
+ _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_start=1632
181
+ _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_end=1762
182
+ _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_start=1764
183
+ _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_end=1860
184
+ _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_start=1862
185
+ _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_end=1956
186
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=1958
187
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=2042
188
+ _globals['_NETWORK']._serialized_start=2045
189
+ _globals['_NETWORK']._serialized_end=3137
190
+ _globals['_NETWORKQUERY']._serialized_start=3140
191
+ _globals['_NETWORKQUERY']._serialized_end=4037
192
+ _globals['_CHILDPREFIXLENGTH']._serialized_start=4039
193
+ _globals['_CHILDPREFIXLENGTH']._serialized_end=4149
194
+ _globals['_NETWORKCONSUMPTION']._serialized_start=4151
195
+ _globals['_NETWORKCONSUMPTION']._serialized_end=4277
196
+ _globals['_NETWORKUSAGE']._serialized_start=4280
197
+ _globals['_NETWORKUSAGE']._serialized_end=4442
198
+ _globals['_NETWORKSERVICE']._serialized_start=5062
199
+ _globals['_NETWORKSERVICE']._serialized_end=5799
193
200
  # @@protoc_insertion_point(module_scope)
@@ -1,5 +1,6 @@
1
1
  from buf.validate import validate_pb2 as _validate_pb2
2
2
  from metalstack.api.v2 import common_pb2 as _common_pb2
3
+ from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2
3
4
  from google.protobuf.internal import containers as _containers
4
5
  from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
5
6
  from google.protobuf import descriptor as _descriptor
@@ -1,30 +1,30 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Generated by https://github.com/i2y/connecpy/v2/protoc-gen-connecpy. DO NOT EDIT!
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/api/v2/partition.proto
4
4
 
5
5
  from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
- from connecpy.client import ConnecpyClient, ConnecpyClientSync
9
- from connecpy.code import Code
10
- from connecpy.exceptions import ConnecpyException
11
- from connecpy.interceptor import Interceptor, InterceptorSync
12
- from connecpy.method import IdempotencyLevel, MethodInfo
13
- from connecpy.request import Headers, RequestContext
14
- from connecpy.server import ConnecpyASGIApplication, ConnecpyWSGIApplication, Endpoint, EndpointSync
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
15
  import metalstack.api.v2.partition_pb2 as metalstack_dot_api_dot_v2_dot_partition__pb2
16
16
 
17
17
 
18
18
  class PartitionService(Protocol):
19
19
  async def get(self, request: metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceGetResponse:
20
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
  async def list(self, request: metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceListResponse:
23
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
24
 
25
25
 
26
- class PartitionServiceASGIApplication(ConnecpyASGIApplication):
27
- def __init__(self, service: PartitionService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None):
26
+ class PartitionServiceASGIApplication(ConnectASGIApplication):
27
+ def __init__(self, service: PartitionService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
28
28
  super().__init__(
29
29
  endpoints={
30
30
  "/metalstack.api.v2.PartitionService/Get": Endpoint.unary(
@@ -53,12 +53,12 @@ class PartitionServiceASGIApplication(ConnecpyASGIApplication):
53
53
  )
54
54
 
55
55
  @property
56
- def path(self):
56
+ def path(self) -> str:
57
57
  """Returns the URL path to mount the application to when serving multiple applications."""
58
58
  return "/metalstack.api.v2.PartitionService"
59
59
 
60
60
 
61
- class PartitionServiceClient(ConnecpyClient):
61
+ class PartitionServiceClient(ConnectClient):
62
62
  async def get(
63
63
  self,
64
64
  request: metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceGetRequest,
@@ -102,13 +102,13 @@ class PartitionServiceClient(ConnecpyClient):
102
102
 
103
103
  class PartitionServiceSync(Protocol):
104
104
  def get(self, request: metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceGetRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceGetResponse:
105
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
105
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
106
106
  def list(self, request: metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceListRequest, ctx: RequestContext) -> metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceListResponse:
107
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
107
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
108
108
 
109
109
 
110
- class PartitionServiceWSGIApplication(ConnecpyWSGIApplication):
111
- def __init__(self, service: PartitionServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None):
110
+ class PartitionServiceWSGIApplication(ConnectWSGIApplication):
111
+ def __init__(self, service: PartitionServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
112
112
  super().__init__(
113
113
  endpoints={
114
114
  "/metalstack.api.v2.PartitionService/Get": EndpointSync.unary(
@@ -137,12 +137,12 @@ class PartitionServiceWSGIApplication(ConnecpyWSGIApplication):
137
137
  )
138
138
 
139
139
  @property
140
- def path(self):
140
+ def path(self) -> str:
141
141
  """Returns the URL path to mount the application to when serving multiple applications."""
142
142
  return "/metalstack.api.v2.PartitionService"
143
143
 
144
144
 
145
- class PartitionServiceClientSync(ConnecpyClientSync):
145
+ class PartitionServiceClientSync(ConnectClientSync):
146
146
  def get(
147
147
  self,
148
148
  request: metalstack_dot_api_dot_v2_dot_partition__pb2.PartitionServiceGetRequest,
@@ -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/partition.proto
5
- # Protobuf Python Version: 6.32.0
5
+ # Protobuf Python Version: 6.32.1
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
@@ -13,7 +13,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
15
  32,
16
- 0,
16
+ 1,
17
17
  '',
18
18
  'metalstack/api/v2/partition.proto'
19
19
  )
@@ -24,9 +24,10 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
27
+ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
27
28
 
28
29
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/api/v2/partition.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"\xa2\x03\n\tPartition\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12*\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12\\\n\x12\x62oot_configuration\x18\x04 \x01(\x0b\x32-.metalstack.api.v2.PartitionBootConfigurationR\x11\x62ootConfiguration\x12\x45\n\ndns_server\x18\x05 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x06 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12\x34\n\x16mgmt_service_addresses\x18\x07 \x03(\tR\x14mgmtServiceAddresses\"{\n\x0ePartitionQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12\x36\n\x06labels\x18\x02 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x01R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\t\n\x07_labels\"\xee\x01\n\x1aPartitionBootConfiguration\x12U\n\timage_url\x18\x01 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x08imageUrl\x12W\n\nkernel_url\x18\x02 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\tkernelUrl\x12 \n\x0b\x63ommandline\x18\x03 \x01(\tR\x0b\x63ommandline\"$\n\tDNSServer\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\"/\n\tNTPServer\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07\x61\x64\x64ress\"8\n\x1aPartitionServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"V\n\x1bPartitionServiceListRequest\x12\x37\n\x05query\x18\x01 \x01(\x0b\x32!.metalstack.api.v2.PartitionQueryR\x05query\"Y\n\x1bPartitionServiceGetResponse\x12:\n\tpartition\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\"\\\n\x1cPartitionServiceListResponse\x12<\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.metalstack.api.v2.PartitionR\npartitions2\xf5\x01\n\x10PartitionService\x12n\n\x03Get\x12-.metalstack.api.v2.PartitionServiceGetRequest\x1a..metalstack.api.v2.PartitionServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12q\n\x04List\x12..metalstack.api.v2.PartitionServiceListRequest\x1a/.metalstack.api.v2.PartitionServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc4\x01\n\x15\x63om.metalstack.api.v2B\x0ePartitionProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/api/v2/partition.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xa5\x03\n\tPartition\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\\\n\x12\x62oot_configuration\x18\x04 \x01(\x0b\x32-.metalstack.api.v2.PartitionBootConfigurationR\x11\x62ootConfiguration\x12\x45\n\ndns_server\x18\x05 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x06 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12\x34\n\x16mgmt_service_addresses\x18\x07 \x03(\tR\x14mgmtServiceAddresses\"{\n\x0ePartitionQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12\x36\n\x06labels\x18\x02 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x01R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\t\n\x07_labels\"\xee\x01\n\x1aPartitionBootConfiguration\x12U\n\timage_url\x18\x01 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x08imageUrl\x12W\n\nkernel_url\x18\x02 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\tkernelUrl\x12 \n\x0b\x63ommandline\x18\x03 \x01(\tR\x0b\x63ommandline\"$\n\tDNSServer\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\"/\n\tNTPServer\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07\x61\x64\x64ress\"8\n\x1aPartitionServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"V\n\x1bPartitionServiceListRequest\x12\x37\n\x05query\x18\x01 \x01(\x0b\x32!.metalstack.api.v2.PartitionQueryR\x05query\"Y\n\x1bPartitionServiceGetResponse\x12:\n\tpartition\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\"\\\n\x1cPartitionServiceListResponse\x12<\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.metalstack.api.v2.PartitionR\npartitions2\xf5\x01\n\x10PartitionService\x12n\n\x03Get\x12-.metalstack.api.v2.PartitionServiceGetRequest\x1a..metalstack.api.v2.PartitionServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12q\n\x04List\x12..metalstack.api.v2.PartitionServiceListRequest\x1a/.metalstack.api.v2.PartitionServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc4\x01\n\x15\x63om.metalstack.api.v2B\x0ePartitionProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
31
 
31
32
  _globals = globals()
32
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -37,7 +38,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
37
38
  _globals['_PARTITION'].fields_by_name['id']._loaded_options = None
38
39
  _globals['_PARTITION'].fields_by_name['id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
39
40
  _globals['_PARTITION'].fields_by_name['description']._loaded_options = None
40
- _globals['_PARTITION'].fields_by_name['description']._serialized_options = b'\272H\005r\003\030\200\001'
41
+ _globals['_PARTITION'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
41
42
  _globals['_PARTITION'].fields_by_name['dns_server']._loaded_options = None
42
43
  _globals['_PARTITION'].fields_by_name['dns_server']._serialized_options = b'\272H\005\222\001\002\020\003'
43
44
  _globals['_PARTITION'].fields_by_name['ntp_server']._loaded_options = None
@@ -58,24 +59,24 @@ if not _descriptor._USE_C_DESCRIPTORS:
58
59
  _globals['_PARTITIONSERVICE'].methods_by_name['Get']._serialized_options = b'\330\363\030\003\340\363\030\002'
59
60
  _globals['_PARTITIONSERVICE'].methods_by_name['List']._loaded_options = None
60
61
  _globals['_PARTITIONSERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003\340\363\030\002'
61
- _globals['_PARTITION']._serialized_start=118
62
- _globals['_PARTITION']._serialized_end=536
63
- _globals['_PARTITIONQUERY']._serialized_start=538
64
- _globals['_PARTITIONQUERY']._serialized_end=661
65
- _globals['_PARTITIONBOOTCONFIGURATION']._serialized_start=664
66
- _globals['_PARTITIONBOOTCONFIGURATION']._serialized_end=902
67
- _globals['_DNSSERVER']._serialized_start=904
68
- _globals['_DNSSERVER']._serialized_end=940
69
- _globals['_NTPSERVER']._serialized_start=942
70
- _globals['_NTPSERVER']._serialized_end=989
71
- _globals['_PARTITIONSERVICEGETREQUEST']._serialized_start=991
72
- _globals['_PARTITIONSERVICEGETREQUEST']._serialized_end=1047
73
- _globals['_PARTITIONSERVICELISTREQUEST']._serialized_start=1049
74
- _globals['_PARTITIONSERVICELISTREQUEST']._serialized_end=1135
75
- _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_start=1137
76
- _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_end=1226
77
- _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_start=1228
78
- _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_end=1320
79
- _globals['_PARTITIONSERVICE']._serialized_start=1323
80
- _globals['_PARTITIONSERVICE']._serialized_end=1568
62
+ _globals['_PARTITION']._serialized_start=160
63
+ _globals['_PARTITION']._serialized_end=581
64
+ _globals['_PARTITIONQUERY']._serialized_start=583
65
+ _globals['_PARTITIONQUERY']._serialized_end=706
66
+ _globals['_PARTITIONBOOTCONFIGURATION']._serialized_start=709
67
+ _globals['_PARTITIONBOOTCONFIGURATION']._serialized_end=947
68
+ _globals['_DNSSERVER']._serialized_start=949
69
+ _globals['_DNSSERVER']._serialized_end=985
70
+ _globals['_NTPSERVER']._serialized_start=987
71
+ _globals['_NTPSERVER']._serialized_end=1034
72
+ _globals['_PARTITIONSERVICEGETREQUEST']._serialized_start=1036
73
+ _globals['_PARTITIONSERVICEGETREQUEST']._serialized_end=1092
74
+ _globals['_PARTITIONSERVICELISTREQUEST']._serialized_start=1094
75
+ _globals['_PARTITIONSERVICELISTREQUEST']._serialized_end=1180
76
+ _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_start=1182
77
+ _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_end=1271
78
+ _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_start=1273
79
+ _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_end=1365
80
+ _globals['_PARTITIONSERVICE']._serialized_start=1368
81
+ _globals['_PARTITIONSERVICE']._serialized_end=1613
81
82
  # @@protoc_insertion_point(module_scope)