metal-stack-api 0.5.3__tar.gz → 0.5.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/PKG-INFO +1 -1
  2. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metal_stack_api.egg-info/PKG-INFO +1 -1
  3. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/network_connect.py +48 -48
  4. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/network_pb2.py +37 -33
  5. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/network_pb2.pyi +25 -21
  6. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/network_pb2.py +20 -18
  7. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/network_pb2.pyi +4 -2
  8. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/README.md +0 -0
  9. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/buf/__init__.py +0 -0
  10. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/buf/validate/__init__.py +0 -0
  11. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/buf/validate/validate_pb2.py +0 -0
  12. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metal_stack_api.egg-info/SOURCES.txt +0 -0
  13. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  14. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metal_stack_api.egg-info/requires.txt +0 -0
  15. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metal_stack_api.egg-info/top_level.txt +0 -0
  16. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/__init__.py +0 -0
  17. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/__init__.py +0 -0
  18. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/__init__.py +0 -0
  19. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/audit_connect.py +0 -0
  20. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/audit_pb2.py +0 -0
  21. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/audit_pb2.pyi +0 -0
  22. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/component_connect.py +0 -0
  23. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/component_pb2.py +0 -0
  24. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/component_pb2.pyi +0 -0
  25. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/filesystem_connect.py +0 -0
  26. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/filesystem_pb2.py +0 -0
  27. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  28. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/image_connect.py +0 -0
  29. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/image_pb2.py +0 -0
  30. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/image_pb2.pyi +0 -0
  31. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/ip_connect.py +0 -0
  32. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/ip_pb2.py +0 -0
  33. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  34. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/machine_connect.py +0 -0
  35. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/machine_pb2.py +0 -0
  36. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/machine_pb2.pyi +0 -0
  37. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/partition_connect.py +0 -0
  38. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/partition_pb2.py +0 -0
  39. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  40. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/project_connect.py +0 -0
  41. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/project_pb2.py +0 -0
  42. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/project_pb2.pyi +0 -0
  43. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_connect.py +0 -0
  44. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_imageconstraint_connect.py +0 -0
  45. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_imageconstraint_pb2.py +0 -0
  46. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_imageconstraint_pb2.pyi +0 -0
  47. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_pb2.py +0 -0
  48. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_pb2.pyi +0 -0
  49. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_reservation_connect.py +0 -0
  50. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_reservation_pb2.py +0 -0
  51. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/size_reservation_pb2.pyi +0 -0
  52. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/switch_connect.py +0 -0
  53. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/switch_pb2.py +0 -0
  54. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/switch_pb2.pyi +0 -0
  55. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/task_connect.py +0 -0
  56. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/task_pb2.py +0 -0
  57. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/task_pb2.pyi +0 -0
  58. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/tenant_connect.py +0 -0
  59. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/tenant_pb2.py +0 -0
  60. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/tenant_pb2.pyi +0 -0
  61. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/token_connect.py +0 -0
  62. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/token_pb2.py +0 -0
  63. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/token_pb2.pyi +0 -0
  64. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/vpn_connect.py +0 -0
  65. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/vpn_pb2.py +0 -0
  66. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/admin/v2/vpn_pb2.pyi +0 -0
  67. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/__init__.py +0 -0
  68. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/__init__.py +0 -0
  69. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/audit_connect.py +0 -0
  70. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/audit_pb2.py +0 -0
  71. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/audit_pb2.pyi +0 -0
  72. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/common_pb2.py +0 -0
  73. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/common_pb2.pyi +0 -0
  74. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/component_pb2.py +0 -0
  75. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/component_pb2.pyi +0 -0
  76. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/filesystem_connect.py +0 -0
  77. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/filesystem_pb2.py +0 -0
  78. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  79. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/health_connect.py +0 -0
  80. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/health_pb2.py +0 -0
  81. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/health_pb2.pyi +0 -0
  82. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/image_connect.py +0 -0
  83. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/image_pb2.py +0 -0
  84. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/image_pb2.pyi +0 -0
  85. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/ip_connect.py +0 -0
  86. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/ip_pb2.py +0 -0
  87. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/ip_pb2.pyi +0 -0
  88. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/machine_connect.py +0 -0
  89. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/machine_pb2.py +0 -0
  90. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/machine_pb2.pyi +0 -0
  91. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/method_connect.py +0 -0
  92. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/method_pb2.py +0 -0
  93. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/method_pb2.pyi +0 -0
  94. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/network_connect.py +0 -0
  95. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/partition_connect.py +0 -0
  96. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/partition_pb2.py +0 -0
  97. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/partition_pb2.pyi +0 -0
  98. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/predefined_rules_pb2.py +0 -0
  99. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/predefined_rules_pb2.pyi +0 -0
  100. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/project_connect.py +0 -0
  101. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/project_pb2.py +0 -0
  102. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/project_pb2.pyi +0 -0
  103. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_connect.py +0 -0
  104. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_imageconstraint_connect.py +0 -0
  105. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_imageconstraint_pb2.py +0 -0
  106. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_imageconstraint_pb2.pyi +0 -0
  107. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_pb2.py +0 -0
  108. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_pb2.pyi +0 -0
  109. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_reservation_connect.py +0 -0
  110. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_reservation_pb2.py +0 -0
  111. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/size_reservation_pb2.pyi +0 -0
  112. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/switch_pb2.py +0 -0
  113. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/switch_pb2.pyi +0 -0
  114. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/tenant_connect.py +0 -0
  115. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/tenant_pb2.py +0 -0
  116. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/tenant_pb2.pyi +0 -0
  117. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/token_connect.py +0 -0
  118. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/token_pb2.py +0 -0
  119. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/token_pb2.pyi +0 -0
  120. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/user_connect.py +0 -0
  121. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/user_pb2.py +0 -0
  122. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/user_pb2.pyi +0 -0
  123. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/version_connect.py +0 -0
  124. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/version_pb2.py +0 -0
  125. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/version_pb2.pyi +0 -0
  126. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/vpn_pb2.py +0 -0
  127. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/api/v2/vpn_pb2.pyi +0 -0
  128. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/__init__.py +0 -0
  129. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/client.py +0 -0
  130. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/test_interceptor.py +0 -0
  131. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/tests/__init__.py +0 -0
  132. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/tests/conftest.py +0 -0
  133. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/tests/test_client.py +0 -0
  134. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/tests/test_interceptor.py +0 -0
  135. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/tests/test_ping.py +0 -0
  136. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/client/tests/test_token_persistent.py +0 -0
  137. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/__init__.py +0 -0
  138. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/__init__.py +0 -0
  139. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/bmc_connect.py +0 -0
  140. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/bmc_pb2.py +0 -0
  141. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/bmc_pb2.pyi +0 -0
  142. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/boot_connect.py +0 -0
  143. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/boot_pb2.py +0 -0
  144. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/boot_pb2.pyi +0 -0
  145. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/component_connect.py +0 -0
  146. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/component_pb2.py +0 -0
  147. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/component_pb2.pyi +0 -0
  148. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/event_connect.py +0 -0
  149. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/event_pb2.py +0 -0
  150. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/event_pb2.pyi +0 -0
  151. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/switch_connect.py +0 -0
  152. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/switch_pb2.py +0 -0
  153. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  154. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/setup.cfg +0 -0
  155. {metal_stack_api-0.5.3 → metal_stack_api-0.5.4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: Python API client for metal-stack api
5
5
  Home-page: https://github.com/metal-stack/api
6
6
  Author: metal-stack authors
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: Python API client for metal-stack api
5
5
  Home-page: https://github.com/metal-stack/api
6
6
  Author: metal-stack authors
@@ -36,10 +36,10 @@ class NetworkService(Protocol):
36
36
  async def list_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersResponse:
37
37
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
38
38
 
39
- async def add_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
39
+ async def add_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
40
40
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
41
41
 
42
- async def remove_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
42
+ async def remove_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
43
43
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
44
44
 
45
45
 
@@ -108,25 +108,25 @@ class NetworkServiceASGIApplication(ConnectASGIApplication[NetworkService]):
108
108
  ),
109
109
  function=svc.list_external_members,
110
110
  ),
111
- "/metalstack.admin.v2.NetworkService/AddExternalMember": Endpoint.unary(
111
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": Endpoint.unary(
112
112
  method=MethodInfo(
113
- name="AddExternalMember",
113
+ name="AddExternalMembers",
114
114
  service_name="metalstack.admin.v2.NetworkService",
115
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
116
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
115
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
116
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
117
117
  idempotency_level=IdempotencyLevel.UNKNOWN,
118
118
  ),
119
- function=svc.add_external_member,
119
+ function=svc.add_external_members,
120
120
  ),
121
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": Endpoint.unary(
121
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": Endpoint.unary(
122
122
  method=MethodInfo(
123
- name="RemoveExternalMember",
123
+ name="RemoveExternalMembers",
124
124
  service_name="metalstack.admin.v2.NetworkService",
125
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
126
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
125
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
126
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
127
127
  idempotency_level=IdempotencyLevel.UNKNOWN,
128
128
  ),
129
- function=svc.remove_external_member,
129
+ function=svc.remove_external_members,
130
130
  ),
131
131
  },
132
132
  interceptors=interceptors,
@@ -262,40 +262,40 @@ class NetworkServiceClient(ConnectClient):
262
262
  timeout_ms=timeout_ms,
263
263
  )
264
264
 
265
- async def add_external_member(
265
+ async def add_external_members(
266
266
  self,
267
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
267
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
268
268
  *,
269
269
  headers: Headers | Mapping[str, str] | None = None,
270
270
  timeout_ms: int | None = None,
271
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
271
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
272
272
  return await self.execute_unary(
273
273
  request=request,
274
274
  method=MethodInfo(
275
- name="AddExternalMember",
275
+ name="AddExternalMembers",
276
276
  service_name="metalstack.admin.v2.NetworkService",
277
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
278
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
277
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
278
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
279
279
  idempotency_level=IdempotencyLevel.UNKNOWN,
280
280
  ),
281
281
  headers=headers,
282
282
  timeout_ms=timeout_ms,
283
283
  )
284
284
 
285
- async def remove_external_member(
285
+ async def remove_external_members(
286
286
  self,
287
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
287
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
288
288
  *,
289
289
  headers: Headers | Mapping[str, str] | None = None,
290
290
  timeout_ms: int | None = None,
291
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
291
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
292
292
  return await self.execute_unary(
293
293
  request=request,
294
294
  method=MethodInfo(
295
- name="RemoveExternalMember",
295
+ name="RemoveExternalMembers",
296
296
  service_name="metalstack.admin.v2.NetworkService",
297
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
298
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
297
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
298
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
299
299
  idempotency_level=IdempotencyLevel.UNKNOWN,
300
300
  ),
301
301
  headers=headers,
@@ -319,9 +319,9 @@ class NetworkServiceSync(Protocol):
319
319
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
320
320
  def list_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersResponse:
321
321
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
322
- def add_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
322
+ def add_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
323
323
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
324
- def remove_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
324
+ def remove_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
325
325
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
326
326
 
327
327
 
@@ -389,25 +389,25 @@ class NetworkServiceWSGIApplication(ConnectWSGIApplication):
389
389
  ),
390
390
  function=service.list_external_members,
391
391
  ),
392
- "/metalstack.admin.v2.NetworkService/AddExternalMember": EndpointSync.unary(
392
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": EndpointSync.unary(
393
393
  method=MethodInfo(
394
- name="AddExternalMember",
394
+ name="AddExternalMembers",
395
395
  service_name="metalstack.admin.v2.NetworkService",
396
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
397
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
396
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
397
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
398
398
  idempotency_level=IdempotencyLevel.UNKNOWN,
399
399
  ),
400
- function=service.add_external_member,
400
+ function=service.add_external_members,
401
401
  ),
402
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": EndpointSync.unary(
402
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": EndpointSync.unary(
403
403
  method=MethodInfo(
404
- name="RemoveExternalMember",
404
+ name="RemoveExternalMembers",
405
405
  service_name="metalstack.admin.v2.NetworkService",
406
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
407
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
406
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
407
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
408
408
  idempotency_level=IdempotencyLevel.UNKNOWN,
409
409
  ),
410
- function=service.remove_external_member,
410
+ function=service.remove_external_members,
411
411
  ),
412
412
  },
413
413
  interceptors=interceptors,
@@ -543,40 +543,40 @@ class NetworkServiceClientSync(ConnectClientSync):
543
543
  timeout_ms=timeout_ms,
544
544
  )
545
545
 
546
- def add_external_member(
546
+ def add_external_members(
547
547
  self,
548
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
548
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
549
549
  *,
550
550
  headers: Headers | Mapping[str, str] | None = None,
551
551
  timeout_ms: int | None = None,
552
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
552
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
553
553
  return self.execute_unary(
554
554
  request=request,
555
555
  method=MethodInfo(
556
- name="AddExternalMember",
556
+ name="AddExternalMembers",
557
557
  service_name="metalstack.admin.v2.NetworkService",
558
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
559
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
558
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
559
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
560
560
  idempotency_level=IdempotencyLevel.UNKNOWN,
561
561
  ),
562
562
  headers=headers,
563
563
  timeout_ms=timeout_ms,
564
564
  )
565
565
 
566
- def remove_external_member(
566
+ def remove_external_members(
567
567
  self,
568
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
568
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
569
569
  *,
570
570
  headers: Headers | Mapping[str, str] | None = None,
571
571
  timeout_ms: int | None = None,
572
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
572
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
573
573
  return self.execute_unary(
574
574
  request=request,
575
575
  method=MethodInfo(
576
- name="RemoveExternalMember",
576
+ name="RemoveExternalMembers",
577
577
  service_name="metalstack.admin.v2.NetworkService",
578
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
579
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
578
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
579
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
580
580
  idempotency_level=IdempotencyLevel.UNKNOWN,
581
581
  ),
582
582
  headers=headers,
@@ -29,7 +29,7 @@ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_
29
29
  from metalstack.api.v2 import switch_pb2 as metalstack_dot_api_dot_v2_dot_switch__pb2
30
30
 
31
31
 
32
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/network.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/switch.proto\"7\n\x18NetworkServiceGetRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xa8\t\n\x1bNetworkServiceCreateRequest\x12 \n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\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\x04type\x18\x06 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12(\n\x08prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\t \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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\x44\n\x08nat_type\x18\x0c \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\r \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0e \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\x0f \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x41\n\x06length\x18\x10 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\tR\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x11 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\raddressFamily\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\t\n\x07_labelsB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"\xea\x06\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\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\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x12(\n\x08prefixes\x18\x06 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x07 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12h\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x03R\x18\x64\x65\x66\x61ultChildPrefixLength\x88\x01\x01\x12`\n\x17min_child_prefix_length\x18\t \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x14minChildPrefixLength\x88\x01\x01\x12\x44\n\x08nat_type\x18\n \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x07natType\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x0b \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x14\n\x05\x66orce\x18\x0c \x01(\x08R\x05\x66orceB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labelsB\x1e\n\x1c_default_child_prefix_lengthB\x1a\n\x18_min_child_prefix_lengthB\x0b\n\t_nat_type\":\n\x1bNetworkServiceDeleteRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"R\n\x19NetworkServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"\x96\x01\n(NetworkServiceListExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x43\n\x05query\x18\x02 \x01(\x0b\x32-.metalstack.api.v2.ExternalNetworkMemberQueryR\x05query\"\xa6\x01\n&NetworkServiceAddExternalMemberRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12U\n\x0cswitch_ports\x18\x02 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x0bswitchPorts\"\xa9\x01\n)NetworkServiceRemoveExternalMemberRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12U\n\x0cswitch_ports\x18\x02 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x0bswitchPorts\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"o\n)NetworkServiceListExternalMembersResponse\x12\x42\n\x07members\x18\x01 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberR\x07members\"\\\n\'NetworkServiceAddExternalMemberResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"_\n*NetworkServiceRemoveExternalMemberResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch2\xc9\x08\n\x0eNetworkService\x12p\n\x03Get\x12-.metalstack.admin.v2.NetworkServiceGetRequest\x1a..metalstack.admin.v2.NetworkServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12x\n\x06\x43reate\x12\x30.metalstack.admin.v2.NetworkServiceCreateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06Update\x12\x30.metalstack.admin.v2.NetworkServiceUpdateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06\x44\x65lete\x12\x30.metalstack.admin.v2.NetworkServiceDeleteRequest\x1a\x31.metalstack.admin.v2.NetworkServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12s\n\x04List\x12..metalstack.admin.v2.NetworkServiceListRequest\x1a/.metalstack.admin.v2.NetworkServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\xa0\x01\n\x13ListExternalMembers\x12=.metalstack.admin.v2.NetworkServiceListExternalMembersRequest\x1a>.metalstack.admin.v2.NetworkServiceListExternalMembersResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x99\x01\n\x11\x41\x64\x64\x45xternalMember\x12;.metalstack.admin.v2.NetworkServiceAddExternalMemberRequest\x1a<.metalstack.admin.v2.NetworkServiceAddExternalMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\xa2\x01\n\x14RemoveExternalMember\x12>.metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest\x1a?.metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cNetworkProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/network.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/switch.proto\"7\n\x18NetworkServiceGetRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xa8\t\n\x1bNetworkServiceCreateRequest\x12 \n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\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\x04type\x18\x06 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12(\n\x08prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\t \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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\x44\n\x08nat_type\x18\x0c \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\r \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0e \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\x0f \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x41\n\x06length\x18\x10 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\tR\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x11 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\raddressFamily\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\t\n\x07_labelsB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"\xea\x06\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\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\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x12(\n\x08prefixes\x18\x06 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x07 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12h\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x03R\x18\x64\x65\x66\x61ultChildPrefixLength\x88\x01\x01\x12`\n\x17min_child_prefix_length\x18\t \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x14minChildPrefixLength\x88\x01\x01\x12\x44\n\x08nat_type\x18\n \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x07natType\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x0b \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x14\n\x05\x66orce\x18\x0c \x01(\x08R\x05\x66orceB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labelsB\x1e\n\x1c_default_child_prefix_lengthB\x1a\n\x18_min_child_prefix_lengthB\x0b\n\t_nat_type\":\n\x1bNetworkServiceDeleteRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"R\n\x19NetworkServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"\x96\x01\n(NetworkServiceListExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x43\n\x05query\x18\x02 \x01(\x0b\x32-.metalstack.api.v2.ExternalNetworkMemberQueryR\x05query\"\x98\x01\n\'NetworkServiceAddExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1f\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04rack\x12%\n\x05ports\x18\x03 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports\"\x9b\x01\n*NetworkServiceRemoveExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1f\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04rack\x12%\n\x05ports\x18\x03 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"o\n)NetworkServiceListExternalMembersResponse\x12\x42\n\x07members\x18\x01 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberR\x07members\"a\n(NetworkServiceAddExternalMembersResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches\"d\n+NetworkServiceRemoveExternalMembersResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches2\xcf\x08\n\x0eNetworkService\x12p\n\x03Get\x12-.metalstack.admin.v2.NetworkServiceGetRequest\x1a..metalstack.admin.v2.NetworkServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12x\n\x06\x43reate\x12\x30.metalstack.admin.v2.NetworkServiceCreateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06Update\x12\x30.metalstack.admin.v2.NetworkServiceUpdateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06\x44\x65lete\x12\x30.metalstack.admin.v2.NetworkServiceDeleteRequest\x1a\x31.metalstack.admin.v2.NetworkServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12s\n\x04List\x12..metalstack.admin.v2.NetworkServiceListRequest\x1a/.metalstack.admin.v2.NetworkServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\xa0\x01\n\x13ListExternalMembers\x12=.metalstack.admin.v2.NetworkServiceListExternalMembersRequest\x1a>.metalstack.admin.v2.NetworkServiceListExternalMembersResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x9c\x01\n\x12\x41\x64\x64\x45xternalMembers\x12<.metalstack.admin.v2.NetworkServiceAddExternalMembersRequest\x1a=.metalstack.admin.v2.NetworkServiceAddExternalMembersResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\xa5\x01\n\x15RemoveExternalMembers\x12?.metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest\x1a@.metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cNetworkProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
33
33
 
34
34
  _globals = globals()
35
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -83,14 +83,18 @@ if not _descriptor._USE_C_DESCRIPTORS:
83
83
  _globals['_NETWORKSERVICEDELETEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
84
84
  _globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST'].fields_by_name['network']._loaded_options = None
85
85
  _globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
86
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['network']._loaded_options = None
87
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
88
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._loaded_options = None
89
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._serialized_options = b'\272H\005\222\001\002\020\010'
90
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['network']._loaded_options = None
91
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
92
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._loaded_options = None
93
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._serialized_options = b'\272H\005\222\001\002\020\010'
86
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['network']._loaded_options = None
87
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
88
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._loaded_options = None
89
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
90
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._loaded_options = None
91
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._serialized_options = b'\272H\014\222\001\t\020\200\020\320\244\263\261\002\001'
92
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['network']._loaded_options = None
93
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
94
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._loaded_options = None
95
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
96
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._loaded_options = None
97
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._serialized_options = b'\272H\014\222\001\t\020\200\020\320\244\263\261\002\001'
94
98
  _globals['_NETWORKSERVICE'].methods_by_name['Get']._loaded_options = None
95
99
  _globals['_NETWORKSERVICE'].methods_by_name['Get']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
96
100
  _globals['_NETWORKSERVICE'].methods_by_name['Create']._loaded_options = None
@@ -103,10 +107,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
103
107
  _globals['_NETWORKSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
104
108
  _globals['_NETWORKSERVICE'].methods_by_name['ListExternalMembers']._loaded_options = None
105
109
  _globals['_NETWORKSERVICE'].methods_by_name['ListExternalMembers']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
106
- _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMember']._loaded_options = None
107
- _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
108
- _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMember']._loaded_options = None
109
- _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
110
+ _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMembers']._loaded_options = None
111
+ _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMembers']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
112
+ _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMembers']._loaded_options = None
113
+ _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMembers']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
110
114
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_start=226
111
115
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_end=281
112
116
  _globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=283
@@ -121,24 +125,24 @@ if not _descriptor._USE_C_DESCRIPTORS:
121
125
  _globals['_NETWORKSERVICELISTREQUEST']._serialized_end=2580
122
126
  _globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST']._serialized_start=2583
123
127
  _globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST']._serialized_end=2733
124
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST']._serialized_start=2736
125
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST']._serialized_end=2902
126
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST']._serialized_start=2905
127
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST']._serialized_end=3074
128
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=3076
129
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=3160
130
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=3162
131
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=3246
132
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=3248
133
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=3332
134
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=3334
135
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=3418
136
- _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_start=3420
137
- _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_end=3531
138
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERRESPONSE']._serialized_start=3533
139
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERRESPONSE']._serialized_end=3625
140
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERRESPONSE']._serialized_start=3627
141
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERRESPONSE']._serialized_end=3722
142
- _globals['_NETWORKSERVICE']._serialized_start=3725
143
- _globals['_NETWORKSERVICE']._serialized_end=4822
128
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST']._serialized_start=2736
129
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST']._serialized_end=2888
130
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST']._serialized_start=2891
131
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST']._serialized_end=3046
132
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=3048
133
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=3132
134
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=3134
135
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=3218
136
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=3220
137
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=3304
138
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=3306
139
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=3390
140
+ _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_start=3392
141
+ _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_end=3503
142
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSRESPONSE']._serialized_start=3505
143
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSRESPONSE']._serialized_end=3602
144
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSRESPONSE']._serialized_start=3604
145
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSRESPONSE']._serialized_end=3704
146
+ _globals['_NETWORKSERVICE']._serialized_start=3707
147
+ _globals['_NETWORKSERVICE']._serialized_end=4810
144
148
  # @@protoc_insertion_point(module_scope)
@@ -109,21 +109,25 @@ class NetworkServiceListExternalMembersRequest(_message.Message):
109
109
  query: _network_pb2.ExternalNetworkMemberQuery
110
110
  def __init__(self, network: _Optional[str] = ..., query: _Optional[_Union[_network_pb2.ExternalNetworkMemberQuery, _Mapping]] = ...) -> None: ...
111
111
 
112
- class NetworkServiceAddExternalMemberRequest(_message.Message):
113
- __slots__ = ("network", "switch_ports")
112
+ class NetworkServiceAddExternalMembersRequest(_message.Message):
113
+ __slots__ = ("network", "rack", "ports")
114
114
  NETWORK_FIELD_NUMBER: _ClassVar[int]
115
- SWITCH_PORTS_FIELD_NUMBER: _ClassVar[int]
115
+ RACK_FIELD_NUMBER: _ClassVar[int]
116
+ PORTS_FIELD_NUMBER: _ClassVar[int]
116
117
  network: str
117
- switch_ports: _containers.RepeatedCompositeFieldContainer[_network_pb2.ExternalNetworkMember]
118
- def __init__(self, network: _Optional[str] = ..., switch_ports: _Optional[_Iterable[_Union[_network_pb2.ExternalNetworkMember, _Mapping]]] = ...) -> None: ...
118
+ rack: str
119
+ ports: _containers.RepeatedScalarFieldContainer[str]
120
+ def __init__(self, network: _Optional[str] = ..., rack: _Optional[str] = ..., ports: _Optional[_Iterable[str]] = ...) -> None: ...
119
121
 
120
- class NetworkServiceRemoveExternalMemberRequest(_message.Message):
121
- __slots__ = ("network", "switch_ports")
122
+ class NetworkServiceRemoveExternalMembersRequest(_message.Message):
123
+ __slots__ = ("network", "rack", "ports")
122
124
  NETWORK_FIELD_NUMBER: _ClassVar[int]
123
- SWITCH_PORTS_FIELD_NUMBER: _ClassVar[int]
125
+ RACK_FIELD_NUMBER: _ClassVar[int]
126
+ PORTS_FIELD_NUMBER: _ClassVar[int]
124
127
  network: str
125
- switch_ports: _containers.RepeatedCompositeFieldContainer[_network_pb2.ExternalNetworkMember]
126
- def __init__(self, network: _Optional[str] = ..., switch_ports: _Optional[_Iterable[_Union[_network_pb2.ExternalNetworkMember, _Mapping]]] = ...) -> None: ...
128
+ rack: str
129
+ ports: _containers.RepeatedScalarFieldContainer[str]
130
+ def __init__(self, network: _Optional[str] = ..., rack: _Optional[str] = ..., ports: _Optional[_Iterable[str]] = ...) -> None: ...
127
131
 
128
132
  class NetworkServiceCreateResponse(_message.Message):
129
133
  __slots__ = ("network",)
@@ -155,14 +159,14 @@ class NetworkServiceListExternalMembersResponse(_message.Message):
155
159
  members: _containers.RepeatedCompositeFieldContainer[_network_pb2.ExternalNetworkMember]
156
160
  def __init__(self, members: _Optional[_Iterable[_Union[_network_pb2.ExternalNetworkMember, _Mapping]]] = ...) -> None: ...
157
161
 
158
- class NetworkServiceAddExternalMemberResponse(_message.Message):
159
- __slots__ = ("switch",)
160
- SWITCH_FIELD_NUMBER: _ClassVar[int]
161
- switch: _switch_pb2.Switch
162
- def __init__(self, switch: _Optional[_Union[_switch_pb2.Switch, _Mapping]] = ...) -> None: ...
163
-
164
- class NetworkServiceRemoveExternalMemberResponse(_message.Message):
165
- __slots__ = ("switch",)
166
- SWITCH_FIELD_NUMBER: _ClassVar[int]
167
- switch: _switch_pb2.Switch
168
- def __init__(self, switch: _Optional[_Union[_switch_pb2.Switch, _Mapping]] = ...) -> None: ...
162
+ class NetworkServiceAddExternalMembersResponse(_message.Message):
163
+ __slots__ = ("switches",)
164
+ SWITCHES_FIELD_NUMBER: _ClassVar[int]
165
+ switches: _containers.RepeatedCompositeFieldContainer[_switch_pb2.Switch]
166
+ def __init__(self, switches: _Optional[_Iterable[_Union[_switch_pb2.Switch, _Mapping]]] = ...) -> None: ...
167
+
168
+ class NetworkServiceRemoveExternalMembersResponse(_message.Message):
169
+ __slots__ = ("switches",)
170
+ SWITCHES_FIELD_NUMBER: _ClassVar[int]
171
+ switches: _containers.RepeatedCompositeFieldContainer[_switch_pb2.Switch]
172
+ def __init__(self, switches: _Optional[_Iterable[_Union[_switch_pb2.Switch, _Mapping]]] = ...) -> None: ...
@@ -27,7 +27,7 @@ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common
27
27
  from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
28
28
 
29
29
 
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\"^\n\x18NetworkServiceGetRequest\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\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\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\"y\n\x19NetworkServiceListRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\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\"\x85\x01\n%NetworkServiceListBaseNetworksRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\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\"\xa4\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\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\t \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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<\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12?\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x05R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0f \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x06R\rparentNetwork\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\x82\x07\n\x0cNetworkQuery\x12 \n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\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\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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\"\x82\x01\n\x1a\x45xternalNetworkMemberQuery\x12*\n\x06switch\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x06switch\x88\x01\x01\x12$\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04rack\x88\x01\x01\x42\t\n\x07_switchB\x07\n\x05_rack\"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\x01 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x02 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x03 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x04 \x01(\x04R\x0cusedPrefixes\"c\n\x15\x45xternalNetworkMember\x12#\n\x06switch\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x06switch\x12%\n\x05ports\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports*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\xed\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\x12u\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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\"^\n\x18NetworkServiceGetRequest\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\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\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\"y\n\x19NetworkServiceListRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\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\"\x85\x01\n%NetworkServiceListBaseNetworksRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\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\"\xa4\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\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\t \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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<\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12?\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x05R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0f \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x06R\rparentNetwork\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\x82\x07\n\x0cNetworkQuery\x12 \n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\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\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\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\"\xc0\x01\n\x1a\x45xternalNetworkMemberQuery\x12*\n\x06switch\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x06switch\x88\x01\x01\x12$\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04rack\x88\x01\x01\x12.\n\tpartition\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x42\t\n\x07_switchB\x07\n\x05_rackB\x0c\n\n_partition\"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\x01 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x02 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x03 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x04 \x01(\x04R\x0cusedPrefixes\"c\n\x15\x45xternalNetworkMember\x12#\n\x06switch\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x06switch\x12%\n\x05ports\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports*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\xed\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\x12u\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -143,6 +143,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
143
143
  _globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['switch']._serialized_options = b'\272H\nr\010h\001\300\263\256\261\002\001'
144
144
  _globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['rack']._loaded_options = None
145
145
  _globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['rack']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
146
+ _globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['partition']._loaded_options = None
147
+ _globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001'
146
148
  _globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv4']._loaded_options = None
147
149
  _globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv4']._serialized_options = b'\272H\006*\004\030 \000'
148
150
  _globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv6']._loaded_options = None
@@ -163,12 +165,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
163
165
  _globals['_NETWORKSERVICE'].methods_by_name['ListBaseNetworks']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
164
166
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._loaded_options = None
165
167
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002\340\363\030\001'
166
- _globals['_NATTYPE']._serialized_start=4657
167
- _globals['_NATTYPE']._serialized_end=4766
168
- _globals['_NETWORKTYPE']._serialized_start=4769
169
- _globals['_NETWORKTYPE']._serialized_end=5070
170
- _globals['_NETWORKADDRESSFAMILY']._serialized_start=5073
171
- _globals['_NETWORKADDRESSFAMILY']._serialized_end=5272
168
+ _globals['_NATTYPE']._serialized_start=4719
169
+ _globals['_NATTYPE']._serialized_end=4828
170
+ _globals['_NETWORKTYPE']._serialized_start=4831
171
+ _globals['_NETWORKTYPE']._serialized_end=5132
172
+ _globals['_NETWORKADDRESSFAMILY']._serialized_start=5135
173
+ _globals['_NETWORKADDRESSFAMILY']._serialized_end=5334
172
174
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_start=157
173
175
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_end=251
174
176
  _globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=253
@@ -198,15 +200,15 @@ if not _descriptor._USE_C_DESCRIPTORS:
198
200
  _globals['_NETWORKQUERY']._serialized_start=3118
199
201
  _globals['_NETWORKQUERY']._serialized_end=4016
200
202
  _globals['_EXTERNALNETWORKMEMBERQUERY']._serialized_start=4019
201
- _globals['_EXTERNALNETWORKMEMBERQUERY']._serialized_end=4149
202
- _globals['_CHILDPREFIXLENGTH']._serialized_start=4151
203
- _globals['_CHILDPREFIXLENGTH']._serialized_end=4261
204
- _globals['_NETWORKCONSUMPTION']._serialized_start=4263
205
- _globals['_NETWORKCONSUMPTION']._serialized_end=4389
206
- _globals['_NETWORKUSAGE']._serialized_start=4392
207
- _globals['_NETWORKUSAGE']._serialized_end=4554
208
- _globals['_EXTERNALNETWORKMEMBER']._serialized_start=4556
209
- _globals['_EXTERNALNETWORKMEMBER']._serialized_end=4655
210
- _globals['_NETWORKSERVICE']._serialized_start=5275
211
- _globals['_NETWORKSERVICE']._serialized_end=6024
203
+ _globals['_EXTERNALNETWORKMEMBERQUERY']._serialized_end=4211
204
+ _globals['_CHILDPREFIXLENGTH']._serialized_start=4213
205
+ _globals['_CHILDPREFIXLENGTH']._serialized_end=4323
206
+ _globals['_NETWORKCONSUMPTION']._serialized_start=4325
207
+ _globals['_NETWORKCONSUMPTION']._serialized_end=4451
208
+ _globals['_NETWORKUSAGE']._serialized_start=4454
209
+ _globals['_NETWORKUSAGE']._serialized_end=4616
210
+ _globals['_EXTERNALNETWORKMEMBER']._serialized_start=4618
211
+ _globals['_EXTERNALNETWORKMEMBER']._serialized_end=4717
212
+ _globals['_NETWORKSERVICE']._serialized_start=5337
213
+ _globals['_NETWORKSERVICE']._serialized_end=6086
212
214
  # @@protoc_insertion_point(module_scope)
@@ -222,12 +222,14 @@ class NetworkQuery(_message.Message):
222
222
  def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., partition: _Optional[str] = ..., project: _Optional[str] = ..., namespace: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., vrf: _Optional[int] = ..., parent_network: _Optional[str] = ..., address_family: _Optional[_Union[NetworkAddressFamily, str]] = ..., type: _Optional[_Union[NetworkType, str]] = ..., nat_type: _Optional[_Union[NATType, str]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
223
223
 
224
224
  class ExternalNetworkMemberQuery(_message.Message):
225
- __slots__ = ("switch", "rack")
225
+ __slots__ = ("switch", "rack", "partition")
226
226
  SWITCH_FIELD_NUMBER: _ClassVar[int]
227
227
  RACK_FIELD_NUMBER: _ClassVar[int]
228
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
228
229
  switch: str
229
230
  rack: str
230
- def __init__(self, switch: _Optional[str] = ..., rack: _Optional[str] = ...) -> None: ...
231
+ partition: str
232
+ def __init__(self, switch: _Optional[str] = ..., rack: _Optional[str] = ..., partition: _Optional[str] = ...) -> None: ...
231
233
 
232
234
  class ChildPrefixLength(_message.Message):
233
235
  __slots__ = ("ipv4", "ipv6")