metal-stack-api 0.1.4__tar.gz → 0.1.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/PKG-INFO +1 -1
  2. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metal_stack_api.egg-info/PKG-INFO +1 -1
  3. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/tenant_pb2.py +12 -12
  4. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/tenant_pb2.pyi +4 -8
  5. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/predefined_rules_pb2.py +3 -1
  6. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/predefined_rules_pb2.pyi +2 -0
  7. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/project_pb2.py +66 -60
  8. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/switch_pb2.py +20 -18
  9. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/switch_pb2.pyi +4 -2
  10. metal_stack_api-0.1.7/metalstack/api/v2/tenant_pb2.py +187 -0
  11. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/tenant_pb2.pyi +12 -4
  12. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/user_pb2.py +14 -8
  13. metal_stack_api-0.1.4/metalstack/api/v2/tenant_pb2.py +0 -153
  14. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/README.md +0 -0
  15. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metal_stack_api.egg-info/SOURCES.txt +0 -0
  16. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  17. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metal_stack_api.egg-info/requires.txt +0 -0
  18. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metal_stack_api.egg-info/top_level.txt +0 -0
  19. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/__init__.py +0 -0
  20. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/__init__.py +0 -0
  21. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/__init__.py +0 -0
  22. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/audit_connect.py +0 -0
  23. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/audit_pb2.py +0 -0
  24. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/audit_pb2.pyi +0 -0
  25. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/component_connect.py +0 -0
  26. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/component_pb2.py +0 -0
  27. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/component_pb2.pyi +0 -0
  28. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/filesystem_connect.py +0 -0
  29. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/filesystem_pb2.py +0 -0
  30. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  31. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/image_connect.py +0 -0
  32. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/image_pb2.py +0 -0
  33. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/image_pb2.pyi +0 -0
  34. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/ip_connect.py +0 -0
  35. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/ip_pb2.py +0 -0
  36. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  37. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/machine_connect.py +0 -0
  38. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/machine_pb2.py +0 -0
  39. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/machine_pb2.pyi +0 -0
  40. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/network_connect.py +0 -0
  41. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/network_pb2.py +0 -0
  42. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/network_pb2.pyi +0 -0
  43. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/partition_connect.py +0 -0
  44. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/partition_pb2.py +0 -0
  45. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  46. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/project_connect.py +0 -0
  47. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/project_pb2.py +0 -0
  48. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/project_pb2.pyi +0 -0
  49. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_connect.py +0 -0
  50. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_imageconstraint_connect.py +0 -0
  51. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_imageconstraint_pb2.py +0 -0
  52. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_imageconstraint_pb2.pyi +0 -0
  53. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_pb2.py +0 -0
  54. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_pb2.pyi +0 -0
  55. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_reservation_connect.py +0 -0
  56. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_reservation_pb2.py +0 -0
  57. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/size_reservation_pb2.pyi +0 -0
  58. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/switch_connect.py +0 -0
  59. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/switch_pb2.py +0 -0
  60. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/switch_pb2.pyi +0 -0
  61. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/task_connect.py +0 -0
  62. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/task_pb2.py +0 -0
  63. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/task_pb2.pyi +0 -0
  64. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/tenant_connect.py +0 -0
  65. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/token_connect.py +0 -0
  66. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/token_pb2.py +0 -0
  67. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/token_pb2.pyi +0 -0
  68. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/vpn_connect.py +0 -0
  69. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/vpn_pb2.py +0 -0
  70. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/admin/v2/vpn_pb2.pyi +0 -0
  71. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/__init__.py +0 -0
  72. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/__init__.py +0 -0
  73. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/audit_connect.py +0 -0
  74. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/audit_pb2.py +0 -0
  75. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/audit_pb2.pyi +0 -0
  76. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/common_pb2.py +0 -0
  77. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/common_pb2.pyi +0 -0
  78. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/component_pb2.py +0 -0
  79. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/component_pb2.pyi +0 -0
  80. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/filesystem_connect.py +0 -0
  81. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/filesystem_pb2.py +0 -0
  82. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  83. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/health_connect.py +0 -0
  84. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/health_pb2.py +0 -0
  85. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/health_pb2.pyi +0 -0
  86. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/image_connect.py +0 -0
  87. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/image_pb2.py +0 -0
  88. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/image_pb2.pyi +0 -0
  89. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/ip_connect.py +0 -0
  90. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/ip_pb2.py +0 -0
  91. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/ip_pb2.pyi +0 -0
  92. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/machine_connect.py +0 -0
  93. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/machine_pb2.py +0 -0
  94. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/machine_pb2.pyi +0 -0
  95. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/method_connect.py +0 -0
  96. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/method_pb2.py +0 -0
  97. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/method_pb2.pyi +0 -0
  98. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/network_connect.py +0 -0
  99. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/network_pb2.py +0 -0
  100. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/network_pb2.pyi +0 -0
  101. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/partition_connect.py +0 -0
  102. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/partition_pb2.py +0 -0
  103. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/partition_pb2.pyi +0 -0
  104. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/project_connect.py +0 -0
  105. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/project_pb2.pyi +0 -0
  106. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_connect.py +0 -0
  107. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_imageconstraint_connect.py +0 -0
  108. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_imageconstraint_pb2.py +0 -0
  109. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_imageconstraint_pb2.pyi +0 -0
  110. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_pb2.py +0 -0
  111. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_pb2.pyi +0 -0
  112. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_reservation_connect.py +0 -0
  113. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_reservation_pb2.py +0 -0
  114. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/size_reservation_pb2.pyi +0 -0
  115. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/tenant_connect.py +0 -0
  116. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/token_connect.py +0 -0
  117. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/token_pb2.py +0 -0
  118. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/token_pb2.pyi +0 -0
  119. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/user_connect.py +0 -0
  120. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/user_pb2.pyi +0 -0
  121. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/version_connect.py +0 -0
  122. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/version_pb2.py +0 -0
  123. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/version_pb2.pyi +0 -0
  124. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/vpn_pb2.py +0 -0
  125. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/api/v2/vpn_pb2.pyi +0 -0
  126. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/client/__init__.py +0 -0
  127. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/client/client.py +0 -0
  128. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/__init__.py +0 -0
  129. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/__init__.py +0 -0
  130. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/bmc_connect.py +0 -0
  131. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/bmc_pb2.py +0 -0
  132. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/bmc_pb2.pyi +0 -0
  133. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/boot_connect.py +0 -0
  134. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/boot_pb2.py +0 -0
  135. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/boot_pb2.pyi +0 -0
  136. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/component_connect.py +0 -0
  137. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/component_pb2.py +0 -0
  138. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/component_pb2.pyi +0 -0
  139. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/event_connect.py +0 -0
  140. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/event_pb2.py +0 -0
  141. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/event_pb2.pyi +0 -0
  142. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/switch_connect.py +0 -0
  143. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/switch_pb2.py +0 -0
  144. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  145. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/setup.cfg +0 -0
  146. {metal_stack_api-0.1.4 → metal_stack_api-0.1.7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.1.4
3
+ Version: 0.1.7
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.1.4
3
+ Version: 0.1.7
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
@@ -28,7 +28,7 @@ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_
28
28
  from metalstack.api.v2 import tenant_pb2 as metalstack_dot_api_dot_v2_dot_tenant__pb2
29
29
 
30
30
 
31
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/tenant.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\x95\x02\n\x1aTenantServiceCreateRequest\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"\xa1\x01\n\x18TenantServiceListRequest\x12\x19\n\x05login\x18\x01 \x01(\tH\x00R\x05login\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\x31\n\x06paging\x18\x03 \x01(\x0b\x32\x19.metalstack.api.v2.PagingR\x06pagingB\x08\n\x06_loginB\x07\n\x05_name\"\x80\x01\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\x12 \n\tnext_page\x18\x02 \x01(\x04H\x00R\x08nextPage\x88\x01\x01\x42\x0c\n\n_next_page2\xfa\x01\n\rTenantService\x12v\n\x06\x43reate\x12/.metalstack.admin.v2.TenantServiceCreateRequest\x1a\x30.metalstack.admin.v2.TenantServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12q\n\x04List\x12-.metalstack.admin.v2.TenantServiceListRequest\x1a..metalstack.admin.v2.TenantServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xcf\x01\n\x17\x63om.metalstack.admin.v2B\x0bTenantProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/tenant.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/tenant.proto\"\xa2\x02\n\x1aTenantServiceCreateRequest\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x32\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12/\n\navatar_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x18TenantServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.TenantQueryR\x05query\"\x80\x01\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\x12 \n\tnext_page\x18\x02 \x01(\x04H\x00R\x08nextPage\x88\x01\x01\x42\x0c\n\n_next_page2\xfa\x01\n\rTenantService\x12v\n\x06\x43reate\x12/.metalstack.admin.v2.TenantServiceCreateRequest\x1a\x30.metalstack.admin.v2.TenantServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12q\n\x04List\x12-.metalstack.admin.v2.TenantServiceListRequest\x1a..metalstack.admin.v2.TenantServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x42\xcf\x01\n\x17\x63om.metalstack.admin.v2B\x0bTenantProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
32
32
 
33
33
  _globals = globals()
34
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -42,20 +42,20 @@ if not _descriptor._USE_C_DESCRIPTORS:
42
42
  _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
43
43
  _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._loaded_options = None
44
44
  _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001'
45
- _globals['_TENANTSERVICELISTREQUEST'].fields_by_name['name']._loaded_options = None
46
- _globals['_TENANTSERVICELISTREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
45
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None
46
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001'
47
47
  _globals['_TENANTSERVICE'].methods_by_name['Create']._loaded_options = None
48
48
  _globals['_TENANTSERVICE'].methods_by_name['Create']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
49
49
  _globals['_TENANTSERVICE'].methods_by_name['List']._loaded_options = None
50
50
  _globals['_TENANTSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002\340\363\030\001'
51
51
  _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=193
52
- _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=470
53
- _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=472
54
- _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=552
55
- _globals['_TENANTSERVICELISTREQUEST']._serialized_start=555
56
- _globals['_TENANTSERVICELISTREQUEST']._serialized_end=716
57
- _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=719
58
- _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=847
59
- _globals['_TENANTSERVICE']._serialized_start=850
60
- _globals['_TENANTSERVICE']._serialized_end=1100
52
+ _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=483
53
+ _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=485
54
+ _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=565
55
+ _globals['_TENANTSERVICELISTREQUEST']._serialized_start=567
56
+ _globals['_TENANTSERVICELISTREQUEST']._serialized_end=647
57
+ _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=650
58
+ _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=778
59
+ _globals['_TENANTSERVICE']._serialized_start=781
60
+ _globals['_TENANTSERVICE']._serialized_end=1031
61
61
  # @@protoc_insertion_point(module_scope)
@@ -31,14 +31,10 @@ class TenantServiceCreateResponse(_message.Message):
31
31
  def __init__(self, tenant: _Optional[_Union[_tenant_pb2.Tenant, _Mapping]] = ...) -> None: ...
32
32
 
33
33
  class TenantServiceListRequest(_message.Message):
34
- __slots__ = ("login", "name", "paging")
35
- LOGIN_FIELD_NUMBER: _ClassVar[int]
36
- NAME_FIELD_NUMBER: _ClassVar[int]
37
- PAGING_FIELD_NUMBER: _ClassVar[int]
38
- login: str
39
- name: str
40
- paging: _common_pb2.Paging
41
- def __init__(self, login: _Optional[str] = ..., name: _Optional[str] = ..., paging: _Optional[_Union[_common_pb2.Paging, _Mapping]] = ...) -> None: ...
34
+ __slots__ = ("query",)
35
+ QUERY_FIELD_NUMBER: _ClassVar[int]
36
+ query: _tenant_pb2.TenantQuery
37
+ def __init__(self, query: _Optional[_Union[_tenant_pb2.TenantQuery, _Mapping]] = ...) -> None: ...
42
38
 
43
39
  class TenantServiceListResponse(_message.Message):
44
40
  __slots__ = ("tenants", "next_page")
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(metalstack/api/v2/predefined_rules.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto:\xb8\x01\n\nmacaddress\x12\x19.buf.validate.StringRules\x18\xb7\xe6\x95& \x01(\x08\x42z\xc2Hw\nu\n\x11string.macaddress\x12&this string must be a valid macaddress\x1a\x38this.matches(\'^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$\')R\nmacaddress:\x99\x01\n\x07is_name\x12\x19.buf.validate.StringRules\x18\xb8\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_name\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x06isName:\x9a\x01\n\x0eis_description\x12\x19.buf.validate.StringRules\x18\xb9\xe6\x95& \x01(\x08\x42U\xc2HR\nP\n\x15string.is_description\x12#must be shorter than 256 characters\x1a\x12this.size() <= 256R\risDescription:\xa8\x01\n\x0cis_partition\x12\x19.buf.validate.StringRules\x18\xba\xe6\x95& \x01(\x08\x42g\xc2Hd\nb\n\x13string.is_partition\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x0bisPartition:\x82\x01\n\tis_prefix\x12\x19.buf.validate.StringRules\x18\xbb\xe6\x95& \x01(\x08\x42G\xc2HD\nB\n\x0fstring.prefixes\x12\x1cgiven prefixes must be valid\x1a\x11this.isIpPrefix()R\x08isPrefix:m\n\x06is_uri\x12\x19.buf.validate.StringRules\x18\xbc\xe6\x95& \x01(\x08\x42\x38\xc2H5\n3\n\nstring.uri\x12\x17given uri must be valid\x1a\x0cthis.isUri()R\x05isUri:\xa7\x01\n\x11is_ip_or_hostname\x12\x19.buf.validate.StringRules\x18\xbd\xe6\x95& \x01(\x08\x42^\xc2H[\nY\n\rvalid_address\x12&must be a valid IP address or hostname\x1a this.isIp() || this.isHostname()R\x0eisIpOrHostname:\x9d\x01\n\x07trimmed\x12\x19.buf.validate.StringRules\x18\xbe\xe6\x95& \x01(\x08\x42\x65\xc2Hb\n`\n\x0estring.trimmed\x12+value must not start or end with whitespace\x1a!this.trim().size() == this.size()R\x07trimmed:\x99\x01\n\x07is_user\x12\x19.buf.validate.StringRules\x18\xbf\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_user\x12#must be within 2 and 512 characters\x1a&this.size() >= 2 && this.size() <= 512R\x06isUser:\x9f\x01\n\tis_option\x12\x19.buf.validate.StringRules\x18\xc0\xe6\x95& \x01(\x08\x42\x64\xc2Ha\n_\n\x10string.is_option\x12#must be within 1 and 128 characters\x1a&this.size() >= 1 && this.size() <= 128R\x08isOption:\x98\x01\n\x06is_key\x12\x19.buf.validate.StringRules\x18\xc1\xe6\x95& \x01(\x08\x42\x63\xc2H`\n^\n\rstring.is_key\x12$must be within 1 and 8192 characters\x1a\'this.size() >= 1 && this.size() <= 8192R\x05isKey:\x8f\x01\n\x08prefixes\x12\x1b.buf.validate.RepeatedRules\x18\xc7\xb4\x96& \x01(\x08\x42S\xc2HP\nN\n\x11repeated.prefixes\x12\x1cgiven prefixes must be valid\x1a\x1bthis.all(m, m.isIpPrefix())R\x08prefixes:u\n\x03ips\x12\x1b.buf.validate.RepeatedRules\x18\xc8\xb4\x96& \x01(\x08\x42\x43\xc2H@\n>\n\x0crepeated.ips\x12\x17given ips must be valid\x1a\x15this.all(m, m.isIp())R\x03ips:\xe6\x01\n\x11\x61re_host_and_port\x12\x1b.buf.validate.RepeatedRules\x18\xc9\xb4\x96& \x01(\x08\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x1arepeated.are_host_and_port\x12Pgiven entries must all be in the form of <ip | host>:<port> but port is optional\x1a#this.all(m, m.isHostAndPort(false))R\x0e\x61reHostAndPort:\xba\x01\n\x0b\x61ll_trimmed\x12\x1b.buf.validate.RepeatedRules\x18\xca\xb4\x96& \x01(\x08\x42y\xc2Hv\nt\n\x14repeated.all_trimmed\x12\x32given values must not start or end with whitespace\x1a(this.all(m, m.trim().size() == m.size())R\nallTrimmed:\x84\x02\n\x17keys_and_values_trimmed\x12\x16.buf.validate.MapRules\x18\xd7\x82\x97& \x01(\x08\x42\xb1\x01\xc2H\xad\x01\n\xaa\x01\n\x1bmap.keys_and_values_trimmed\x12\x35keys and values must not start or end with whitespace\x1aTthis.all(k, k.trim().size() == k.size()) && this.all(v, v.trim().size() == v.size())R\x14keysAndValuesTrimmed:\xab\x01\n\x0ckeys_trimmed\x12\x16.buf.validate.MapRules\x18\xd8\x82\x97& \x01(\x08\x42m\xc2Hj\nh\n\x10map.keys_trimmed\x12*keys must not start or end with whitespace\x1a(this.all(k, k.trim().size() == k.size())R\x0bkeysTrimmedB\xca\x01\n\x15\x63om.metalstack.api.v2B\x14PredefinedRulesProtoP\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::V2')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(metalstack/api/v2/predefined_rules.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto:\xb8\x01\n\nmacaddress\x12\x19.buf.validate.StringRules\x18\xb7\xe6\x95& \x01(\x08\x42z\xc2Hw\nu\n\x11string.macaddress\x12&this string must be a valid macaddress\x1a\x38this.matches(\'^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$\')R\nmacaddress:\x99\x01\n\x07is_name\x12\x19.buf.validate.StringRules\x18\xb8\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_name\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x06isName:\x9a\x01\n\x0eis_description\x12\x19.buf.validate.StringRules\x18\xb9\xe6\x95& \x01(\x08\x42U\xc2HR\nP\n\x15string.is_description\x12#must be shorter than 256 characters\x1a\x12this.size() <= 256R\risDescription:\xa8\x01\n\x0cis_partition\x12\x19.buf.validate.StringRules\x18\xba\xe6\x95& \x01(\x08\x42g\xc2Hd\nb\n\x13string.is_partition\x12#must be within 2 and 128 characters\x1a&this.size() >= 2 && this.size() <= 128R\x0bisPartition:\x82\x01\n\tis_prefix\x12\x19.buf.validate.StringRules\x18\xbb\xe6\x95& \x01(\x08\x42G\xc2HD\nB\n\x0fstring.prefixes\x12\x1cgiven prefixes must be valid\x1a\x11this.isIpPrefix()R\x08isPrefix:m\n\x06is_uri\x12\x19.buf.validate.StringRules\x18\xbc\xe6\x95& \x01(\x08\x42\x38\xc2H5\n3\n\nstring.uri\x12\x17given uri must be valid\x1a\x0cthis.isUri()R\x05isUri:\xa7\x01\n\x11is_ip_or_hostname\x12\x19.buf.validate.StringRules\x18\xbd\xe6\x95& \x01(\x08\x42^\xc2H[\nY\n\rvalid_address\x12&must be a valid IP address or hostname\x1a this.isIp() || this.isHostname()R\x0eisIpOrHostname:\x9d\x01\n\x07trimmed\x12\x19.buf.validate.StringRules\x18\xbe\xe6\x95& \x01(\x08\x42\x65\xc2Hb\n`\n\x0estring.trimmed\x12+value must not start or end with whitespace\x1a!this.trim().size() == this.size()R\x07trimmed:\x99\x01\n\x07is_user\x12\x19.buf.validate.StringRules\x18\xbf\xe6\x95& \x01(\x08\x42\x62\xc2H_\n]\n\x0estring.is_user\x12#must be within 2 and 512 characters\x1a&this.size() >= 2 && this.size() <= 512R\x06isUser:\x9f\x01\n\tis_option\x12\x19.buf.validate.StringRules\x18\xc0\xe6\x95& \x01(\x08\x42\x64\xc2Ha\n_\n\x10string.is_option\x12#must be within 1 and 128 characters\x1a&this.size() >= 1 && this.size() <= 128R\x08isOption:\x98\x01\n\x06is_key\x12\x19.buf.validate.StringRules\x18\xc1\xe6\x95& \x01(\x08\x42\x63\xc2H`\n^\n\rstring.is_key\x12$must be within 1 and 8192 characters\x1a\'this.size() >= 1 && this.size() <= 8192R\x05isKey:\xb0\x01\n\x0fis_tenant_login\x12\x19.buf.validate.StringRules\x18\xc2\xe6\x95& \x01(\x08\x42j\xc2Hg\ne\n\x16string.is_tenant_login\x12#must be within 2 and 256 characters\x1a&this.size() >= 2 && this.size() <= 256R\risTenantLogin:\x8f\x01\n\x08prefixes\x12\x1b.buf.validate.RepeatedRules\x18\xc7\xb4\x96& \x01(\x08\x42S\xc2HP\nN\n\x11repeated.prefixes\x12\x1cgiven prefixes must be valid\x1a\x1bthis.all(m, m.isIpPrefix())R\x08prefixes:u\n\x03ips\x12\x1b.buf.validate.RepeatedRules\x18\xc8\xb4\x96& \x01(\x08\x42\x43\xc2H@\n>\n\x0crepeated.ips\x12\x17given ips must be valid\x1a\x15this.all(m, m.isIp())R\x03ips:\xe6\x01\n\x11\x61re_host_and_port\x12\x1b.buf.validate.RepeatedRules\x18\xc9\xb4\x96& \x01(\x08\x42\x9a\x01\xc2H\x96\x01\n\x93\x01\n\x1arepeated.are_host_and_port\x12Pgiven entries must all be in the form of <ip | host>:<port> but port is optional\x1a#this.all(m, m.isHostAndPort(false))R\x0e\x61reHostAndPort:\xba\x01\n\x0b\x61ll_trimmed\x12\x1b.buf.validate.RepeatedRules\x18\xca\xb4\x96& \x01(\x08\x42y\xc2Hv\nt\n\x14repeated.all_trimmed\x12\x32given values must not start or end with whitespace\x1a(this.all(m, m.trim().size() == m.size())R\nallTrimmed:\x84\x02\n\x17keys_and_values_trimmed\x12\x16.buf.validate.MapRules\x18\xd7\x82\x97& \x01(\x08\x42\xb1\x01\xc2H\xad\x01\n\xaa\x01\n\x1bmap.keys_and_values_trimmed\x12\x35keys and values must not start or end with whitespace\x1aTthis.all(k, k.trim().size() == k.size()) && this.all(v, v.trim().size() == v.size())R\x14keysAndValuesTrimmed:\xab\x01\n\x0ckeys_trimmed\x12\x16.buf.validate.MapRules\x18\xd8\x82\x97& \x01(\x08\x42m\xc2Hj\nh\n\x10map.keys_trimmed\x12*keys must not start or end with whitespace\x1a(this.all(k, k.trim().size() == k.size())R\x0bkeysTrimmedB\xca\x01\n\x15\x63om.metalstack.api.v2B\x14PredefinedRulesProtoP\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::V2')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -55,6 +55,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
55
55
  _globals['is_option']._serialized_options = b'\302Ha\n_\n\020string.is_option\022#must be within 1 and 128 characters\032&this.size() >= 1 && this.size() <= 128'
56
56
  _globals['is_key']._loaded_options = None
57
57
  _globals['is_key']._serialized_options = b'\302H`\n^\n\rstring.is_key\022$must be within 1 and 8192 characters\032\'this.size() >= 1 && this.size() <= 8192'
58
+ _globals['is_tenant_login']._loaded_options = None
59
+ _globals['is_tenant_login']._serialized_options = b'\302Hg\ne\n\026string.is_tenant_login\022#must be within 2 and 256 characters\032&this.size() >= 2 && this.size() <= 256'
58
60
  _globals['prefixes']._loaded_options = None
59
61
  _globals['prefixes']._serialized_options = b'\302HP\nN\n\021repeated.prefixes\022\034given prefixes must be valid\032\033this.all(m, m.isIpPrefix())'
60
62
  _globals['ips']._loaded_options = None
@@ -25,6 +25,8 @@ IS_OPTION_FIELD_NUMBER: _ClassVar[int]
25
25
  is_option: _descriptor.FieldDescriptor
26
26
  IS_KEY_FIELD_NUMBER: _ClassVar[int]
27
27
  is_key: _descriptor.FieldDescriptor
28
+ IS_TENANT_LOGIN_FIELD_NUMBER: _ClassVar[int]
29
+ is_tenant_login: _descriptor.FieldDescriptor
28
30
  PREFIXES_FIELD_NUMBER: _ClassVar[int]
29
31
  prefixes: _descriptor.FieldDescriptor
30
32
  IPS_FIELD_NUMBER: _ClassVar[int]
@@ -28,7 +28,7 @@ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common
28
28
  from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
29
29
 
30
30
 
31
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xe5\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12\"\n\navatar_url\x18\x06 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xf8\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x04meta\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\xde\x01\n\x19ProjectServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\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(\n\x06tenant\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x06tenant\x88\x01\x01\x12\x36\n\x06labels\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x03R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_tenantB\t\n\x07_labels\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\xf6\x01\n\x1bProjectServiceCreateRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05login\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\"\n\navatar_url\x18\x04 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\xf8\x02\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\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\navatar_url\x18\x05 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"@\n\x1aProjectServiceLeaveRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x1d\n\x1bProjectServiceLeaveResponse\"_\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"$\n\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xe2\x0c\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12q\n\x05Leave\x12-.metalstack.api.v2.ProjectServiceLeaveRequest\x1a..metalstack.api.v2.ProjectServiceLeaveResponse\"\t\xca\xf3\x18\x01\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\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
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xf2\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12/\n\navatar_url\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xf8\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12+\n\x04meta\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\xde\x01\n\x19ProjectServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\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(\n\x06tenant\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x06tenant\x88\x01\x01\x12\x36\n\x06labels\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x03R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_tenantB\t\n\x07_labels\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\x83\x02\n\x1bProjectServiceCreateRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x05login\x12\x1f\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12/\n\navatar_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x00R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x85\x03\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\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\navatar_url\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x02R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"@\n\x1aProjectServiceLeaveRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x1d\n\x1bProjectServiceLeaveResponse\"_\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"$\n\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xe2\x0c\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12q\n\x05Leave\x12-.metalstack.api.v2.ProjectServiceLeaveRequest\x1a..metalstack.api.v2.ProjectServiceLeaveResponse\"\t\xca\xf3\x18\x01\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\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')
32
32
 
33
33
  _globals = globals()
34
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -40,6 +40,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
40
40
  _globals['_PROJECT'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
41
41
  _globals['_PROJECT'].fields_by_name['description']._loaded_options = None
42
42
  _globals['_PROJECT'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
43
+ _globals['_PROJECT'].fields_by_name['avatar_url']._loaded_options = None
44
+ _globals['_PROJECT'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001'
43
45
  _globals['_PROJECTMEMBER'].fields_by_name['role']._loaded_options = None
44
46
  _globals['_PROJECTMEMBER'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
45
47
  _globals['_PROJECTINVITE'].fields_by_name['role']._loaded_options = None
@@ -56,6 +58,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
56
58
  _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
57
59
  _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['description']._loaded_options = None
58
60
  _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
61
+ _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None
62
+ _globals['_PROJECTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001'
59
63
  _globals['_PROJECTSERVICEDELETEREQUEST'].fields_by_name['project']._loaded_options = None
60
64
  _globals['_PROJECTSERVICEDELETEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
61
65
  _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['project']._loaded_options = None
@@ -66,6 +70,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
66
70
  _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
67
71
  _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None
68
72
  _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
73
+ _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None
74
+ _globals['_PROJECTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001'
69
75
  _globals['_PROJECTSERVICEINVITEREQUEST'].fields_by_name['project']._loaded_options = None
70
76
  _globals['_PROJECTSERVICEINVITEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
71
77
  _globals['_PROJECTSERVICEINVITEREQUEST'].fields_by_name['role']._loaded_options = None
@@ -109,63 +115,63 @@ if not _descriptor._USE_C_DESCRIPTORS:
109
115
  _globals['_PROJECTSERVICE'].methods_by_name['InviteGet']._loaded_options = None
110
116
  _globals['_PROJECTSERVICE'].methods_by_name['InviteGet']._serialized_options = b'\330\363\030\002\340\363\030\002'
111
117
  _globals['_PROJECT']._serialized_start=191
112
- _globals['_PROJECT']._serialized_end=420
113
- _globals['_PROJECTMEMBER']._serialized_start=423
114
- _globals['_PROJECTMEMBER']._serialized_end=671
115
- _globals['_PROJECTINVITE']._serialized_start=674
116
- _globals['_PROJECTINVITE']._serialized_end=1033
117
- _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=1036
118
- _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=1258
119
- _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1260
120
- _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1344
121
- _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1346
122
- _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1408
123
- _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1411
124
- _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1567
125
- _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1570
126
- _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1816
127
- _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1818
128
- _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=1902
129
- _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=1904
130
- _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=1969
131
- _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=1971
132
- _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=2055
133
- _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=2058
134
- _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2434
135
- _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2436
136
- _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2520
137
- _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2522
138
- _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2649
139
- _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2651
140
- _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2739
141
- _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2741
142
- _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2811
143
- _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2813
144
- _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=2908
145
- _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=2910
146
- _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=2966
147
- _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=2968
148
- _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=3059
149
- _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_start=3061
150
- _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_end=3125
151
- _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_start=3127
152
- _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_end=3156
153
- _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=3158
154
- _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3253
155
- _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3255
156
- _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3291
157
- _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3294
158
- _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3451
159
- _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3453
160
- _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3562
161
- _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3564
162
- _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3623
163
- _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3625
164
- _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3722
165
- _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3724
166
- _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3819
167
- _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3821
168
- _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3857
169
- _globals['_PROJECTSERVICE']._serialized_start=3860
170
- _globals['_PROJECTSERVICE']._serialized_end=5494
118
+ _globals['_PROJECT']._serialized_end=433
119
+ _globals['_PROJECTMEMBER']._serialized_start=436
120
+ _globals['_PROJECTMEMBER']._serialized_end=684
121
+ _globals['_PROJECTINVITE']._serialized_start=687
122
+ _globals['_PROJECTINVITE']._serialized_end=1046
123
+ _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=1049
124
+ _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=1271
125
+ _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1273
126
+ _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1357
127
+ _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1359
128
+ _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1421
129
+ _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1424
130
+ _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1580
131
+ _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1583
132
+ _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1842
133
+ _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1844
134
+ _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=1928
135
+ _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=1930
136
+ _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=1995
137
+ _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=1997
138
+ _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=2081
139
+ _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=2084
140
+ _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2473
141
+ _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2475
142
+ _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2559
143
+ _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2561
144
+ _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2688
145
+ _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2690
146
+ _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2778
147
+ _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2780
148
+ _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2850
149
+ _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2852
150
+ _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=2947
151
+ _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=2949
152
+ _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=3005
153
+ _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=3007
154
+ _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=3098
155
+ _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_start=3100
156
+ _globals['_PROJECTSERVICELEAVEREQUEST']._serialized_end=3164
157
+ _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_start=3166
158
+ _globals['_PROJECTSERVICELEAVERESPONSE']._serialized_end=3195
159
+ _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=3197
160
+ _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3292
161
+ _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3294
162
+ _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3330
163
+ _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3333
164
+ _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3490
165
+ _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3492
166
+ _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3601
167
+ _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3603
168
+ _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3662
169
+ _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3664
170
+ _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3761
171
+ _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3763
172
+ _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3858
173
+ _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3860
174
+ _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3896
175
+ _globals['_PROJECTSERVICE']._serialized_start=3899
176
+ _globals['_PROJECTSERVICE']._serialized_end=5533
171
177
  # @@protoc_insertion_point(module_scope)
@@ -30,7 +30,7 @@ from metalstack.api.v2 import machine_pb2 as metalstack_dot_api_dot_v2_dot_machi
30
30
  from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
31
31
 
32
32
 
33
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/switch.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xb3\x06\n\x06Switch\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\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\x04rack\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04rack\x88\x01\x01\x12)\n\tpartition\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\x12Q\n\x0creplace_mode\x18\x06 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0breplaceMode\x12,\n\rmanagement_ip\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x0cmanagementIp\x12\x38\n\x0fmanagement_user\x18\x08 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0emanagementUser\x88\x01\x01\x12\x38\n\x0f\x63onsole_command\x18\t \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0e\x63onsoleCommand\x88\x01\x01\x12\x30\n\x04nics\x18\n \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x04nics\x12+\n\x02os\x18\x0b \x01(\x0b\x32\x1b.metalstack.api.v2.SwitchOSR\x02os\x12U\n\x13machine_connections\x18\x0c \x03(\x0b\x32$.metalstack.api.v2.MachineConnectionR\x12machineConnections\x12:\n\tlast_sync\x18\r \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\x08lastSync\x12\x45\n\x0flast_sync_error\x18\x0e \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\rlastSyncErrorB\x07\n\x05_rackB\x12\n\x10_management_userB\x12\n\x10_console_command\"\xb1\x01\n\x08SwitchOS\x12\x43\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06vendor\x12%\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07version\x12\x39\n\x12metal_core_version\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x10metalCoreVersion\"\x9c\x03\n\tSwitchNic\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12+\n\nidentifier\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\nidentifier\x12\x1d\n\x03mac\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\"\n\x03vrf\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x03vrf\x88\x01\x01\x12\x36\n\x05state\x18\x05 \x01(\x0b\x32\x1b.metalstack.api.v2.NicStateH\x01R\x05state\x88\x01\x01\x12@\n\nbgp_filter\x18\x06 \x01(\x0b\x32\x1c.metalstack.api.v2.BGPFilterH\x02R\tbgpFilter\x88\x01\x01\x12P\n\x0e\x62gp_port_state\x18\x07 \x01(\x0b\x32%.metalstack.api.v2.SwitchBGPPortStateH\x03R\x0c\x62gpPortState\x88\x01\x01\x42\x06\n\x04_vrfB\x08\n\x06_stateB\r\n\x0b_bgp_filterB\x11\n\x0f_bgp_port_state\"T\n\tBGPFilter\x12\"\n\x05\x63idrs\x18\x01 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x05\x63idrs\x12#\n\x04vnis\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\"\x07r\x05\x10\x02\x18\x80\x01R\x04vnis\"\x92\x03\n\x12SwitchBGPPortState\x12\'\n\x08neighbor\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x08neighbor\x12*\n\npeer_group\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\tpeerGroup\x12&\n\x08vrf_name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07vrfName\x12\x42\n\tbgp_state\x18\x04 \x01(\x0e\x32\x1b.metalstack.api.v2.BGPStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08\x62gpState\x12S\n\x18\x62gp_timer_up_established\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x62gpTimerUpEstablished\x12.\n\x13sent_prefix_counter\x18\x06 \x01(\x04R\x11sentPrefixCounter\x12\x36\n\x17\x61\x63\x63\x65pted_prefix_counter\x18\x07 \x01(\x04R\x15\x61\x63\x63\x65ptedPrefixCounter\"\xab\x01\n\x08NicState\x12L\n\x07\x64\x65sired\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x07\x64\x65sired\x88\x01\x01\x12\x45\n\x06\x61\x63tual\x18\x02 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06\x61\x63tualB\n\n\x08_desired\"b\n\x11MachineConnection\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x12.\n\x03nic\x18\x02 \x01(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x03nic\"\xe3\x01\n\x0bSwitchQuery\x12\"\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x02id\x88\x01\x01\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x01R\tpartition\x88\x01\x01\x12$\n\x04rack\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x04rack\x88\x01\x01\x12\x35\n\x02os\x18\x04 \x01(\x0b\x32 .metalstack.api.v2.SwitchOSQueryH\x03R\x02os\x88\x01\x01\x42\x05\n\x03_idB\x0c\n\n_partitionB\x07\n\x05_rackB\x05\n\x03_os\"\x9c\x01\n\rSwitchOSQuery\x12H\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x06vendor\x88\x01\x01\x12*\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x07version\x88\x01\x01\x42\t\n\x07_vendorB\n\n\x08_version\"\x98\x01\n\nSwitchSync\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x35\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x19\n\x05\x65rror\x18\x03 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\"\xa1\x01\n\x12SwitchWithMachines\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1c\n\tpartition\x18\x02 \x01(\tR\tpartition\x12\x12\n\x04rack\x18\x03 \x01(\tR\x04rack\x12I\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\'.metalstack.api.v2.SwitchNicWithMachineR\x0b\x63onnections\"\xad\x01\n\x14SwitchNicWithMachine\x12.\n\x03nic\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x03nic\x12\x34\n\x07machine\x18\x02 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\x12/\n\x03\x66ru\x18\x03 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineFRUR\x03\x66ru*\x89\x02\n\x08\x42GPState\x12\x19\n\x15\x42GP_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x0e\x42GP_STATE_IDLE\x10\x01\x1a\x08\x82\xb2\x19\x04Idle\x12\"\n\x11\x42GP_STATE_CONNECT\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43onnect\x12 \n\x10\x42GP_STATE_ACTIVE\x10\x03\x1a\n\x82\xb2\x19\x06\x41\x63tive\x12%\n\x13\x42GP_STATE_OPEN_SENT\x10\x04\x1a\x0c\x82\xb2\x19\x08OpenSent\x12+\n\x16\x42GP_STATE_OPEN_CONFIRM\x10\x05\x1a\x0f\x82\xb2\x19\x0bOpenConfirm\x12*\n\x15\x42GP_STATE_ESTABLISHED\x10\x06\x1a\x0f\x82\xb2\x19\x0b\x45stablished*\xa2\x01\n\x11SwitchReplaceMode\x12)\n\x1fSWITCH_REPLACE_MODE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12,\n\x1bSWITCH_REPLACE_MODE_REPLACE\x10\x01\x1a\x0b\x82\xb2\x19\x07replace\x12\x34\n\x1fSWITCH_REPLACE_MODE_OPERATIONAL\x10\x02\x1a\x0f\x82\xb2\x19\x0boperational*\x84\x01\n\x0eSwitchOSVendor\x12 \n\x1cSWITCH_OS_VENDOR_UNSPECIFIED\x10\x00\x12)\n\x18SWITCH_OS_VENDOR_CUMULUS\x10\x01\x1a\x0b\x82\xb2\x19\x07\x43umulus\x12%\n\x16SWITCH_OS_VENDOR_SONIC\x10\x02\x1a\t\x82\xb2\x19\x05SONiC*\xad\x01\n\x10SwitchPortStatus\x12\"\n\x1eSWITCH_PORT_STATUS_UNSPECIFIED\x10\x00\x12!\n\x15SWITCH_PORT_STATUS_UP\x10\x01\x1a\x06\x82\xb2\x19\x02up\x12%\n\x17SWITCH_PORT_STATUS_DOWN\x10\x02\x1a\x08\x82\xb2\x19\x04\x64own\x12+\n\x1aSWITCH_PORT_STATUS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknownB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bSwitchProtoP\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')
33
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/switch.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xb3\x06\n\x06Switch\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\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\x04rack\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04rack\x88\x01\x01\x12)\n\tpartition\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\x12Q\n\x0creplace_mode\x18\x06 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0breplaceMode\x12,\n\rmanagement_ip\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x0cmanagementIp\x12\x38\n\x0fmanagement_user\x18\x08 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0emanagementUser\x88\x01\x01\x12\x38\n\x0f\x63onsole_command\x18\t \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0e\x63onsoleCommand\x88\x01\x01\x12\x30\n\x04nics\x18\n \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x04nics\x12+\n\x02os\x18\x0b \x01(\x0b\x32\x1b.metalstack.api.v2.SwitchOSR\x02os\x12U\n\x13machine_connections\x18\x0c \x03(\x0b\x32$.metalstack.api.v2.MachineConnectionR\x12machineConnections\x12:\n\tlast_sync\x18\r \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\x08lastSync\x12\x45\n\x0flast_sync_error\x18\x0e \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\rlastSyncErrorB\x07\n\x05_rackB\x12\n\x10_management_userB\x12\n\x10_console_command\"\xb1\x01\n\x08SwitchOS\x12\x43\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06vendor\x12%\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07version\x12\x39\n\x12metal_core_version\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x10metalCoreVersion\"\x9c\x03\n\tSwitchNic\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12+\n\nidentifier\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\nidentifier\x12\x1d\n\x03mac\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\"\n\x03vrf\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x03vrf\x88\x01\x01\x12\x36\n\x05state\x18\x05 \x01(\x0b\x32\x1b.metalstack.api.v2.NicStateH\x01R\x05state\x88\x01\x01\x12@\n\nbgp_filter\x18\x06 \x01(\x0b\x32\x1c.metalstack.api.v2.BGPFilterH\x02R\tbgpFilter\x88\x01\x01\x12P\n\x0e\x62gp_port_state\x18\x07 \x01(\x0b\x32%.metalstack.api.v2.SwitchBGPPortStateH\x03R\x0c\x62gpPortState\x88\x01\x01\x42\x06\n\x04_vrfB\x08\n\x06_stateB\r\n\x0b_bgp_filterB\x11\n\x0f_bgp_port_state\"T\n\tBGPFilter\x12\"\n\x05\x63idrs\x18\x01 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x05\x63idrs\x12#\n\x04vnis\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\"\x07r\x05\x10\x02\x18\x80\x01R\x04vnis\"\x92\x03\n\x12SwitchBGPPortState\x12\'\n\x08neighbor\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x08neighbor\x12*\n\npeer_group\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\tpeerGroup\x12&\n\x08vrf_name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07vrfName\x12\x42\n\tbgp_state\x18\x04 \x01(\x0e\x32\x1b.metalstack.api.v2.BGPStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08\x62gpState\x12S\n\x18\x62gp_timer_up_established\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x62gpTimerUpEstablished\x12.\n\x13sent_prefix_counter\x18\x06 \x01(\x04R\x11sentPrefixCounter\x12\x36\n\x17\x61\x63\x63\x65pted_prefix_counter\x18\x07 \x01(\x04R\x15\x61\x63\x63\x65ptedPrefixCounter\"\xab\x01\n\x08NicState\x12L\n\x07\x64\x65sired\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x07\x64\x65sired\x88\x01\x01\x12\x45\n\x06\x61\x63tual\x18\x02 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06\x61\x63tualB\n\n\x08_desired\"b\n\x11MachineConnection\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x12.\n\x03nic\x18\x02 \x01(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x03nic\"\xbd\x02\n\x0bSwitchQuery\x12\"\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x02id\x88\x01\x01\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x01R\tpartition\x88\x01\x01\x12$\n\x04rack\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x04rack\x88\x01\x01\x12\x35\n\x02os\x18\x04 \x01(\x0b\x32 .metalstack.api.v2.SwitchOSQueryH\x03R\x02os\x88\x01\x01\x12?\n\x14\x63onnected_machine_id\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x12\x63onnectedMachineId\x88\x01\x01\x42\x05\n\x03_idB\x0c\n\n_partitionB\x07\n\x05_rackB\x05\n\x03_osB\x17\n\x15_connected_machine_id\"\x9c\x01\n\rSwitchOSQuery\x12H\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x06vendor\x88\x01\x01\x12*\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x07version\x88\x01\x01\x42\t\n\x07_vendorB\n\n\x08_version\"\x98\x01\n\nSwitchSync\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x35\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x19\n\x05\x65rror\x18\x03 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\"\xa1\x01\n\x12SwitchWithMachines\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1c\n\tpartition\x18\x02 \x01(\tR\tpartition\x12\x12\n\x04rack\x18\x03 \x01(\tR\x04rack\x12I\n\x0b\x63onnections\x18\x04 \x03(\x0b\x32\'.metalstack.api.v2.SwitchNicWithMachineR\x0b\x63onnections\"\xad\x01\n\x14SwitchNicWithMachine\x12.\n\x03nic\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x03nic\x12\x34\n\x07machine\x18\x02 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\x12/\n\x03\x66ru\x18\x03 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineFRUR\x03\x66ru*\x89\x02\n\x08\x42GPState\x12\x19\n\x15\x42GP_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x0e\x42GP_STATE_IDLE\x10\x01\x1a\x08\x82\xb2\x19\x04Idle\x12\"\n\x11\x42GP_STATE_CONNECT\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43onnect\x12 \n\x10\x42GP_STATE_ACTIVE\x10\x03\x1a\n\x82\xb2\x19\x06\x41\x63tive\x12%\n\x13\x42GP_STATE_OPEN_SENT\x10\x04\x1a\x0c\x82\xb2\x19\x08OpenSent\x12+\n\x16\x42GP_STATE_OPEN_CONFIRM\x10\x05\x1a\x0f\x82\xb2\x19\x0bOpenConfirm\x12*\n\x15\x42GP_STATE_ESTABLISHED\x10\x06\x1a\x0f\x82\xb2\x19\x0b\x45stablished*\xa2\x01\n\x11SwitchReplaceMode\x12)\n\x1fSWITCH_REPLACE_MODE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12,\n\x1bSWITCH_REPLACE_MODE_REPLACE\x10\x01\x1a\x0b\x82\xb2\x19\x07replace\x12\x34\n\x1fSWITCH_REPLACE_MODE_OPERATIONAL\x10\x02\x1a\x0f\x82\xb2\x19\x0boperational*\x84\x01\n\x0eSwitchOSVendor\x12 \n\x1cSWITCH_OS_VENDOR_UNSPECIFIED\x10\x00\x12)\n\x18SWITCH_OS_VENDOR_CUMULUS\x10\x01\x1a\x0b\x82\xb2\x19\x07\x43umulus\x12%\n\x16SWITCH_OS_VENDOR_SONIC\x10\x02\x1a\t\x82\xb2\x19\x05SONiC*\xad\x01\n\x10SwitchPortStatus\x12\"\n\x1eSWITCH_PORT_STATUS_UNSPECIFIED\x10\x00\x12!\n\x15SWITCH_PORT_STATUS_UP\x10\x01\x1a\x06\x82\xb2\x19\x02up\x12%\n\x17SWITCH_PORT_STATUS_DOWN\x10\x02\x1a\x08\x82\xb2\x19\x04\x64own\x12+\n\x1aSWITCH_PORT_STATUS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknownB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bSwitchProtoP\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')
34
34
 
35
35
  _globals = globals()
36
36
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -118,18 +118,20 @@ if not _descriptor._USE_C_DESCRIPTORS:
118
118
  _globals['_SWITCHQUERY'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001'
119
119
  _globals['_SWITCHQUERY'].fields_by_name['rack']._loaded_options = None
120
120
  _globals['_SWITCHQUERY'].fields_by_name['rack']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
121
+ _globals['_SWITCHQUERY'].fields_by_name['connected_machine_id']._loaded_options = None
122
+ _globals['_SWITCHQUERY'].fields_by_name['connected_machine_id']._serialized_options = b'\272H\005r\003\260\001\001'
121
123
  _globals['_SWITCHOSQUERY'].fields_by_name['vendor']._loaded_options = None
122
124
  _globals['_SWITCHOSQUERY'].fields_by_name['vendor']._serialized_options = b'\272H\005\202\001\002\020\001'
123
125
  _globals['_SWITCHOSQUERY'].fields_by_name['version']._loaded_options = None
124
126
  _globals['_SWITCHOSQUERY'].fields_by_name['version']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
125
- _globals['_BGPSTATE']._serialized_start=3321
126
- _globals['_BGPSTATE']._serialized_end=3586
127
- _globals['_SWITCHREPLACEMODE']._serialized_start=3589
128
- _globals['_SWITCHREPLACEMODE']._serialized_end=3751
129
- _globals['_SWITCHOSVENDOR']._serialized_start=3754
130
- _globals['_SWITCHOSVENDOR']._serialized_end=3886
131
- _globals['_SWITCHPORTSTATUS']._serialized_start=3889
132
- _globals['_SWITCHPORTSTATUS']._serialized_end=4062
127
+ _globals['_BGPSTATE']._serialized_start=3411
128
+ _globals['_BGPSTATE']._serialized_end=3676
129
+ _globals['_SWITCHREPLACEMODE']._serialized_start=3679
130
+ _globals['_SWITCHREPLACEMODE']._serialized_end=3841
131
+ _globals['_SWITCHOSVENDOR']._serialized_start=3844
132
+ _globals['_SWITCHOSVENDOR']._serialized_end=3976
133
+ _globals['_SWITCHPORTSTATUS']._serialized_start=3979
134
+ _globals['_SWITCHPORTSTATUS']._serialized_end=4152
133
135
  _globals['_SWITCH']._serialized_start=255
134
136
  _globals['_SWITCH']._serialized_end=1074
135
137
  _globals['_SWITCHOS']._serialized_start=1077
@@ -145,13 +147,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
145
147
  _globals['_MACHINECONNECTION']._serialized_start=2336
146
148
  _globals['_MACHINECONNECTION']._serialized_end=2434
147
149
  _globals['_SWITCHQUERY']._serialized_start=2437
148
- _globals['_SWITCHQUERY']._serialized_end=2664
149
- _globals['_SWITCHOSQUERY']._serialized_start=2667
150
- _globals['_SWITCHOSQUERY']._serialized_end=2823
151
- _globals['_SWITCHSYNC']._serialized_start=2826
152
- _globals['_SWITCHSYNC']._serialized_end=2978
153
- _globals['_SWITCHWITHMACHINES']._serialized_start=2981
154
- _globals['_SWITCHWITHMACHINES']._serialized_end=3142
155
- _globals['_SWITCHNICWITHMACHINE']._serialized_start=3145
156
- _globals['_SWITCHNICWITHMACHINE']._serialized_end=3318
150
+ _globals['_SWITCHQUERY']._serialized_end=2754
151
+ _globals['_SWITCHOSQUERY']._serialized_start=2757
152
+ _globals['_SWITCHOSQUERY']._serialized_end=2913
153
+ _globals['_SWITCHSYNC']._serialized_start=2916
154
+ _globals['_SWITCHSYNC']._serialized_end=3068
155
+ _globals['_SWITCHWITHMACHINES']._serialized_start=3071
156
+ _globals['_SWITCHWITHMACHINES']._serialized_end=3232
157
+ _globals['_SWITCHNICWITHMACHINE']._serialized_start=3235
158
+ _globals['_SWITCHNICWITHMACHINE']._serialized_end=3408
157
159
  # @@protoc_insertion_point(module_scope)
@@ -164,16 +164,18 @@ class MachineConnection(_message.Message):
164
164
  def __init__(self, machine_id: _Optional[str] = ..., nic: _Optional[_Union[SwitchNic, _Mapping]] = ...) -> None: ...
165
165
 
166
166
  class SwitchQuery(_message.Message):
167
- __slots__ = ("id", "partition", "rack", "os")
167
+ __slots__ = ("id", "partition", "rack", "os", "connected_machine_id")
168
168
  ID_FIELD_NUMBER: _ClassVar[int]
169
169
  PARTITION_FIELD_NUMBER: _ClassVar[int]
170
170
  RACK_FIELD_NUMBER: _ClassVar[int]
171
171
  OS_FIELD_NUMBER: _ClassVar[int]
172
+ CONNECTED_MACHINE_ID_FIELD_NUMBER: _ClassVar[int]
172
173
  id: str
173
174
  partition: str
174
175
  rack: str
175
176
  os: SwitchOSQuery
176
- def __init__(self, id: _Optional[str] = ..., partition: _Optional[str] = ..., rack: _Optional[str] = ..., os: _Optional[_Union[SwitchOSQuery, _Mapping]] = ...) -> None: ...
177
+ connected_machine_id: str
178
+ def __init__(self, id: _Optional[str] = ..., partition: _Optional[str] = ..., rack: _Optional[str] = ..., os: _Optional[_Union[SwitchOSQuery, _Mapping]] = ..., connected_machine_id: _Optional[str] = ...) -> None: ...
177
179
 
178
180
  class SwitchOSQuery(_message.Message):
179
181
  __slots__ = ("vendor", "version")