metal-stack-api 0.1.4__tar.gz → 0.1.5__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.5}/PKG-INFO +1 -1
  2. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metal_stack_api.egg-info/PKG-INFO +1 -1
  3. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/tenant_pb2.py +12 -12
  4. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/tenant_pb2.pyi +4 -8
  5. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/predefined_rules_pb2.py +3 -1
  6. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/predefined_rules_pb2.pyi +2 -0
  7. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/project_pb2.py +66 -60
  8. metal_stack_api-0.1.5/metalstack/api/v2/tenant_pb2.py +187 -0
  9. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/tenant_pb2.pyi +12 -4
  10. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/user_pb2.py +14 -8
  11. metal_stack_api-0.1.4/metalstack/api/v2/tenant_pb2.py +0 -153
  12. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/README.md +0 -0
  13. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metal_stack_api.egg-info/SOURCES.txt +0 -0
  14. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  15. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metal_stack_api.egg-info/requires.txt +0 -0
  16. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metal_stack_api.egg-info/top_level.txt +0 -0
  17. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/__init__.py +0 -0
  18. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/__init__.py +0 -0
  19. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/__init__.py +0 -0
  20. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/audit_connect.py +0 -0
  21. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/audit_pb2.py +0 -0
  22. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/audit_pb2.pyi +0 -0
  23. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/component_connect.py +0 -0
  24. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/component_pb2.py +0 -0
  25. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/component_pb2.pyi +0 -0
  26. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/filesystem_connect.py +0 -0
  27. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/filesystem_pb2.py +0 -0
  28. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  29. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/image_connect.py +0 -0
  30. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/image_pb2.py +0 -0
  31. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/image_pb2.pyi +0 -0
  32. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/ip_connect.py +0 -0
  33. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/ip_pb2.py +0 -0
  34. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  35. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/machine_connect.py +0 -0
  36. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/machine_pb2.py +0 -0
  37. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/machine_pb2.pyi +0 -0
  38. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/network_connect.py +0 -0
  39. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/network_pb2.py +0 -0
  40. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/network_pb2.pyi +0 -0
  41. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/partition_connect.py +0 -0
  42. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/partition_pb2.py +0 -0
  43. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  44. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/project_connect.py +0 -0
  45. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/project_pb2.py +0 -0
  46. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/project_pb2.pyi +0 -0
  47. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_connect.py +0 -0
  48. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_imageconstraint_connect.py +0 -0
  49. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_imageconstraint_pb2.py +0 -0
  50. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_imageconstraint_pb2.pyi +0 -0
  51. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_pb2.py +0 -0
  52. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_pb2.pyi +0 -0
  53. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_reservation_connect.py +0 -0
  54. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_reservation_pb2.py +0 -0
  55. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/size_reservation_pb2.pyi +0 -0
  56. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/switch_connect.py +0 -0
  57. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/switch_pb2.py +0 -0
  58. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/switch_pb2.pyi +0 -0
  59. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/task_connect.py +0 -0
  60. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/task_pb2.py +0 -0
  61. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/task_pb2.pyi +0 -0
  62. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/tenant_connect.py +0 -0
  63. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/token_connect.py +0 -0
  64. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/token_pb2.py +0 -0
  65. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/token_pb2.pyi +0 -0
  66. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/vpn_connect.py +0 -0
  67. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/vpn_pb2.py +0 -0
  68. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/admin/v2/vpn_pb2.pyi +0 -0
  69. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/__init__.py +0 -0
  70. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/__init__.py +0 -0
  71. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/audit_connect.py +0 -0
  72. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/audit_pb2.py +0 -0
  73. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/audit_pb2.pyi +0 -0
  74. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/common_pb2.py +0 -0
  75. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/common_pb2.pyi +0 -0
  76. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/component_pb2.py +0 -0
  77. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/component_pb2.pyi +0 -0
  78. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/filesystem_connect.py +0 -0
  79. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/filesystem_pb2.py +0 -0
  80. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  81. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/health_connect.py +0 -0
  82. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/health_pb2.py +0 -0
  83. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/health_pb2.pyi +0 -0
  84. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/image_connect.py +0 -0
  85. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/image_pb2.py +0 -0
  86. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/image_pb2.pyi +0 -0
  87. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/ip_connect.py +0 -0
  88. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/ip_pb2.py +0 -0
  89. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/ip_pb2.pyi +0 -0
  90. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/machine_connect.py +0 -0
  91. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/machine_pb2.py +0 -0
  92. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/machine_pb2.pyi +0 -0
  93. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/method_connect.py +0 -0
  94. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/method_pb2.py +0 -0
  95. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/method_pb2.pyi +0 -0
  96. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/network_connect.py +0 -0
  97. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/network_pb2.py +0 -0
  98. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/network_pb2.pyi +0 -0
  99. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/partition_connect.py +0 -0
  100. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/partition_pb2.py +0 -0
  101. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/partition_pb2.pyi +0 -0
  102. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/project_connect.py +0 -0
  103. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/project_pb2.pyi +0 -0
  104. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_connect.py +0 -0
  105. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_imageconstraint_connect.py +0 -0
  106. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_imageconstraint_pb2.py +0 -0
  107. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_imageconstraint_pb2.pyi +0 -0
  108. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_pb2.py +0 -0
  109. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_pb2.pyi +0 -0
  110. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_reservation_connect.py +0 -0
  111. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_reservation_pb2.py +0 -0
  112. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/size_reservation_pb2.pyi +0 -0
  113. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/switch_pb2.py +0 -0
  114. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/switch_pb2.pyi +0 -0
  115. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/tenant_connect.py +0 -0
  116. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/token_connect.py +0 -0
  117. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/token_pb2.py +0 -0
  118. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/token_pb2.pyi +0 -0
  119. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/user_connect.py +0 -0
  120. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/user_pb2.pyi +0 -0
  121. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/version_connect.py +0 -0
  122. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/version_pb2.py +0 -0
  123. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/version_pb2.pyi +0 -0
  124. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/vpn_pb2.py +0 -0
  125. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/api/v2/vpn_pb2.pyi +0 -0
  126. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/client/__init__.py +0 -0
  127. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/client/client.py +0 -0
  128. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/__init__.py +0 -0
  129. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/__init__.py +0 -0
  130. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/bmc_connect.py +0 -0
  131. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/bmc_pb2.py +0 -0
  132. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/bmc_pb2.pyi +0 -0
  133. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/boot_connect.py +0 -0
  134. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/boot_pb2.py +0 -0
  135. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/boot_pb2.pyi +0 -0
  136. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/component_connect.py +0 -0
  137. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/component_pb2.py +0 -0
  138. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/component_pb2.pyi +0 -0
  139. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/event_connect.py +0 -0
  140. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/event_pb2.py +0 -0
  141. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/event_pb2.pyi +0 -0
  142. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/switch_connect.py +0 -0
  143. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/switch_pb2.py +0 -0
  144. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  145. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/setup.cfg +0 -0
  146. {metal_stack_api-0.1.4 → metal_stack_api-0.1.5}/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.5
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.5
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)
@@ -0,0 +1,187 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: metalstack/api/v2/tenant.proto
5
+ # Protobuf Python Version: 7.35.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 7,
15
+ 35,
16
+ 1,
17
+ '',
18
+ 'metalstack/api/v2/tenant.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
+ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
+ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/tenant.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\"\x92\x02\n\x06Tenant\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\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\x1d\n\x05\x65mail\x18\x04 \x01(\tB\x07\xbaH\x04r\x02`\x01R\x05\x65mail\x12-\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12*\n\navatar_url\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01R\tavatarUrl\x12\x1d\n\ncreated_by\x18\x07 \x01(\tR\tcreatedBy\"\xec\x01\n\x0cTenantMember\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x02id\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x1a\n\x08projects\x18\x03 \x03(\tR\x08projects\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\"\xfb\x02\n\x0cTenantInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12#\n\rtarget_tenant\x18\x02 \x01(\tR\x0ctargetTenant\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12,\n\x12target_tenant_name\x18\x05 \x01(\tR\x10targetTenantName\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\"P\n\x18TenantServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.TenantQueryR\x05query\"\xe4\x01\n\x0bTenantQuery\x12&\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01H\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\x36\n\x06labels\x18\x03 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x02R\x06labels\x88\x01\x01\x12\x31\n\x06paging\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.PagingR\x06pagingB\x08\n\x06_loginB\x07\n\x05_nameB\t\n\x07_labels\"/\n\x17TenantServiceGetRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\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\"\xb1\x03\n\x1aTenantServiceUpdateRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\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\"\n\x05\x65mail\x18\x04 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12/\n\navatar_url\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xe0\xb3\xae\xb1\x02\x01H\x03R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x07 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x04R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x08\n\x06_emailB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"?\n\x1aTenantServiceDeleteRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"\x95\x01\n\x18TenantServiceGetResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\x12\x46\n\x0etenant_members\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\rtenantMembers\"P\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceUpdateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceDeleteResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"|\n\x1aTenantServiceInviteRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"V\n\x1bTenantServiceInviteResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"D\n\x1fTenantServiceInvitesListRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"]\n TenantServiceInvitesListResponse\x12\x39\n\x07invites\x18\x01 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x07invites\"7\n\x1dTenantServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"Y\n\x1eTenantServiceInviteGetResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"]\n TenantServiceRemoveMemberRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\">\n\x19TenantServiceLeaveRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\"\x1c\n\x1aTenantServiceLeaveResponse\"#\n!TenantServiceRemoveMemberResponse\":\n TenantServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"\\\n!TenantServiceInviteAcceptResponse\x12\x16\n\x06tenant\x18\x01 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x02 \x01(\tR\ntenantName\"]\n TenantServiceInviteDeleteRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"#\n!TenantServiceInviteDeleteResponse\"\xa7\x01\n TenantServiceUpdateMemberRequest\x12!\n\x05login\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x05login\x12#\n\x06member\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\x90\xb4\xae\xb1\x02\x01R\x06member\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"i\n!TenantServiceUpdateMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember2\xc7\x0c\n\rTenantService\x12q\n\x06\x43reate\x12-.metalstack.api.v2.TenantServiceCreateRequest\x1a..metalstack.api.v2.TenantServiceCreateResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12k\n\x04List\x12+.metalstack.api.v2.TenantServiceListRequest\x1a,.metalstack.api.v2.TenantServiceListResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12l\n\x03Get\x12*.metalstack.api.v2.TenantServiceGetRequest\x1a+.metalstack.api.v2.TenantServiceGetResponse\"\x0c\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12s\n\x06Update\x12-.metalstack.api.v2.TenantServiceUpdateRequest\x1a..metalstack.api.v2.TenantServiceUpdateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12s\n\x06\x44\x65lete\x12-.metalstack.api.v2.TenantServiceDeleteRequest\x1a..metalstack.api.v2.TenantServiceDeleteResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12o\n\x05Leave\x12,.metalstack.api.v2.TenantServiceLeaveRequest\x1a-.metalstack.api.v2.TenantServiceLeaveResponse\"\t\xc2\xf3\x18\x01\x03\xe0\xf3\x18\x01\x12\x84\x01\n\x0cRemoveMember\x12\x33.metalstack.api.v2.TenantServiceRemoveMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceRemoveMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n\x0cUpdateMember\x12\x33.metalstack.api.v2.TenantServiceUpdateMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceUpdateMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12r\n\x06Invite\x12-.metalstack.api.v2.TenantServiceInviteRequest\x1a..metalstack.api.v2.TenantServiceInviteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0cInviteAccept\x12\x33.metalstack.api.v2.TenantServiceInviteAcceptRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x01\x12\x84\x01\n\x0cInviteDelete\x12\x33.metalstack.api.v2.TenantServiceInviteDeleteRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x81\x01\n\x0bInvitesList\x12\x32.metalstack.api.v2.TenantServiceInvitesListRequest\x1a\x33.metalstack.api.v2.TenantServiceInvitesListResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12z\n\tInviteGet\x12\x30.metalstack.api.v2.TenantServiceInviteGetRequest\x1a\x31.metalstack.api.v2.TenantServiceInviteGetResponse\"\x08\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x42\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bTenantProtoP\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
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metalstack.api.v2.tenant_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ _globals['DESCRIPTOR']._loaded_options = None
38
+ _globals['DESCRIPTOR']._serialized_options = b'\n\025com.metalstack.api.v2B\013TenantProtoP\001Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\242\002\003MAX\252\002\021Metalstack.Api.V2\312\002\021Metalstack\\Api\\V2\342\002\035Metalstack\\Api\\V2\\GPBMetadata\352\002\023Metalstack::Api::V2'
39
+ _globals['_TENANT'].fields_by_name['login']._loaded_options = None
40
+ _globals['_TENANT'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
41
+ _globals['_TENANT'].fields_by_name['name']._loaded_options = None
42
+ _globals['_TENANT'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
43
+ _globals['_TENANT'].fields_by_name['email']._loaded_options = None
44
+ _globals['_TENANT'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001'
45
+ _globals['_TENANT'].fields_by_name['description']._loaded_options = None
46
+ _globals['_TENANT'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
47
+ _globals['_TENANT'].fields_by_name['avatar_url']._loaded_options = None
48
+ _globals['_TENANT'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001'
49
+ _globals['_TENANTMEMBER'].fields_by_name['id']._loaded_options = None
50
+ _globals['_TENANTMEMBER'].fields_by_name['id']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
51
+ _globals['_TENANTMEMBER'].fields_by_name['role']._loaded_options = None
52
+ _globals['_TENANTMEMBER'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
53
+ _globals['_TENANTINVITE'].fields_by_name['role']._loaded_options = None
54
+ _globals['_TENANTINVITE'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
55
+ _globals['_TENANTQUERY'].fields_by_name['login']._loaded_options = None
56
+ _globals['_TENANTQUERY'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
57
+ _globals['_TENANTQUERY'].fields_by_name['name']._loaded_options = None
58
+ _globals['_TENANTQUERY'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
59
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['name']._loaded_options = None
60
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
61
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['description']._loaded_options = None
62
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
63
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._loaded_options = None
64
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001'
65
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None
66
+ _globals['_TENANTSERVICECREATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001'
67
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['login']._loaded_options = None
68
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
69
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None
70
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001'
71
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['name']._loaded_options = None
72
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
73
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['email']._loaded_options = None
74
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['email']._serialized_options = b'\272H\004r\002`\001'
75
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None
76
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
77
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._loaded_options = None
78
+ _globals['_TENANTSERVICEUPDATEREQUEST'].fields_by_name['avatar_url']._serialized_options = b'\272H\010r\006\340\263\256\261\002\001'
79
+ _globals['_TENANTSERVICEDELETEREQUEST'].fields_by_name['login']._loaded_options = None
80
+ _globals['_TENANTSERVICEDELETEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
81
+ _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['login']._loaded_options = None
82
+ _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
83
+ _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['role']._loaded_options = None
84
+ _globals['_TENANTSERVICEINVITEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
85
+ _globals['_TENANTSERVICEINVITESLISTREQUEST'].fields_by_name['login']._loaded_options = None
86
+ _globals['_TENANTSERVICEINVITESLISTREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
87
+ _globals['_TENANTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['login']._loaded_options = None
88
+ _globals['_TENANTSERVICEREMOVEMEMBERREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
89
+ _globals['_TENANTSERVICELEAVEREQUEST'].fields_by_name['login']._loaded_options = None
90
+ _globals['_TENANTSERVICELEAVEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
91
+ _globals['_TENANTSERVICEINVITEDELETEREQUEST'].fields_by_name['login']._loaded_options = None
92
+ _globals['_TENANTSERVICEINVITEDELETEREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
93
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['login']._loaded_options = None
94
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['login']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
95
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['member']._loaded_options = None
96
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['member']._serialized_options = b'\272H\010r\006\220\264\256\261\002\001'
97
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['role']._loaded_options = None
98
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
99
+ _globals['_TENANTSERVICE'].methods_by_name['Create']._loaded_options = None
100
+ _globals['_TENANTSERVICE'].methods_by_name['Create']._serialized_options = b'\330\363\030\002\340\363\030\001'
101
+ _globals['_TENANTSERVICE'].methods_by_name['List']._loaded_options = None
102
+ _globals['_TENANTSERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\002\340\363\030\002'
103
+ _globals['_TENANTSERVICE'].methods_by_name['Get']._loaded_options = None
104
+ _globals['_TENANTSERVICE'].methods_by_name['Get']._serialized_options = b'\302\363\030\004\001\002\003\004\340\363\030\002'
105
+ _globals['_TENANTSERVICE'].methods_by_name['Update']._loaded_options = None
106
+ _globals['_TENANTSERVICE'].methods_by_name['Update']._serialized_options = b'\302\363\030\002\001\002\340\363\030\001'
107
+ _globals['_TENANTSERVICE'].methods_by_name['Delete']._loaded_options = None
108
+ _globals['_TENANTSERVICE'].methods_by_name['Delete']._serialized_options = b'\302\363\030\002\001\002\340\363\030\001'
109
+ _globals['_TENANTSERVICE'].methods_by_name['Leave']._loaded_options = None
110
+ _globals['_TENANTSERVICE'].methods_by_name['Leave']._serialized_options = b'\302\363\030\001\003\340\363\030\001'
111
+ _globals['_TENANTSERVICE'].methods_by_name['RemoveMember']._loaded_options = None
112
+ _globals['_TENANTSERVICE'].methods_by_name['RemoveMember']._serialized_options = b'\302\363\030\001\001\340\363\030\001'
113
+ _globals['_TENANTSERVICE'].methods_by_name['UpdateMember']._loaded_options = None
114
+ _globals['_TENANTSERVICE'].methods_by_name['UpdateMember']._serialized_options = b'\302\363\030\001\001\340\363\030\001'
115
+ _globals['_TENANTSERVICE'].methods_by_name['Invite']._loaded_options = None
116
+ _globals['_TENANTSERVICE'].methods_by_name['Invite']._serialized_options = b'\302\363\030\001\001\340\363\030\001'
117
+ _globals['_TENANTSERVICE'].methods_by_name['InviteAccept']._loaded_options = None
118
+ _globals['_TENANTSERVICE'].methods_by_name['InviteAccept']._serialized_options = b'\330\363\030\002\340\363\030\001'
119
+ _globals['_TENANTSERVICE'].methods_by_name['InviteDelete']._loaded_options = None
120
+ _globals['_TENANTSERVICE'].methods_by_name['InviteDelete']._serialized_options = b'\302\363\030\001\001\340\363\030\001'
121
+ _globals['_TENANTSERVICE'].methods_by_name['InvitesList']._loaded_options = None
122
+ _globals['_TENANTSERVICE'].methods_by_name['InvitesList']._serialized_options = b'\302\363\030\001\001\340\363\030\002'
123
+ _globals['_TENANTSERVICE'].methods_by_name['InviteGet']._loaded_options = None
124
+ _globals['_TENANTSERVICE'].methods_by_name['InviteGet']._serialized_options = b'\330\363\030\002\340\363\030\002'
125
+ _globals['_TENANT']._serialized_start=190
126
+ _globals['_TENANT']._serialized_end=464
127
+ _globals['_TENANTMEMBER']._serialized_start=467
128
+ _globals['_TENANTMEMBER']._serialized_end=703
129
+ _globals['_TENANTINVITE']._serialized_start=706
130
+ _globals['_TENANTINVITE']._serialized_end=1085
131
+ _globals['_TENANTSERVICELISTREQUEST']._serialized_start=1087
132
+ _globals['_TENANTSERVICELISTREQUEST']._serialized_end=1167
133
+ _globals['_TENANTQUERY']._serialized_start=1170
134
+ _globals['_TENANTQUERY']._serialized_end=1398
135
+ _globals['_TENANTSERVICEGETREQUEST']._serialized_start=1400
136
+ _globals['_TENANTSERVICEGETREQUEST']._serialized_end=1447
137
+ _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=1450
138
+ _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=1740
139
+ _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_start=1743
140
+ _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_end=2176
141
+ _globals['_TENANTSERVICEDELETEREQUEST']._serialized_start=2178
142
+ _globals['_TENANTSERVICEDELETEREQUEST']._serialized_end=2241
143
+ _globals['_TENANTSERVICEGETRESPONSE']._serialized_start=2244
144
+ _globals['_TENANTSERVICEGETRESPONSE']._serialized_end=2393
145
+ _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=2395
146
+ _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=2475
147
+ _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=2477
148
+ _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=2557
149
+ _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_start=2559
150
+ _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_end=2639
151
+ _globals['_TENANTSERVICEDELETERESPONSE']._serialized_start=2641
152
+ _globals['_TENANTSERVICEDELETERESPONSE']._serialized_end=2721
153
+ _globals['_TENANTSERVICEINVITEREQUEST']._serialized_start=2723
154
+ _globals['_TENANTSERVICEINVITEREQUEST']._serialized_end=2847
155
+ _globals['_TENANTSERVICEINVITERESPONSE']._serialized_start=2849
156
+ _globals['_TENANTSERVICEINVITERESPONSE']._serialized_end=2935
157
+ _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_start=2937
158
+ _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_end=3005
159
+ _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_start=3007
160
+ _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_end=3100
161
+ _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_start=3102
162
+ _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_end=3157
163
+ _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_start=3159
164
+ _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_end=3248
165
+ _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_start=3250
166
+ _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_end=3343
167
+ _globals['_TENANTSERVICELEAVEREQUEST']._serialized_start=3345
168
+ _globals['_TENANTSERVICELEAVEREQUEST']._serialized_end=3407
169
+ _globals['_TENANTSERVICELEAVERESPONSE']._serialized_start=3409
170
+ _globals['_TENANTSERVICELEAVERESPONSE']._serialized_end=3437
171
+ _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=3439
172
+ _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3474
173
+ _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_start=3476
174
+ _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_end=3534
175
+ _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3536
176
+ _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3628
177
+ _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_start=3630
178
+ _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_end=3723
179
+ _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_start=3725
180
+ _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_end=3760
181
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3763
182
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3930
183
+ _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3932
184
+ _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=4037
185
+ _globals['_TENANTSERVICE']._serialized_start=4040
186
+ _globals['_TENANTSERVICE']._serialized_end=5647
187
+ # @@protoc_insertion_point(module_scope)
@@ -67,14 +67,22 @@ class TenantInvite(_message.Message):
67
67
  def __init__(self, secret: _Optional[str] = ..., target_tenant: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ..., joined: _Optional[bool] = ..., target_tenant_name: _Optional[str] = ..., tenant: _Optional[str] = ..., tenant_name: _Optional[str] = ..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., joined_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
68
68
 
69
69
  class TenantServiceListRequest(_message.Message):
70
- __slots__ = ("id", "name", "labels")
71
- ID_FIELD_NUMBER: _ClassVar[int]
70
+ __slots__ = ("query",)
71
+ QUERY_FIELD_NUMBER: _ClassVar[int]
72
+ query: TenantQuery
73
+ def __init__(self, query: _Optional[_Union[TenantQuery, _Mapping]] = ...) -> None: ...
74
+
75
+ class TenantQuery(_message.Message):
76
+ __slots__ = ("login", "name", "labels", "paging")
77
+ LOGIN_FIELD_NUMBER: _ClassVar[int]
72
78
  NAME_FIELD_NUMBER: _ClassVar[int]
73
79
  LABELS_FIELD_NUMBER: _ClassVar[int]
74
- id: str
80
+ PAGING_FIELD_NUMBER: _ClassVar[int]
81
+ login: str
75
82
  name: str
76
83
  labels: _common_pb2.Labels
77
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
84
+ paging: _common_pb2.Paging
85
+ def __init__(self, login: _Optional[str] = ..., name: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., paging: _Optional[_Union[_common_pb2.Paging, _Mapping]] = ...) -> None: ...
78
86
 
79
87
  class TenantServiceGetRequest(_message.Message):
80
88
  __slots__ = ("login",)