metal-stack-api 0.0.9__tar.gz → 0.0.10__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 (125) hide show
  1. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/PKG-INFO +1 -1
  2. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metal_stack_api.egg-info/PKG-INFO +1 -1
  3. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/machine_pb2.py +98 -94
  4. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/machine_pb2.pyi +27 -21
  5. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/README.md +0 -0
  6. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/buf/__init__.py +0 -0
  7. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/buf/validate/__init__.py +0 -0
  8. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/buf/validate/validate_pb2.py +0 -0
  9. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/buf/validate/validate_pb2.pyi +0 -0
  10. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/buf/validate/validate_pb2_grpc.py +0 -0
  11. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metal_stack_api.egg-info/SOURCES.txt +0 -0
  12. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  13. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metal_stack_api.egg-info/requires.txt +0 -0
  14. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metal_stack_api.egg-info/top_level.txt +0 -0
  15. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/__init__.py +0 -0
  16. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/__init__.py +0 -0
  17. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/__init__.py +0 -0
  18. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/filesystem_connecpy.py +0 -0
  19. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/filesystem_pb2.py +0 -0
  20. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  21. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/filesystem_pb2_grpc.py +0 -0
  22. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/image_connecpy.py +0 -0
  23. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/image_pb2.py +0 -0
  24. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/image_pb2.pyi +0 -0
  25. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/image_pb2_grpc.py +0 -0
  26. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/ip_connecpy.py +0 -0
  27. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/ip_pb2.py +0 -0
  28. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  29. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/ip_pb2_grpc.py +0 -0
  30. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/network_connecpy.py +0 -0
  31. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/network_pb2.py +0 -0
  32. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/network_pb2.pyi +0 -0
  33. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/network_pb2_grpc.py +0 -0
  34. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/partition_connecpy.py +0 -0
  35. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/partition_pb2.py +0 -0
  36. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  37. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/partition_pb2_grpc.py +0 -0
  38. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/size_connecpy.py +0 -0
  39. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/size_pb2.py +0 -0
  40. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/size_pb2.pyi +0 -0
  41. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/size_pb2_grpc.py +0 -0
  42. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/tenant_connecpy.py +0 -0
  43. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/tenant_pb2.py +0 -0
  44. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/tenant_pb2.pyi +0 -0
  45. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/tenant_pb2_grpc.py +0 -0
  46. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/token_connecpy.py +0 -0
  47. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/token_pb2.py +0 -0
  48. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/token_pb2.pyi +0 -0
  49. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/admin/v2/token_pb2_grpc.py +0 -0
  50. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/__init__.py +0 -0
  51. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/__init__.py +0 -0
  52. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/common_pb2.py +0 -0
  53. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/common_pb2.pyi +0 -0
  54. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/common_pb2_grpc.py +0 -0
  55. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/filesystem_connecpy.py +0 -0
  56. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/filesystem_pb2.py +0 -0
  57. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  58. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/filesystem_pb2_grpc.py +0 -0
  59. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/health_connecpy.py +0 -0
  60. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/health_pb2.py +0 -0
  61. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/health_pb2.pyi +0 -0
  62. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/health_pb2_grpc.py +0 -0
  63. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/image_connecpy.py +0 -0
  64. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/image_pb2.py +0 -0
  65. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/image_pb2.pyi +0 -0
  66. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/image_pb2_grpc.py +0 -0
  67. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/ip_connecpy.py +0 -0
  68. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/ip_pb2.py +0 -0
  69. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/ip_pb2.pyi +0 -0
  70. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/ip_pb2_grpc.py +0 -0
  71. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/machine_connecpy.py +0 -0
  72. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/machine_pb2_grpc.py +0 -0
  73. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/method_connecpy.py +0 -0
  74. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/method_pb2.py +0 -0
  75. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/method_pb2.pyi +0 -0
  76. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/method_pb2_grpc.py +0 -0
  77. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/network_connecpy.py +0 -0
  78. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/network_pb2.py +0 -0
  79. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/network_pb2.pyi +0 -0
  80. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/network_pb2_grpc.py +0 -0
  81. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/partition_connecpy.py +0 -0
  82. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/partition_pb2.py +0 -0
  83. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/partition_pb2.pyi +0 -0
  84. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/partition_pb2_grpc.py +0 -0
  85. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/project_connecpy.py +0 -0
  86. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/project_pb2.py +0 -0
  87. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/project_pb2.pyi +0 -0
  88. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/project_pb2_grpc.py +0 -0
  89. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/size_connecpy.py +0 -0
  90. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/size_pb2.py +0 -0
  91. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/size_pb2.pyi +0 -0
  92. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/size_pb2_grpc.py +0 -0
  93. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/switch_pb2.py +0 -0
  94. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/switch_pb2.pyi +0 -0
  95. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/switch_pb2_grpc.py +0 -0
  96. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/tenant_connecpy.py +0 -0
  97. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/tenant_pb2.py +0 -0
  98. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/tenant_pb2.pyi +0 -0
  99. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/tenant_pb2_grpc.py +0 -0
  100. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/token_connecpy.py +0 -0
  101. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/token_pb2.py +0 -0
  102. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/token_pb2.pyi +0 -0
  103. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/token_pb2_grpc.py +0 -0
  104. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/user_connecpy.py +0 -0
  105. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/user_pb2.py +0 -0
  106. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/user_pb2.pyi +0 -0
  107. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/user_pb2_grpc.py +0 -0
  108. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/version_connecpy.py +0 -0
  109. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/version_pb2.py +0 -0
  110. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/version_pb2.pyi +0 -0
  111. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/api/v2/version_pb2_grpc.py +0 -0
  112. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/client/__init__.py +0 -0
  113. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/client/client.py +0 -0
  114. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/__init__.py +0 -0
  115. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/__init__.py +0 -0
  116. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/bmc_connecpy.py +0 -0
  117. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/bmc_pb2.py +0 -0
  118. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/bmc_pb2.pyi +0 -0
  119. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/bmc_pb2_grpc.py +0 -0
  120. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/switch_connecpy.py +0 -0
  121. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/switch_pb2.py +0 -0
  122. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  123. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/metalstack/infra/v2/switch_pb2_grpc.py +0 -0
  124. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/setup.cfg +0 -0
  125. {metal_stack_api-0.0.9 → metal_stack_api-0.0.10}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.9
3
+ Version: 0.0.10
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.0.9
3
+ Version: 0.0.10
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
@@ -32,7 +32,7 @@ from metalstack.api.v2 import partition_pb2 as metalstack_dot_api_dot_v2_dot_par
32
32
  from metalstack.api.v2 import size_pb2 as metalstack_dot_api_dot_v2_dot_size__pb2
33
33
 
34
34
 
35
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.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/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\x92\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x01R\x08hostname\x88\x01\x01\x12&\n\tpartition\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n\x04size\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x1e\n\x05image\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05image\x12\x30\n\x11\x66ilesystem_layout\x18\t \x01(\tH\x02R\x10\x66ilesystemLayout\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\n \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12*\n\x08userdata\x18\x0b \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02H\x03R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12G\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkR\x08networks\x12H\n\x03ips\x18\x0e \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12%\n\x0eplacement_tags\x18\x0f \x03(\tR\rplacementTags\x12\x45\n\ndns_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x11 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12<\n\x04role\x18\x12 \x01(\x0e\x32\x1e.metalstack.api.v2.MachineRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12G\n\x0e\x66irewall_rules\x18\x13 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRulesB\x07\n\x05_uuidB\x0b\n\t_hostnameB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdata\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xa4\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"_\n\x1bMachineServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xc1\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12+\n\x04size\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x06 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x32\n\x04\x62ios\x18\x07 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa1\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\x83\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12%\n\x08userdata\x18\x0c \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02R\x08userdata\x12<\n\x04role\x18\r \x01(\x0e\x32\x1e.metalstack.api.v2.MachineRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12\x45\n\ndns_server\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpn\"}\n\x18MachineAllocationNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x30\n\x12no_auto_acquire_ip\x18\x02 \x01(\x08H\x00R\x0fnoAutoAcquireIp\x88\x01\x01\x42\x15\n\x13_no_auto_acquire_ip\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\x87\x02\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xe5\x02\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12[\n\x04\x66rom\x18\x04 \x03(\tBG\xbaHD\x92\x01\x41\"?\xba\x01<\n\nvalid_from\x12\x1b\x66rom prefixes must be valid\x1a\x11this.isIpPrefix()R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9e\x04\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x03 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x05 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x06 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xd6\x01\n\nMachineNic\x12\x41\n\x03mac\x18\x01 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x03mac\x12\x1e\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12(\n\nidentifier\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nidentifier\x12;\n\tneighbors\x18\x04 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\tneighbors\"F\n\x12MachineBlockDevice\x12\x1c\n\x04name\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"l\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\"q\n\x0bMachineBios\x12\"\n\x07version\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07version\x12 \n\x06vendor\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1c\n\x04\x64\x61te\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x04\x64\x61te\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"z\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x14\n\x05\x65vent\x18\x02 \x01(\tR\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"y\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\"\xa7\x07\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12-\n\tpartition\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12#\n\x04size\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04size\x88\x01\x01\x12#\n\x04rack\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x04rack\x88\x01\x01\x12\x36\n\x06labels\x18\x06 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x07 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x06R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\x08 \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x07R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\t \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\x08R\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\n \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\tR\x04\x64isk\x88\x01\x01\x12<\n\x04ipmi\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineIPMIQueryH\nR\x04ipmi\x88\x01\x01\x12\x39\n\x03\x66ru\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0bR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\r \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\x0cR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0e \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x07\n\x05_ipmiB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_state\"\xb2\x03\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12%\n\x05image\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05image\x88\x01\x01\x12<\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12+\n\x08hostname\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x05R\x08hostname\x88\x01\x01\x12\x41\n\x04role\x18\x07 \x01(\x0e\x32\x1e.metalstack.api.v2.MachineRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x04role\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x07\n\x05_role\"\x9b\x03\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\xe6\x02\n\x0fMachineNicQuery\x12J\n\x04macs\x18\x01 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x04macs\x12%\n\x05names\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1c\n\x04vrfs\x18\x03 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x04vrfs\x12[\n\rneighbor_macs\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x0cneighborMacs\x12\x36\n\x0eneighbor_names\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\rneighborNames\x12-\n\rneighbor_vrfs\x18\x06 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x0cneighborVrfs\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xfd\x01\n\x10MachineIPMIQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\x46\n\x03mac\x18\x02 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xaf\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12(\n\x16MACHINE_STATE_RESERVED\x10\x01\x1a\x0c\x82\xb2\x19\x08reserved\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\x81\x01\n\x0bMachineRole\x12\"\n\x18MACHINE_ROLE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12%\n\x14MACHINE_ROLE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\'\n\x15MACHINE_ROLE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall2\xca\x04\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\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')
35
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.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/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xca\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x01R\x08hostname\x88\x01\x01\x12&\n\tpartition\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n\x04size\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x1e\n\x05image\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05image\x12\x30\n\x11\x66ilesystem_layout\x18\t \x01(\tH\x02R\x10\x66ilesystemLayout\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\n \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12*\n\x08userdata\x18\x0b \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02H\x03R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12G\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkR\x08networks\x12H\n\x03ips\x18\x0e \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12%\n\x0eplacement_tags\x18\x0f \x03(\tR\rplacementTags\x12\x45\n\ndns_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x11 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12`\n\x0f\x61llocation_type\x18\x12 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x04R\x0e\x61llocationType\x88\x01\x01\x12G\n\x0e\x66irewall_rules\x18\x13 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRulesB\x07\n\x05_uuidB\x0b\n\t_hostnameB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdataB\x12\n\x10_allocation_type\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xa4\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"_\n\x1bMachineServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xc1\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12+\n\x04size\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x06 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x32\n\x04\x62ios\x18\x07 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa1\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xbb\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12%\n\x08userdata\x18\x0c \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02R\x08userdata\x12`\n\x0f\x61llocation_type\x18\r \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x0e\x61llocationType\x88\x01\x01\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12\x45\n\ndns_server\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpnB\x12\n\x10_allocation_type\"}\n\x18MachineAllocationNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x30\n\x12no_auto_acquire_ip\x18\x02 \x01(\x08H\x00R\x0fnoAutoAcquireIp\x88\x01\x01\x42\x15\n\x13_no_auto_acquire_ip\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\x87\x02\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xe5\x02\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12[\n\x04\x66rom\x18\x04 \x03(\tBG\xbaHD\x92\x01\x41\"?\xba\x01<\n\nvalid_from\x12\x1b\x66rom prefixes must be valid\x1a\x11this.isIpPrefix()R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9e\x04\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x03 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x05 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x06 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xae\x02\n\nMachineNic\x12\x41\n\x03mac\x18\x01 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x03mac\x12\x1e\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12(\n\nidentifier\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nidentifier\x12 \n\x06vendor\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x06vendor\x12\x1e\n\x05model\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05model\x12\x14\n\x05speed\x18\x06 \x01(\x04R\x05speed\x12;\n\tneighbors\x18\x07 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\tneighbors\"F\n\x12MachineBlockDevice\x12\x1c\n\x04name\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"l\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\"q\n\x0bMachineBios\x12\"\n\x07version\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07version\x12 \n\x06vendor\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1c\n\x04\x64\x61te\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x04\x64\x61te\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"z\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x14\n\x05\x65vent\x18\x02 \x01(\tR\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"y\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\"\xa7\x07\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12-\n\tpartition\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12#\n\x04size\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04size\x88\x01\x01\x12#\n\x04rack\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x04rack\x88\x01\x01\x12\x36\n\x06labels\x18\x06 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x07 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x06R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\x08 \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x07R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\t \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\x08R\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\n \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\tR\x04\x64isk\x88\x01\x01\x12<\n\x04ipmi\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineIPMIQueryH\nR\x04ipmi\x88\x01\x01\x12\x39\n\x03\x66ru\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0bR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\r \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\x0cR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0e \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x07\n\x05_ipmiB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_state\"\xdc\x03\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12%\n\x05image\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05image\x88\x01\x01\x12<\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12+\n\x08hostname\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x05R\x08hostname\x88\x01\x01\x12`\n\x0f\x61llocation_type\x18\x07 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x61llocationType\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x12\n\x10_allocation_type\"\x9b\x03\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\xe6\x02\n\x0fMachineNicQuery\x12J\n\x04macs\x18\x01 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x04macs\x12%\n\x05names\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1c\n\x04vrfs\x18\x03 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x04vrfs\x12[\n\rneighbor_macs\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x0cneighborMacs\x12\x36\n\x0eneighbor_names\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\rneighborNames\x12-\n\rneighbor_vrfs\x18\x06 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x0cneighborVrfs\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xfd\x01\n\x10MachineIPMIQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\x46\n\x03mac\x18\x02 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xaf\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12(\n\x16MACHINE_STATE_RESERVED\x10\x01\x1a\x0c\x82\xb2\x19\x08reserved\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\xac\x01\n\x15MachineAllocationType\x12-\n#MACHINE_ALLOCATION_TYPE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\x30\n\x1fMACHINE_ALLOCATION_TYPE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\x32\n MACHINE_ALLOCATION_TYPE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall2\xca\x04\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\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')
36
36
 
37
37
  _globals = globals()
38
38
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -66,12 +66,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
66
66
  _globals['_MACHINELIVELINESS'].values_by_name["MACHINE_LIVELINESS_DEAD"]._serialized_options = b'\202\262\031\004dead'
67
67
  _globals['_MACHINELIVELINESS'].values_by_name["MACHINE_LIVELINESS_UNKNOWN"]._loaded_options = None
68
68
  _globals['_MACHINELIVELINESS'].values_by_name["MACHINE_LIVELINESS_UNKNOWN"]._serialized_options = b'\202\262\031\007unknown'
69
- _globals['_MACHINEROLE'].values_by_name["MACHINE_ROLE_UNSPECIFIED"]._loaded_options = None
70
- _globals['_MACHINEROLE'].values_by_name["MACHINE_ROLE_UNSPECIFIED"]._serialized_options = b'\202\262\031\000'
71
- _globals['_MACHINEROLE'].values_by_name["MACHINE_ROLE_MACHINE"]._loaded_options = None
72
- _globals['_MACHINEROLE'].values_by_name["MACHINE_ROLE_MACHINE"]._serialized_options = b'\202\262\031\007machine'
73
- _globals['_MACHINEROLE'].values_by_name["MACHINE_ROLE_FIREWALL"]._loaded_options = None
74
- _globals['_MACHINEROLE'].values_by_name["MACHINE_ROLE_FIREWALL"]._serialized_options = b'\202\262\031\010firewall'
69
+ _globals['_MACHINEALLOCATIONTYPE'].values_by_name["MACHINE_ALLOCATION_TYPE_UNSPECIFIED"]._loaded_options = None
70
+ _globals['_MACHINEALLOCATIONTYPE'].values_by_name["MACHINE_ALLOCATION_TYPE_UNSPECIFIED"]._serialized_options = b'\202\262\031\000'
71
+ _globals['_MACHINEALLOCATIONTYPE'].values_by_name["MACHINE_ALLOCATION_TYPE_MACHINE"]._loaded_options = None
72
+ _globals['_MACHINEALLOCATIONTYPE'].values_by_name["MACHINE_ALLOCATION_TYPE_MACHINE"]._serialized_options = b'\202\262\031\007machine'
73
+ _globals['_MACHINEALLOCATIONTYPE'].values_by_name["MACHINE_ALLOCATION_TYPE_FIREWALL"]._loaded_options = None
74
+ _globals['_MACHINEALLOCATIONTYPE'].values_by_name["MACHINE_ALLOCATION_TYPE_FIREWALL"]._serialized_options = b'\202\262\031\010firewall'
75
75
  _globals['_MACHINESERVICEGETREQUEST'].fields_by_name['uuid']._loaded_options = None
76
76
  _globals['_MACHINESERVICEGETREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
77
77
  _globals['_MACHINESERVICEGETREQUEST'].fields_by_name['project']._loaded_options = None
@@ -102,8 +102,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
102
102
  _globals['_MACHINESERVICECREATEREQUEST'].fields_by_name['dns_server']._serialized_options = b'\272H\005\222\001\002\020\003'
103
103
  _globals['_MACHINESERVICECREATEREQUEST'].fields_by_name['ntp_server']._loaded_options = None
104
104
  _globals['_MACHINESERVICECREATEREQUEST'].fields_by_name['ntp_server']._serialized_options = b'\272H\005\222\001\002\020\n'
105
- _globals['_MACHINESERVICECREATEREQUEST'].fields_by_name['role']._loaded_options = None
106
- _globals['_MACHINESERVICECREATEREQUEST'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
105
+ _globals['_MACHINESERVICECREATEREQUEST'].fields_by_name['allocation_type']._loaded_options = None
106
+ _globals['_MACHINESERVICECREATEREQUEST'].fields_by_name['allocation_type']._serialized_options = b'\272H\005\202\001\002\020\001'
107
107
  _globals['_MACHINESERVICEUPDATEREQUEST'].fields_by_name['uuid']._loaded_options = None
108
108
  _globals['_MACHINESERVICEUPDATEREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
109
109
  _globals['_MACHINESERVICEUPDATEREQUEST'].fields_by_name['project']._loaded_options = None
@@ -146,8 +146,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
146
146
  _globals['_MACHINEALLOCATION'].fields_by_name['ssh_public_keys']._serialized_options = b'\272H\016\222\001\013\0202\"\007r\005\020\001\030\200@'
147
147
  _globals['_MACHINEALLOCATION'].fields_by_name['userdata']._loaded_options = None
148
148
  _globals['_MACHINEALLOCATION'].fields_by_name['userdata']._serialized_options = b'\272H\006r\004\030\200\200\002'
149
- _globals['_MACHINEALLOCATION'].fields_by_name['role']._loaded_options = None
150
- _globals['_MACHINEALLOCATION'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
149
+ _globals['_MACHINEALLOCATION'].fields_by_name['allocation_type']._loaded_options = None
150
+ _globals['_MACHINEALLOCATION'].fields_by_name['allocation_type']._serialized_options = b'\272H\005\202\001\002\020\001'
151
151
  _globals['_MACHINEALLOCATION'].fields_by_name['dns_server']._loaded_options = None
152
152
  _globals['_MACHINEALLOCATION'].fields_by_name['dns_server']._serialized_options = b'\272H\005\222\001\002\020\003'
153
153
  _globals['_MACHINEALLOCATION'].fields_by_name['ntp_server']._loaded_options = None
@@ -194,6 +194,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
194
194
  _globals['_MACHINENIC'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
195
195
  _globals['_MACHINENIC'].fields_by_name['identifier']._loaded_options = None
196
196
  _globals['_MACHINENIC'].fields_by_name['identifier']._serialized_options = b'\272H\005r\003\030\200\001'
197
+ _globals['_MACHINENIC'].fields_by_name['vendor']._loaded_options = None
198
+ _globals['_MACHINENIC'].fields_by_name['vendor']._serialized_options = b'\272H\005r\003\030\200\001'
199
+ _globals['_MACHINENIC'].fields_by_name['model']._loaded_options = None
200
+ _globals['_MACHINENIC'].fields_by_name['model']._serialized_options = b'\272H\005r\003\030\200\001'
197
201
  _globals['_MACHINEBLOCKDEVICE'].fields_by_name['name']._loaded_options = None
198
202
  _globals['_MACHINEBLOCKDEVICE'].fields_by_name['name']._serialized_options = b'\272H\005r\003\030\200\001'
199
203
  _globals['_MACHINECHASSISIDENTIFYLEDSTATE'].fields_by_name['value']._loaded_options = None
@@ -230,8 +234,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
230
234
  _globals['_MACHINEALLOCATIONQUERY'].fields_by_name['filesystem_layout']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
231
235
  _globals['_MACHINEALLOCATIONQUERY'].fields_by_name['hostname']._loaded_options = None
232
236
  _globals['_MACHINEALLOCATIONQUERY'].fields_by_name['hostname']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
233
- _globals['_MACHINEALLOCATIONQUERY'].fields_by_name['role']._loaded_options = None
234
- _globals['_MACHINEALLOCATIONQUERY'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
237
+ _globals['_MACHINEALLOCATIONQUERY'].fields_by_name['allocation_type']._loaded_options = None
238
+ _globals['_MACHINEALLOCATIONQUERY'].fields_by_name['allocation_type']._serialized_options = b'\272H\005\202\001\002\020\001'
235
239
  _globals['_MACHINENETWORKQUERY'].fields_by_name['prefixes']._loaded_options = None
236
240
  _globals['_MACHINENETWORKQUERY'].fields_by_name['prefixes']._serialized_options = b'\272HC\222\001@\">\272\001;\n\016valid_prefixes\022\026prefixes must be valid\032\021this.isIpPrefix()'
237
241
  _globals['_MACHINENETWORKQUERY'].fields_by_name['destination_prefixes']._loaded_options = None
@@ -288,90 +292,90 @@ if not _descriptor._USE_C_DESCRIPTORS:
288
292
  _globals['_MACHINESERVICE'].methods_by_name['List']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
289
293
  _globals['_MACHINESERVICE'].methods_by_name['Delete']._loaded_options = None
290
294
  _globals['_MACHINESERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
291
- _globals['_IPPROTOCOL']._serialized_start=10598
292
- _globals['_IPPROTOCOL']._serialized_end=10699
293
- _globals['_MACHINESTATE']._serialized_start=10702
294
- _globals['_MACHINESTATE']._serialized_end=10877
295
- _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=10880
296
- _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=11103
297
- _globals['_MACHINELIVELINESS']._serialized_start=11106
298
- _globals['_MACHINELIVELINESS']._serialized_end=11292
299
- _globals['_MACHINEROLE']._serialized_start=11295
300
- _globals['_MACHINEROLE']._serialized_end=11424
295
+ _globals['_IPPROTOCOL']._serialized_start=10840
296
+ _globals['_IPPROTOCOL']._serialized_end=10941
297
+ _globals['_MACHINESTATE']._serialized_start=10944
298
+ _globals['_MACHINESTATE']._serialized_end=11119
299
+ _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=11122
300
+ _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=11345
301
+ _globals['_MACHINELIVELINESS']._serialized_start=11348
302
+ _globals['_MACHINELIVELINESS']._serialized_end=11534
303
+ _globals['_MACHINEALLOCATIONTYPE']._serialized_start=11537
304
+ _globals['_MACHINEALLOCATIONTYPE']._serialized_end=11709
301
305
  _globals['_MACHINESERVICEGETREQUEST']._serialized_start=313
302
306
  _globals['_MACHINESERVICEGETREQUEST']._serialized_end=405
303
307
  _globals['_MACHINESERVICEGETRESPONSE']._serialized_start=407
304
308
  _globals['_MACHINESERVICEGETRESPONSE']._serialized_end=488
305
309
  _globals['_MACHINESERVICECREATEREQUEST']._serialized_start=491
306
- _globals['_MACHINESERVICECREATEREQUEST']._serialized_end=1533
307
- _globals['_MACHINESERVICECREATERESPONSE']._serialized_start=1535
308
- _globals['_MACHINESERVICECREATERESPONSE']._serialized_end=1619
309
- _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_start=1622
310
- _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_end=1914
311
- _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_start=1916
312
- _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_end=2000
313
- _globals['_MACHINESERVICELISTREQUEST']._serialized_start=2002
314
- _globals['_MACHINESERVICELISTREQUEST']._serialized_end=2120
315
- _globals['_MACHINESERVICELISTRESPONSE']._serialized_start=2122
316
- _globals['_MACHINESERVICELISTRESPONSE']._serialized_end=2206
317
- _globals['_MACHINESERVICEDELETEREQUEST']._serialized_start=2208
318
- _globals['_MACHINESERVICEDELETEREQUEST']._serialized_end=2303
319
- _globals['_MACHINESERVICEDELETERESPONSE']._serialized_start=2305
320
- _globals['_MACHINESERVICEDELETERESPONSE']._serialized_end=2389
321
- _globals['_MACHINE']._serialized_start=2392
322
- _globals['_MACHINE']._serialized_end=2969
323
- _globals['_MACHINESTATUS']._serialized_start=2972
324
- _globals['_MACHINESTATUS']._serialized_end=3264
325
- _globals['_MACHINECONDITION']._serialized_start=3267
326
- _globals['_MACHINECONDITION']._serialized_end=3428
327
- _globals['_MACHINEALLOCATION']._serialized_start=3431
328
- _globals['_MACHINEALLOCATION']._serialized_end=4330
329
- _globals['_MACHINEALLOCATIONNETWORK']._serialized_start=4332
330
- _globals['_MACHINEALLOCATIONNETWORK']._serialized_end=4457
331
- _globals['_FIREWALLRULES']._serialized_start=4460
332
- _globals['_FIREWALLRULES']._serialized_end=4604
333
- _globals['_FIREWALLEGRESSRULE']._serialized_start=4607
334
- _globals['_FIREWALLEGRESSRULE']._serialized_end=4870
335
- _globals['_FIREWALLINGRESSRULE']._serialized_start=4873
336
- _globals['_FIREWALLINGRESSRULE']._serialized_end=5230
337
- _globals['_MACHINENETWORK']._serialized_start=5233
338
- _globals['_MACHINENETWORK']._serialized_end=5775
339
- _globals['_MACHINEHARDWARE']._serialized_start=5778
340
- _globals['_MACHINEHARDWARE']._serialized_end=6029
341
- _globals['_METALCPU']._serialized_start=6031
342
- _globals['_METALCPU']._serialized_end=6155
343
- _globals['_METALGPU']._serialized_start=6157
344
- _globals['_METALGPU']._serialized_end=6233
345
- _globals['_MACHINENIC']._serialized_start=6236
346
- _globals['_MACHINENIC']._serialized_end=6450
347
- _globals['_MACHINEBLOCKDEVICE']._serialized_start=6452
348
- _globals['_MACHINEBLOCKDEVICE']._serialized_end=6522
349
- _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=6524
350
- _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=6632
351
- _globals['_MACHINEBIOS']._serialized_start=6634
352
- _globals['_MACHINEBIOS']._serialized_end=6747
353
- _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=6750
354
- _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=7089
355
- _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=7091
356
- _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=7213
357
- _globals['_MACHINEVPN']._serialized_start=7215
358
- _globals['_MACHINEVPN']._serialized_end=7336
359
- _globals['_MACHINEQUERY']._serialized_start=7339
360
- _globals['_MACHINEQUERY']._serialized_end=8274
361
- _globals['_MACHINEALLOCATIONQUERY']._serialized_start=8277
362
- _globals['_MACHINEALLOCATIONQUERY']._serialized_end=8711
363
- _globals['_MACHINENETWORKQUERY']._serialized_start=8714
364
- _globals['_MACHINENETWORKQUERY']._serialized_end=9125
365
- _globals['_MACHINENICQUERY']._serialized_start=9128
366
- _globals['_MACHINENICQUERY']._serialized_end=9486
367
- _globals['_MACHINEDISKQUERY']._serialized_start=9488
368
- _globals['_MACHINEDISKQUERY']._serialized_end=9577
369
- _globals['_MACHINEIPMIQUERY']._serialized_start=9580
370
- _globals['_MACHINEIPMIQUERY']._serialized_end=9833
371
- _globals['_MACHINEFRUQUERY']._serialized_start=9836
372
- _globals['_MACHINEFRUQUERY']._serialized_end=10484
373
- _globals['_MACHINEHARDWAREQUERY']._serialized_start=10486
374
- _globals['_MACHINEHARDWAREQUERY']._serialized_end=10596
375
- _globals['_MACHINESERVICE']._serialized_start=11427
376
- _globals['_MACHINESERVICE']._serialized_end=12013
310
+ _globals['_MACHINESERVICECREATEREQUEST']._serialized_end=1589
311
+ _globals['_MACHINESERVICECREATERESPONSE']._serialized_start=1591
312
+ _globals['_MACHINESERVICECREATERESPONSE']._serialized_end=1675
313
+ _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_start=1678
314
+ _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_end=1970
315
+ _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_start=1972
316
+ _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_end=2056
317
+ _globals['_MACHINESERVICELISTREQUEST']._serialized_start=2058
318
+ _globals['_MACHINESERVICELISTREQUEST']._serialized_end=2176
319
+ _globals['_MACHINESERVICELISTRESPONSE']._serialized_start=2178
320
+ _globals['_MACHINESERVICELISTRESPONSE']._serialized_end=2262
321
+ _globals['_MACHINESERVICEDELETEREQUEST']._serialized_start=2264
322
+ _globals['_MACHINESERVICEDELETEREQUEST']._serialized_end=2359
323
+ _globals['_MACHINESERVICEDELETERESPONSE']._serialized_start=2361
324
+ _globals['_MACHINESERVICEDELETERESPONSE']._serialized_end=2445
325
+ _globals['_MACHINE']._serialized_start=2448
326
+ _globals['_MACHINE']._serialized_end=3025
327
+ _globals['_MACHINESTATUS']._serialized_start=3028
328
+ _globals['_MACHINESTATUS']._serialized_end=3320
329
+ _globals['_MACHINECONDITION']._serialized_start=3323
330
+ _globals['_MACHINECONDITION']._serialized_end=3484
331
+ _globals['_MACHINEALLOCATION']._serialized_start=3487
332
+ _globals['_MACHINEALLOCATION']._serialized_end=4442
333
+ _globals['_MACHINEALLOCATIONNETWORK']._serialized_start=4444
334
+ _globals['_MACHINEALLOCATIONNETWORK']._serialized_end=4569
335
+ _globals['_FIREWALLRULES']._serialized_start=4572
336
+ _globals['_FIREWALLRULES']._serialized_end=4716
337
+ _globals['_FIREWALLEGRESSRULE']._serialized_start=4719
338
+ _globals['_FIREWALLEGRESSRULE']._serialized_end=4982
339
+ _globals['_FIREWALLINGRESSRULE']._serialized_start=4985
340
+ _globals['_FIREWALLINGRESSRULE']._serialized_end=5342
341
+ _globals['_MACHINENETWORK']._serialized_start=5345
342
+ _globals['_MACHINENETWORK']._serialized_end=5887
343
+ _globals['_MACHINEHARDWARE']._serialized_start=5890
344
+ _globals['_MACHINEHARDWARE']._serialized_end=6141
345
+ _globals['_METALCPU']._serialized_start=6143
346
+ _globals['_METALCPU']._serialized_end=6267
347
+ _globals['_METALGPU']._serialized_start=6269
348
+ _globals['_METALGPU']._serialized_end=6345
349
+ _globals['_MACHINENIC']._serialized_start=6348
350
+ _globals['_MACHINENIC']._serialized_end=6650
351
+ _globals['_MACHINEBLOCKDEVICE']._serialized_start=6652
352
+ _globals['_MACHINEBLOCKDEVICE']._serialized_end=6722
353
+ _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=6724
354
+ _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=6832
355
+ _globals['_MACHINEBIOS']._serialized_start=6834
356
+ _globals['_MACHINEBIOS']._serialized_end=6947
357
+ _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=6950
358
+ _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=7289
359
+ _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=7291
360
+ _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=7413
361
+ _globals['_MACHINEVPN']._serialized_start=7415
362
+ _globals['_MACHINEVPN']._serialized_end=7536
363
+ _globals['_MACHINEQUERY']._serialized_start=7539
364
+ _globals['_MACHINEQUERY']._serialized_end=8474
365
+ _globals['_MACHINEALLOCATIONQUERY']._serialized_start=8477
366
+ _globals['_MACHINEALLOCATIONQUERY']._serialized_end=8953
367
+ _globals['_MACHINENETWORKQUERY']._serialized_start=8956
368
+ _globals['_MACHINENETWORKQUERY']._serialized_end=9367
369
+ _globals['_MACHINENICQUERY']._serialized_start=9370
370
+ _globals['_MACHINENICQUERY']._serialized_end=9728
371
+ _globals['_MACHINEDISKQUERY']._serialized_start=9730
372
+ _globals['_MACHINEDISKQUERY']._serialized_end=9819
373
+ _globals['_MACHINEIPMIQUERY']._serialized_start=9822
374
+ _globals['_MACHINEIPMIQUERY']._serialized_end=10075
375
+ _globals['_MACHINEFRUQUERY']._serialized_start=10078
376
+ _globals['_MACHINEFRUQUERY']._serialized_end=10726
377
+ _globals['_MACHINEHARDWAREQUERY']._serialized_start=10728
378
+ _globals['_MACHINEHARDWAREQUERY']._serialized_end=10838
379
+ _globals['_MACHINESERVICE']._serialized_start=11712
380
+ _globals['_MACHINESERVICE']._serialized_end=12298
377
381
  # @@protoc_insertion_point(module_scope)
@@ -43,11 +43,11 @@ class MachineLiveliness(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
43
43
  MACHINE_LIVELINESS_DEAD: _ClassVar[MachineLiveliness]
44
44
  MACHINE_LIVELINESS_UNKNOWN: _ClassVar[MachineLiveliness]
45
45
 
46
- class MachineRole(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
46
+ class MachineAllocationType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
47
47
  __slots__ = ()
48
- MACHINE_ROLE_UNSPECIFIED: _ClassVar[MachineRole]
49
- MACHINE_ROLE_MACHINE: _ClassVar[MachineRole]
50
- MACHINE_ROLE_FIREWALL: _ClassVar[MachineRole]
48
+ MACHINE_ALLOCATION_TYPE_UNSPECIFIED: _ClassVar[MachineAllocationType]
49
+ MACHINE_ALLOCATION_TYPE_MACHINE: _ClassVar[MachineAllocationType]
50
+ MACHINE_ALLOCATION_TYPE_FIREWALL: _ClassVar[MachineAllocationType]
51
51
  IP_PROTOCOL_UNSPECIFIED: IPProtocol
52
52
  IP_PROTOCOL_TCP: IPProtocol
53
53
  IP_PROTOCOL_UDP: IPProtocol
@@ -62,9 +62,9 @@ MACHINE_LIVELINESS_UNSPECIFIED: MachineLiveliness
62
62
  MACHINE_LIVELINESS_ALIVE: MachineLiveliness
63
63
  MACHINE_LIVELINESS_DEAD: MachineLiveliness
64
64
  MACHINE_LIVELINESS_UNKNOWN: MachineLiveliness
65
- MACHINE_ROLE_UNSPECIFIED: MachineRole
66
- MACHINE_ROLE_MACHINE: MachineRole
67
- MACHINE_ROLE_FIREWALL: MachineRole
65
+ MACHINE_ALLOCATION_TYPE_UNSPECIFIED: MachineAllocationType
66
+ MACHINE_ALLOCATION_TYPE_MACHINE: MachineAllocationType
67
+ MACHINE_ALLOCATION_TYPE_FIREWALL: MachineAllocationType
68
68
 
69
69
  class MachineServiceGetRequest(_message.Message):
70
70
  __slots__ = ("uuid", "project")
@@ -81,7 +81,7 @@ class MachineServiceGetResponse(_message.Message):
81
81
  def __init__(self, machine: _Optional[_Union[Machine, _Mapping]] = ...) -> None: ...
82
82
 
83
83
  class MachineServiceCreateRequest(_message.Message):
84
- __slots__ = ("project", "uuid", "name", "description", "hostname", "partition", "size", "image", "filesystem_layout", "ssh_public_keys", "userdata", "labels", "networks", "ips", "placement_tags", "dns_server", "ntp_server", "role", "firewall_rules")
84
+ __slots__ = ("project", "uuid", "name", "description", "hostname", "partition", "size", "image", "filesystem_layout", "ssh_public_keys", "userdata", "labels", "networks", "ips", "placement_tags", "dns_server", "ntp_server", "allocation_type", "firewall_rules")
85
85
  PROJECT_FIELD_NUMBER: _ClassVar[int]
86
86
  UUID_FIELD_NUMBER: _ClassVar[int]
87
87
  NAME_FIELD_NUMBER: _ClassVar[int]
@@ -99,7 +99,7 @@ class MachineServiceCreateRequest(_message.Message):
99
99
  PLACEMENT_TAGS_FIELD_NUMBER: _ClassVar[int]
100
100
  DNS_SERVER_FIELD_NUMBER: _ClassVar[int]
101
101
  NTP_SERVER_FIELD_NUMBER: _ClassVar[int]
102
- ROLE_FIELD_NUMBER: _ClassVar[int]
102
+ ALLOCATION_TYPE_FIELD_NUMBER: _ClassVar[int]
103
103
  FIREWALL_RULES_FIELD_NUMBER: _ClassVar[int]
104
104
  project: str
105
105
  uuid: str
@@ -118,9 +118,9 @@ class MachineServiceCreateRequest(_message.Message):
118
118
  placement_tags: _containers.RepeatedScalarFieldContainer[str]
119
119
  dns_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.DNSServer]
120
120
  ntp_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.NTPServer]
121
- role: MachineRole
121
+ allocation_type: MachineAllocationType
122
122
  firewall_rules: FirewallRules
123
- def __init__(self, project: _Optional[str] = ..., uuid: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., hostname: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineAllocationNetwork, _Mapping]]] = ..., ips: _Optional[_Iterable[str]] = ..., placement_tags: _Optional[_Iterable[str]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., role: _Optional[_Union[MachineRole, str]] = ..., firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ...) -> None: ...
123
+ def __init__(self, project: _Optional[str] = ..., uuid: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., hostname: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineAllocationNetwork, _Mapping]]] = ..., ips: _Optional[_Iterable[str]] = ..., placement_tags: _Optional[_Iterable[str]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ..., firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ...) -> None: ...
124
124
 
125
125
  class MachineServiceCreateResponse(_message.Message):
126
126
  __slots__ = ("machine",)
@@ -223,7 +223,7 @@ class MachineCondition(_message.Message):
223
223
  def __init__(self, state: _Optional[_Union[MachineState, str]] = ..., description: _Optional[str] = ..., issuer: _Optional[str] = ...) -> None: ...
224
224
 
225
225
  class MachineAllocation(_message.Message):
226
- __slots__ = ("uuid", "meta", "name", "description", "created_by", "project", "image", "filesystem_layout", "networks", "hostname", "ssh_public_keys", "userdata", "role", "firewall_rules", "dns_server", "ntp_server", "vpn")
226
+ __slots__ = ("uuid", "meta", "name", "description", "created_by", "project", "image", "filesystem_layout", "networks", "hostname", "ssh_public_keys", "userdata", "allocation_type", "firewall_rules", "dns_server", "ntp_server", "vpn")
227
227
  UUID_FIELD_NUMBER: _ClassVar[int]
228
228
  META_FIELD_NUMBER: _ClassVar[int]
229
229
  NAME_FIELD_NUMBER: _ClassVar[int]
@@ -236,7 +236,7 @@ class MachineAllocation(_message.Message):
236
236
  HOSTNAME_FIELD_NUMBER: _ClassVar[int]
237
237
  SSH_PUBLIC_KEYS_FIELD_NUMBER: _ClassVar[int]
238
238
  USERDATA_FIELD_NUMBER: _ClassVar[int]
239
- ROLE_FIELD_NUMBER: _ClassVar[int]
239
+ ALLOCATION_TYPE_FIELD_NUMBER: _ClassVar[int]
240
240
  FIREWALL_RULES_FIELD_NUMBER: _ClassVar[int]
241
241
  DNS_SERVER_FIELD_NUMBER: _ClassVar[int]
242
242
  NTP_SERVER_FIELD_NUMBER: _ClassVar[int]
@@ -253,12 +253,12 @@ class MachineAllocation(_message.Message):
253
253
  hostname: str
254
254
  ssh_public_keys: _containers.RepeatedScalarFieldContainer[str]
255
255
  userdata: str
256
- role: MachineRole
256
+ allocation_type: MachineAllocationType
257
257
  firewall_rules: FirewallRules
258
258
  dns_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.DNSServer]
259
259
  ntp_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.NTPServer]
260
260
  vpn: MachineVPN
261
- def __init__(self, uuid: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., created_by: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[_Union[_image_pb2.Image, _Mapping]] = ..., filesystem_layout: _Optional[_Union[_filesystem_pb2.FilesystemLayout, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineNetwork, _Mapping]]] = ..., hostname: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., role: _Optional[_Union[MachineRole, str]] = ..., firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., vpn: _Optional[_Union[MachineVPN, _Mapping]] = ...) -> None: ...
261
+ def __init__(self, uuid: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., created_by: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[_Union[_image_pb2.Image, _Mapping]] = ..., filesystem_layout: _Optional[_Union[_filesystem_pb2.FilesystemLayout, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineNetwork, _Mapping]]] = ..., hostname: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ..., firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., vpn: _Optional[_Union[MachineVPN, _Mapping]] = ...) -> None: ...
262
262
 
263
263
  class MachineAllocationNetwork(_message.Message):
264
264
  __slots__ = ("network", "no_auto_acquire_ip")
@@ -356,16 +356,22 @@ class MetalGPU(_message.Message):
356
356
  def __init__(self, vendor: _Optional[str] = ..., model: _Optional[str] = ...) -> None: ...
357
357
 
358
358
  class MachineNic(_message.Message):
359
- __slots__ = ("mac", "name", "identifier", "neighbors")
359
+ __slots__ = ("mac", "name", "identifier", "vendor", "model", "speed", "neighbors")
360
360
  MAC_FIELD_NUMBER: _ClassVar[int]
361
361
  NAME_FIELD_NUMBER: _ClassVar[int]
362
362
  IDENTIFIER_FIELD_NUMBER: _ClassVar[int]
363
+ VENDOR_FIELD_NUMBER: _ClassVar[int]
364
+ MODEL_FIELD_NUMBER: _ClassVar[int]
365
+ SPEED_FIELD_NUMBER: _ClassVar[int]
363
366
  NEIGHBORS_FIELD_NUMBER: _ClassVar[int]
364
367
  mac: str
365
368
  name: str
366
369
  identifier: str
370
+ vendor: str
371
+ model: str
372
+ speed: int
367
373
  neighbors: _containers.RepeatedCompositeFieldContainer[MachineNic]
368
- def __init__(self, mac: _Optional[str] = ..., name: _Optional[str] = ..., identifier: _Optional[str] = ..., neighbors: _Optional[_Iterable[_Union[MachineNic, _Mapping]]] = ...) -> None: ...
374
+ def __init__(self, mac: _Optional[str] = ..., name: _Optional[str] = ..., identifier: _Optional[str] = ..., vendor: _Optional[str] = ..., model: _Optional[str] = ..., speed: _Optional[int] = ..., neighbors: _Optional[_Iterable[_Union[MachineNic, _Mapping]]] = ...) -> None: ...
369
375
 
370
376
  class MachineBlockDevice(_message.Message):
371
377
  __slots__ = ("name", "size")
@@ -458,22 +464,22 @@ class MachineQuery(_message.Message):
458
464
  def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., rack: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., allocation: _Optional[_Union[MachineAllocationQuery, _Mapping]] = ..., network: _Optional[_Union[MachineNetworkQuery, _Mapping]] = ..., nic: _Optional[_Union[MachineNicQuery, _Mapping]] = ..., disk: _Optional[_Union[MachineDiskQuery, _Mapping]] = ..., ipmi: _Optional[_Union[MachineIPMIQuery, _Mapping]] = ..., fru: _Optional[_Union[MachineFRUQuery, _Mapping]] = ..., hardware: _Optional[_Union[MachineHardwareQuery, _Mapping]] = ..., state: _Optional[_Union[MachineState, str]] = ...) -> None: ...
459
465
 
460
466
  class MachineAllocationQuery(_message.Message):
461
- __slots__ = ("uuid", "name", "project", "image", "filesystem_layout", "hostname", "role")
467
+ __slots__ = ("uuid", "name", "project", "image", "filesystem_layout", "hostname", "allocation_type")
462
468
  UUID_FIELD_NUMBER: _ClassVar[int]
463
469
  NAME_FIELD_NUMBER: _ClassVar[int]
464
470
  PROJECT_FIELD_NUMBER: _ClassVar[int]
465
471
  IMAGE_FIELD_NUMBER: _ClassVar[int]
466
472
  FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
467
473
  HOSTNAME_FIELD_NUMBER: _ClassVar[int]
468
- ROLE_FIELD_NUMBER: _ClassVar[int]
474
+ ALLOCATION_TYPE_FIELD_NUMBER: _ClassVar[int]
469
475
  uuid: str
470
476
  name: str
471
477
  project: str
472
478
  image: str
473
479
  filesystem_layout: str
474
480
  hostname: str
475
- role: MachineRole
476
- def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., hostname: _Optional[str] = ..., role: _Optional[_Union[MachineRole, str]] = ...) -> None: ...
481
+ allocation_type: MachineAllocationType
482
+ def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., hostname: _Optional[str] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ...) -> None: ...
477
483
 
478
484
  class MachineNetworkQuery(_message.Message):
479
485
  __slots__ = ("networks", "prefixes", "destination_prefixes", "ips", "vrfs", "asns")