metal-stack-api 0.0.38__tar.gz → 0.0.39__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 (113) hide show
  1. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/PKG-INFO +1 -1
  2. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metal_stack_api.egg-info/PKG-INFO +1 -1
  3. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/switch_pb2.py +18 -18
  4. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/switch_pb2.pyi +2 -4
  5. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/switch_pb2.py +16 -14
  6. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/bmc_connect.py +65 -0
  7. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/bmc_pb2.py +9 -3
  8. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/bmc_pb2.pyi +8 -0
  9. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/README.md +0 -0
  10. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metal_stack_api.egg-info/SOURCES.txt +0 -0
  11. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metal_stack_api.egg-info/dependency_links.txt +0 -0
  12. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metal_stack_api.egg-info/requires.txt +0 -0
  13. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metal_stack_api.egg-info/top_level.txt +0 -0
  14. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/__init__.py +0 -0
  15. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/__init__.py +0 -0
  16. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/__init__.py +0 -0
  17. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/filesystem_connect.py +0 -0
  18. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/filesystem_pb2.py +0 -0
  19. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
  20. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/image_connect.py +0 -0
  21. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/image_pb2.py +0 -0
  22. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/image_pb2.pyi +0 -0
  23. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/ip_connect.py +0 -0
  24. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/ip_pb2.py +0 -0
  25. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/ip_pb2.pyi +0 -0
  26. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/machine_connect.py +0 -0
  27. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/machine_pb2.py +0 -0
  28. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/machine_pb2.pyi +0 -0
  29. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/network_connect.py +0 -0
  30. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/network_pb2.py +0 -0
  31. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/network_pb2.pyi +0 -0
  32. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/partition_connect.py +0 -0
  33. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/partition_pb2.py +0 -0
  34. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/partition_pb2.pyi +0 -0
  35. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/project_connect.py +0 -0
  36. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/project_pb2.py +0 -0
  37. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/project_pb2.pyi +0 -0
  38. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/size_connect.py +0 -0
  39. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/size_pb2.py +0 -0
  40. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/size_pb2.pyi +0 -0
  41. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/switch_connect.py +0 -0
  42. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/tenant_connect.py +0 -0
  43. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/tenant_pb2.py +0 -0
  44. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/tenant_pb2.pyi +0 -0
  45. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/token_connect.py +0 -0
  46. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/token_pb2.py +0 -0
  47. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/token_pb2.pyi +0 -0
  48. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/vpn_connect.py +0 -0
  49. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/vpn_pb2.py +0 -0
  50. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/admin/v2/vpn_pb2.pyi +0 -0
  51. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/__init__.py +0 -0
  52. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/__init__.py +0 -0
  53. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/common_pb2.py +0 -0
  54. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/common_pb2.pyi +0 -0
  55. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/filesystem_connect.py +0 -0
  56. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/filesystem_pb2.py +0 -0
  57. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
  58. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/health_connect.py +0 -0
  59. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/health_pb2.py +0 -0
  60. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/health_pb2.pyi +0 -0
  61. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/image_connect.py +0 -0
  62. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/image_pb2.py +0 -0
  63. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/image_pb2.pyi +0 -0
  64. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/ip_connect.py +0 -0
  65. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/ip_pb2.py +0 -0
  66. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/ip_pb2.pyi +0 -0
  67. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/machine_connect.py +0 -0
  68. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/machine_pb2.py +0 -0
  69. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/machine_pb2.pyi +0 -0
  70. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/method_connect.py +0 -0
  71. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/method_pb2.py +0 -0
  72. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/method_pb2.pyi +0 -0
  73. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/network_connect.py +0 -0
  74. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/network_pb2.py +0 -0
  75. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/network_pb2.pyi +0 -0
  76. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/partition_connect.py +0 -0
  77. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/partition_pb2.py +0 -0
  78. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/partition_pb2.pyi +0 -0
  79. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/predefined_rules_pb2.py +0 -0
  80. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/predefined_rules_pb2.pyi +0 -0
  81. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/project_connect.py +0 -0
  82. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/project_pb2.py +0 -0
  83. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/project_pb2.pyi +0 -0
  84. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/size_connect.py +0 -0
  85. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/size_pb2.py +0 -0
  86. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/size_pb2.pyi +0 -0
  87. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/switch_pb2.pyi +0 -0
  88. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/tenant_connect.py +0 -0
  89. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/tenant_pb2.py +0 -0
  90. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/tenant_pb2.pyi +0 -0
  91. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/token_connect.py +0 -0
  92. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/token_pb2.py +0 -0
  93. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/token_pb2.pyi +0 -0
  94. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/user_connect.py +0 -0
  95. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/user_pb2.py +0 -0
  96. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/user_pb2.pyi +0 -0
  97. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/version_connect.py +0 -0
  98. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/version_pb2.py +0 -0
  99. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/version_pb2.pyi +0 -0
  100. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/vpn_pb2.py +0 -0
  101. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/api/v2/vpn_pb2.pyi +0 -0
  102. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/client/__init__.py +0 -0
  103. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/client/client.py +0 -0
  104. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/__init__.py +0 -0
  105. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/__init__.py +0 -0
  106. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/event_connect.py +0 -0
  107. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/event_pb2.py +0 -0
  108. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/event_pb2.pyi +0 -0
  109. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/switch_connect.py +0 -0
  110. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/switch_pb2.py +0 -0
  111. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/metalstack/infra/v2/switch_pb2.pyi +0 -0
  112. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/setup.cfg +0 -0
  113. {metal_stack_api-0.0.38 → metal_stack_api-0.0.39}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.38
3
+ Version: 0.0.39
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.38
3
+ Version: 0.0.39
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
@@ -29,7 +29,7 @@ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_
29
29
  from metalstack.api.v2 import switch_pb2 as metalstack_dot_api_dot_v2_dot_switch__pb2
30
30
 
31
31
 
32
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/switch.proto\x12\x13metalstack.admin.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\x1a\x1emetalstack/api/v2/switch.proto\"8\n\x17SwitchServiceGetRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\"M\n\x18SwitchServiceGetResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"P\n\x18SwitchServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.SwitchQueryR\x05query\"R\n\x19SwitchServiceListResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches\"\x90\x06\n\x1aSwitchServiceUpdateRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\x39\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12V\n\x0creplace_mode\x18\x05 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x0breplaceMode\x88\x01\x01\x12\x31\n\rmanagement_ip\x18\x06 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x02R\x0cmanagementIp\x88\x01\x01\x12\x39\n\x0fmanagement_user\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x0emanagementUser\x88\x01\x01\x12\x39\n\x0f\x63onsole_command\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x04R\x0e\x63onsoleCommand\x88\x01\x01\x12\x30\n\x04nics\x18\t \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x04nics\x12\x30\n\x02os\x18\n \x01(\x0b\x32\x1b.metalstack.api.v2.SwitchOSH\x05R\x02os\x88\x01\x01\x12U\n\x13machine_connections\x18\x0b \x03(\x0b\x32$.metalstack.api.v2.MachineConnectionR\x12machineConnectionsB\x0e\n\x0c_descriptionB\x0f\n\r_replace_modeB\x10\n\x0e_management_ipB\x12\n\x10_management_userB\x12\n\x10_console_commandB\x05\n\x03_os\"P\n\x1bSwitchServiceUpdateResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"Q\n\x1aSwitchServiceDeleteRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x14\n\x05\x66orce\x18\x02 \x01(\x08R\x05\x66orce\"P\n\x1bSwitchServiceDeleteResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"y\n\x1bSwitchServiceMigrateRequest\x12,\n\nold_switch\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\toldSwitch\x12,\n\nnew_switch\x18\x02 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\tnewSwitch\"Q\n\x1cSwitchServiceMigrateResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"\xa8\x01\n\x18SwitchServicePortRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12&\n\x08nic_name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07nicName\x12\x45\n\x06status\x18\x03 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06status\"N\n\x19SwitchServicePortResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch2\xbf\x05\n\rSwitchService\x12n\n\x03Get\x12,.metalstack.admin.v2.SwitchServiceGetRequest\x1a-.metalstack.admin.v2.SwitchServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12q\n\x04List\x12-.metalstack.admin.v2.SwitchServiceListRequest\x1a..metalstack.admin.v2.SwitchServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12r\n\x06Update\x12/.metalstack.admin.v2.SwitchServiceUpdateRequest\x1a\x30.metalstack.admin.v2.SwitchServiceUpdateResponse\"\x05\xd2\xf3\x18\x01\x01\x12r\n\x06\x44\x65lete\x12/.metalstack.admin.v2.SwitchServiceDeleteRequest\x1a\x30.metalstack.admin.v2.SwitchServiceDeleteResponse\"\x05\xd2\xf3\x18\x01\x01\x12u\n\x07Migrate\x12\x30.metalstack.admin.v2.SwitchServiceMigrateRequest\x1a\x31.metalstack.admin.v2.SwitchServiceMigrateResponse\"\x05\xd2\xf3\x18\x01\x01\x12l\n\x04Port\x12-.metalstack.admin.v2.SwitchServicePortRequest\x1a..metalstack.admin.v2.SwitchServicePortResponse\"\x05\xd2\xf3\x18\x01\x01\x42\xcf\x01\n\x17\x63om.metalstack.admin.v2B\x0bSwitchProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/switch.proto\x12\x13metalstack.admin.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\x1a\x1emetalstack/api/v2/switch.proto\"8\n\x17SwitchServiceGetRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\"M\n\x18SwitchServiceGetResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"P\n\x18SwitchServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.SwitchQueryR\x05query\"R\n\x19SwitchServiceListResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches\"\xb9\x05\n\x1aSwitchServiceUpdateRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\x39\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12V\n\x0creplace_mode\x18\x05 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x0breplaceMode\x88\x01\x01\x12\x31\n\rmanagement_ip\x18\x06 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x02R\x0cmanagementIp\x88\x01\x01\x12\x39\n\x0fmanagement_user\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x0emanagementUser\x88\x01\x01\x12\x39\n\x0f\x63onsole_command\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x04R\x0e\x63onsoleCommand\x88\x01\x01\x12\x30\n\x04nics\x18\t \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x04nics\x12\x30\n\x02os\x18\n \x01(\x0b\x32\x1b.metalstack.api.v2.SwitchOSH\x05R\x02os\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0f\n\r_replace_modeB\x10\n\x0e_management_ipB\x12\n\x10_management_userB\x12\n\x10_console_commandB\x05\n\x03_os\"P\n\x1bSwitchServiceUpdateResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"Q\n\x1aSwitchServiceDeleteRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x14\n\x05\x66orce\x18\x02 \x01(\x08R\x05\x66orce\"P\n\x1bSwitchServiceDeleteResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"y\n\x1bSwitchServiceMigrateRequest\x12,\n\nold_switch\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\toldSwitch\x12,\n\nnew_switch\x18\x02 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\tnewSwitch\"Q\n\x1cSwitchServiceMigrateResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"\xa8\x01\n\x18SwitchServicePortRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12&\n\x08nic_name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07nicName\x12\x45\n\x06status\x18\x03 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06status\"N\n\x19SwitchServicePortResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch2\xbf\x05\n\rSwitchService\x12n\n\x03Get\x12,.metalstack.admin.v2.SwitchServiceGetRequest\x1a-.metalstack.admin.v2.SwitchServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12q\n\x04List\x12-.metalstack.admin.v2.SwitchServiceListRequest\x1a..metalstack.admin.v2.SwitchServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12r\n\x06Update\x12/.metalstack.admin.v2.SwitchServiceUpdateRequest\x1a\x30.metalstack.admin.v2.SwitchServiceUpdateResponse\"\x05\xd2\xf3\x18\x01\x01\x12r\n\x06\x44\x65lete\x12/.metalstack.admin.v2.SwitchServiceDeleteRequest\x1a\x30.metalstack.admin.v2.SwitchServiceDeleteResponse\"\x05\xd2\xf3\x18\x01\x01\x12u\n\x07Migrate\x12\x30.metalstack.admin.v2.SwitchServiceMigrateRequest\x1a\x31.metalstack.admin.v2.SwitchServiceMigrateResponse\"\x05\xd2\xf3\x18\x01\x01\x12l\n\x04Port\x12-.metalstack.admin.v2.SwitchServicePortRequest\x1a..metalstack.admin.v2.SwitchServicePortResponse\"\x05\xd2\xf3\x18\x01\x01\x42\xcf\x01\n\x17\x63om.metalstack.admin.v2B\x0bSwitchProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
33
33
 
34
34
  _globals = globals()
35
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -86,21 +86,21 @@ if not _descriptor._USE_C_DESCRIPTORS:
86
86
  _globals['_SWITCHSERVICELISTRESPONSE']._serialized_start=444
87
87
  _globals['_SWITCHSERVICELISTRESPONSE']._serialized_end=526
88
88
  _globals['_SWITCHSERVICEUPDATEREQUEST']._serialized_start=529
89
- _globals['_SWITCHSERVICEUPDATEREQUEST']._serialized_end=1313
90
- _globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_start=1315
91
- _globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_end=1395
92
- _globals['_SWITCHSERVICEDELETEREQUEST']._serialized_start=1397
93
- _globals['_SWITCHSERVICEDELETEREQUEST']._serialized_end=1478
94
- _globals['_SWITCHSERVICEDELETERESPONSE']._serialized_start=1480
95
- _globals['_SWITCHSERVICEDELETERESPONSE']._serialized_end=1560
96
- _globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_start=1562
97
- _globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_end=1683
98
- _globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_start=1685
99
- _globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_end=1766
100
- _globals['_SWITCHSERVICEPORTREQUEST']._serialized_start=1769
101
- _globals['_SWITCHSERVICEPORTREQUEST']._serialized_end=1937
102
- _globals['_SWITCHSERVICEPORTRESPONSE']._serialized_start=1939
103
- _globals['_SWITCHSERVICEPORTRESPONSE']._serialized_end=2017
104
- _globals['_SWITCHSERVICE']._serialized_start=2020
105
- _globals['_SWITCHSERVICE']._serialized_end=2723
89
+ _globals['_SWITCHSERVICEUPDATEREQUEST']._serialized_end=1226
90
+ _globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_start=1228
91
+ _globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_end=1308
92
+ _globals['_SWITCHSERVICEDELETEREQUEST']._serialized_start=1310
93
+ _globals['_SWITCHSERVICEDELETEREQUEST']._serialized_end=1391
94
+ _globals['_SWITCHSERVICEDELETERESPONSE']._serialized_start=1393
95
+ _globals['_SWITCHSERVICEDELETERESPONSE']._serialized_end=1473
96
+ _globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_start=1475
97
+ _globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_end=1596
98
+ _globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_start=1598
99
+ _globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_end=1679
100
+ _globals['_SWITCHSERVICEPORTREQUEST']._serialized_start=1682
101
+ _globals['_SWITCHSERVICEPORTREQUEST']._serialized_end=1850
102
+ _globals['_SWITCHSERVICEPORTRESPONSE']._serialized_start=1852
103
+ _globals['_SWITCHSERVICEPORTRESPONSE']._serialized_end=1930
104
+ _globals['_SWITCHSERVICE']._serialized_start=1933
105
+ _globals['_SWITCHSERVICE']._serialized_end=2636
106
106
  # @@protoc_insertion_point(module_scope)
@@ -38,7 +38,7 @@ class SwitchServiceListResponse(_message.Message):
38
38
  def __init__(self, switches: _Optional[_Iterable[_Union[_switch_pb2.Switch, _Mapping]]] = ...) -> None: ...
39
39
 
40
40
  class SwitchServiceUpdateRequest(_message.Message):
41
- __slots__ = ("id", "update_meta", "updated_at", "description", "replace_mode", "management_ip", "management_user", "console_command", "nics", "os", "machine_connections")
41
+ __slots__ = ("id", "update_meta", "updated_at", "description", "replace_mode", "management_ip", "management_user", "console_command", "nics", "os")
42
42
  ID_FIELD_NUMBER: _ClassVar[int]
43
43
  UPDATE_META_FIELD_NUMBER: _ClassVar[int]
44
44
  UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
@@ -49,7 +49,6 @@ class SwitchServiceUpdateRequest(_message.Message):
49
49
  CONSOLE_COMMAND_FIELD_NUMBER: _ClassVar[int]
50
50
  NICS_FIELD_NUMBER: _ClassVar[int]
51
51
  OS_FIELD_NUMBER: _ClassVar[int]
52
- MACHINE_CONNECTIONS_FIELD_NUMBER: _ClassVar[int]
53
52
  id: str
54
53
  update_meta: _common_pb2.UpdateMeta
55
54
  updated_at: _timestamp_pb2.Timestamp
@@ -60,8 +59,7 @@ class SwitchServiceUpdateRequest(_message.Message):
60
59
  console_command: str
61
60
  nics: _containers.RepeatedCompositeFieldContainer[_switch_pb2.SwitchNic]
62
61
  os: _switch_pb2.SwitchOS
63
- machine_connections: _containers.RepeatedCompositeFieldContainer[_switch_pb2.MachineConnection]
64
- def __init__(self, id: _Optional[str] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., description: _Optional[str] = ..., replace_mode: _Optional[_Union[_switch_pb2.SwitchReplaceMode, str]] = ..., management_ip: _Optional[str] = ..., management_user: _Optional[str] = ..., console_command: _Optional[str] = ..., nics: _Optional[_Iterable[_Union[_switch_pb2.SwitchNic, _Mapping]]] = ..., os: _Optional[_Union[_switch_pb2.SwitchOS, _Mapping]] = ..., machine_connections: _Optional[_Iterable[_Union[_switch_pb2.MachineConnection, _Mapping]]] = ...) -> None: ...
62
+ def __init__(self, id: _Optional[str] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., description: _Optional[str] = ..., replace_mode: _Optional[_Union[_switch_pb2.SwitchReplaceMode, str]] = ..., management_ip: _Optional[str] = ..., management_user: _Optional[str] = ..., console_command: _Optional[str] = ..., nics: _Optional[_Iterable[_Union[_switch_pb2.SwitchNic, _Mapping]]] = ..., os: _Optional[_Union[_switch_pb2.SwitchOS, _Mapping]] = ...) -> None: ...
65
63
 
66
64
  class SwitchServiceUpdateResponse(_message.Message):
67
65
  __slots__ = ("switch",)
@@ -29,7 +29,7 @@ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common
29
29
  from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
30
30
 
31
31
 
32
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/switch.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xb3\x06\n\x06Switch\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12$\n\x04rack\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04rack\x88\x01\x01\x12)\n\tpartition\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\x12Q\n\x0creplace_mode\x18\x06 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0breplaceMode\x12,\n\rmanagement_ip\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x0cmanagementIp\x12\x38\n\x0fmanagement_user\x18\x08 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0emanagementUser\x88\x01\x01\x12\x38\n\x0f\x63onsole_command\x18\t \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0e\x63onsoleCommand\x88\x01\x01\x12\x30\n\x04nics\x18\n \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x04nics\x12+\n\x02os\x18\x0b \x01(\x0b\x32\x1b.metalstack.api.v2.SwitchOSR\x02os\x12U\n\x13machine_connections\x18\x0c \x03(\x0b\x32$.metalstack.api.v2.MachineConnectionR\x12machineConnections\x12:\n\tlast_sync\x18\r \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\x08lastSync\x12\x45\n\x0flast_sync_error\x18\x0e \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\rlastSyncErrorB\x07\n\x05_rackB\x12\n\x10_management_userB\x12\n\x10_console_command\"\xb1\x01\n\x08SwitchOS\x12\x43\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06vendor\x12%\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07version\x12\x39\n\x12metal_core_version\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x10metalCoreVersion\"\x9c\x03\n\tSwitchNic\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12+\n\nidentifier\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\nidentifier\x12\x1d\n\x03mac\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\"\n\x03vrf\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x03vrf\x88\x01\x01\x12\x36\n\x05state\x18\x05 \x01(\x0b\x32\x1b.metalstack.api.v2.NicStateH\x01R\x05state\x88\x01\x01\x12@\n\nbgp_filter\x18\x06 \x01(\x0b\x32\x1c.metalstack.api.v2.BGPFilterH\x02R\tbgpFilter\x88\x01\x01\x12P\n\x0e\x62gp_port_state\x18\x07 \x01(\x0b\x32%.metalstack.api.v2.SwitchBGPPortStateH\x03R\x0c\x62gpPortState\x88\x01\x01\x42\x06\n\x04_vrfB\x08\n\x06_stateB\r\n\x0b_bgp_filterB\x11\n\x0f_bgp_port_state\"T\n\tBGPFilter\x12\"\n\x05\x63idrs\x18\x01 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xe0\xb3\xae\xb1\x02\x01R\x05\x63idrs\x12#\n\x04vnis\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\"\x07r\x05\x10\x02\x18\x80\x01R\x04vnis\"\x92\x03\n\x12SwitchBGPPortState\x12\'\n\x08neighbor\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x08neighbor\x12*\n\npeer_group\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\tpeerGroup\x12&\n\x08vrf_name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07vrfName\x12\x42\n\tbgp_state\x18\x04 \x01(\x0e\x32\x1b.metalstack.api.v2.BGPStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08\x62gpState\x12S\n\x18\x62gp_timer_up_established\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x62gpTimerUpEstablished\x12.\n\x13sent_prefix_counter\x18\x06 \x01(\x04R\x11sentPrefixCounter\x12\x36\n\x17\x61\x63\x63\x65pted_prefix_counter\x18\x07 \x01(\x04R\x15\x61\x63\x63\x65ptedPrefixCounter\"\xab\x01\n\x08NicState\x12L\n\x07\x64\x65sired\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x07\x64\x65sired\x88\x01\x01\x12\x45\n\x06\x61\x63tual\x18\x02 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06\x61\x63tualB\n\n\x08_desired\"b\n\x11MachineConnection\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x12.\n\x03nic\x18\x02 \x01(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x03nic\"\xe3\x01\n\x0bSwitchQuery\x12\"\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x02id\x88\x01\x01\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x01R\tpartition\x88\x01\x01\x12$\n\x04rack\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x04rack\x88\x01\x01\x12\x35\n\x02os\x18\x04 \x01(\x0b\x32 .metalstack.api.v2.SwitchOSQueryH\x03R\x02os\x88\x01\x01\x42\x05\n\x03_idB\x0c\n\n_partitionB\x07\n\x05_rackB\x05\n\x03_os\"\x9c\x01\n\rSwitchOSQuery\x12H\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x06vendor\x88\x01\x01\x12*\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x07version\x88\x01\x01\x42\t\n\x07_vendorB\n\n\x08_version\"\x98\x01\n\nSwitchSync\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x35\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x19\n\x05\x65rror\x18\x03 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error*\x8b\x02\n\x08\x42GPState\x12\x19\n\x15\x42GP_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x0e\x42GP_STATE_IDLE\x10\x01\x1a\x08\x82\xb2\x19\x04idle\x12\"\n\x11\x42GP_STATE_CONNECT\x10\x02\x1a\x0b\x82\xb2\x19\x07\x63onnect\x12 \n\x10\x42GP_STATE_ACTIVE\x10\x03\x1a\n\x82\xb2\x19\x06\x61\x63tive\x12&\n\x13\x42GP_STATE_OPEN_SENT\x10\x04\x1a\r\x82\xb2\x19\topen-sent\x12,\n\x16\x42GP_STATE_OPEN_CONFIRM\x10\x05\x1a\x10\x82\xb2\x19\x0copen-confirm\x12*\n\x15\x42GP_STATE_ESTABLISHED\x10\x06\x1a\x0f\x82\xb2\x19\x0b\x65stablished*\x9c\x01\n\x11SwitchReplaceMode\x12#\n\x1fSWITCH_REPLACE_MODE_UNSPECIFIED\x10\x00\x12,\n\x1bSWITCH_REPLACE_MODE_REPLACE\x10\x01\x1a\x0b\x82\xb2\x19\x07replace\x12\x34\n\x1fSWITCH_REPLACE_MODE_OPERATIONAL\x10\x02\x1a\x0f\x82\xb2\x19\x0boperational*\x84\x01\n\x0eSwitchOSVendor\x12 \n\x1cSWITCH_OS_VENDOR_UNSPECIFIED\x10\x00\x12)\n\x18SWITCH_OS_VENDOR_CUMULUS\x10\x01\x1a\x0b\x82\xb2\x19\x07\x43umulus\x12%\n\x16SWITCH_OS_VENDOR_SONIC\x10\x02\x1a\t\x82\xb2\x19\x05SONiC*\xad\x01\n\x10SwitchPortStatus\x12\"\n\x1eSWITCH_PORT_STATUS_UNSPECIFIED\x10\x00\x12!\n\x15SWITCH_PORT_STATUS_UP\x10\x01\x1a\x06\x82\xb2\x19\x02up\x12%\n\x17SWITCH_PORT_STATUS_DOWN\x10\x02\x1a\x08\x82\xb2\x19\x04\x64own\x12+\n\x1aSWITCH_PORT_STATUS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknownB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bSwitchProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/switch.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xb3\x06\n\x06Switch\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12-\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12$\n\x04rack\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04rack\x88\x01\x01\x12)\n\tpartition\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01R\tpartition\x12Q\n\x0creplace_mode\x18\x06 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0breplaceMode\x12,\n\rmanagement_ip\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x0cmanagementIp\x12\x38\n\x0fmanagement_user\x18\x08 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0emanagementUser\x88\x01\x01\x12\x38\n\x0f\x63onsole_command\x18\t \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0e\x63onsoleCommand\x88\x01\x01\x12\x30\n\x04nics\x18\n \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x04nics\x12+\n\x02os\x18\x0b \x01(\x0b\x32\x1b.metalstack.api.v2.SwitchOSR\x02os\x12U\n\x13machine_connections\x18\x0c \x03(\x0b\x32$.metalstack.api.v2.MachineConnectionR\x12machineConnections\x12:\n\tlast_sync\x18\r \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\x08lastSync\x12\x45\n\x0flast_sync_error\x18\x0e \x01(\x0b\x32\x1d.metalstack.api.v2.SwitchSyncR\rlastSyncErrorB\x07\n\x05_rackB\x12\n\x10_management_userB\x12\n\x10_console_command\"\xb1\x01\n\x08SwitchOS\x12\x43\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06vendor\x12%\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07version\x12\x39\n\x12metal_core_version\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x10metalCoreVersion\"\x9c\x03\n\tSwitchNic\x12\x1f\n\x04name\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12+\n\nidentifier\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\nidentifier\x12\x1d\n\x03mac\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xb8\xb3\xae\xb1\x02\x01R\x03mac\x12\"\n\x03vrf\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x03vrf\x88\x01\x01\x12\x36\n\x05state\x18\x05 \x01(\x0b\x32\x1b.metalstack.api.v2.NicStateH\x01R\x05state\x88\x01\x01\x12@\n\nbgp_filter\x18\x06 \x01(\x0b\x32\x1c.metalstack.api.v2.BGPFilterH\x02R\tbgpFilter\x88\x01\x01\x12P\n\x0e\x62gp_port_state\x18\x07 \x01(\x0b\x32%.metalstack.api.v2.SwitchBGPPortStateH\x03R\x0c\x62gpPortState\x88\x01\x01\x42\x06\n\x04_vrfB\x08\n\x06_stateB\r\n\x0b_bgp_filterB\x11\n\x0f_bgp_port_state\"T\n\tBGPFilter\x12\"\n\x05\x63idrs\x18\x01 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xe0\xb3\xae\xb1\x02\x01R\x05\x63idrs\x12#\n\x04vnis\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\"\x07r\x05\x10\x02\x18\x80\x01R\x04vnis\"\x92\x03\n\x12SwitchBGPPortState\x12\'\n\x08neighbor\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x08neighbor\x12*\n\npeer_group\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\tpeerGroup\x12&\n\x08vrf_name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07vrfName\x12\x42\n\tbgp_state\x18\x04 \x01(\x0e\x32\x1b.metalstack.api.v2.BGPStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08\x62gpState\x12S\n\x18\x62gp_timer_up_established\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x62gpTimerUpEstablished\x12.\n\x13sent_prefix_counter\x18\x06 \x01(\x04R\x11sentPrefixCounter\x12\x36\n\x17\x61\x63\x63\x65pted_prefix_counter\x18\x07 \x01(\x04R\x15\x61\x63\x63\x65ptedPrefixCounter\"\xab\x01\n\x08NicState\x12L\n\x07\x64\x65sired\x18\x01 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x07\x64\x65sired\x88\x01\x01\x12\x45\n\x06\x61\x63tual\x18\x02 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06\x61\x63tualB\n\n\x08_desired\"b\n\x11MachineConnection\x12\x1d\n\nmachine_id\x18\x01 \x01(\tR\tmachineId\x12.\n\x03nic\x18\x02 \x01(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x03nic\"\xe3\x01\n\x0bSwitchQuery\x12\"\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x02id\x88\x01\x01\x12.\n\tpartition\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x01R\tpartition\x88\x01\x01\x12$\n\x04rack\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x02R\x04rack\x88\x01\x01\x12\x35\n\x02os\x18\x04 \x01(\x0b\x32 .metalstack.api.v2.SwitchOSQueryH\x03R\x02os\x88\x01\x01\x42\x05\n\x03_idB\x0c\n\n_partitionB\x07\n\x05_rackB\x05\n\x03_os\"\x9c\x01\n\rSwitchOSQuery\x12H\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x06vendor\x88\x01\x01\x12*\n\x07version\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x07version\x88\x01\x01\x42\t\n\x07_vendorB\n\n\x08_version\"\x98\x01\n\nSwitchSync\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x35\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x19\n\x05\x65rror\x18\x03 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error*\x89\x02\n\x08\x42GPState\x12\x19\n\x15\x42GP_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x0e\x42GP_STATE_IDLE\x10\x01\x1a\x08\x82\xb2\x19\x04Idle\x12\"\n\x11\x42GP_STATE_CONNECT\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43onnect\x12 \n\x10\x42GP_STATE_ACTIVE\x10\x03\x1a\n\x82\xb2\x19\x06\x41\x63tive\x12%\n\x13\x42GP_STATE_OPEN_SENT\x10\x04\x1a\x0c\x82\xb2\x19\x08OpenSent\x12+\n\x16\x42GP_STATE_OPEN_CONFIRM\x10\x05\x1a\x0f\x82\xb2\x19\x0bOpenConfirm\x12*\n\x15\x42GP_STATE_ESTABLISHED\x10\x06\x1a\x0f\x82\xb2\x19\x0b\x45stablished*\xa2\x01\n\x11SwitchReplaceMode\x12)\n\x1fSWITCH_REPLACE_MODE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12,\n\x1bSWITCH_REPLACE_MODE_REPLACE\x10\x01\x1a\x0b\x82\xb2\x19\x07replace\x12\x34\n\x1fSWITCH_REPLACE_MODE_OPERATIONAL\x10\x02\x1a\x0f\x82\xb2\x19\x0boperational*\x84\x01\n\x0eSwitchOSVendor\x12 \n\x1cSWITCH_OS_VENDOR_UNSPECIFIED\x10\x00\x12)\n\x18SWITCH_OS_VENDOR_CUMULUS\x10\x01\x1a\x0b\x82\xb2\x19\x07\x43umulus\x12%\n\x16SWITCH_OS_VENDOR_SONIC\x10\x02\x1a\t\x82\xb2\x19\x05SONiC*\xad\x01\n\x10SwitchPortStatus\x12\"\n\x1eSWITCH_PORT_STATUS_UNSPECIFIED\x10\x00\x12!\n\x15SWITCH_PORT_STATUS_UP\x10\x01\x1a\x06\x82\xb2\x19\x02up\x12%\n\x17SWITCH_PORT_STATUS_DOWN\x10\x02\x1a\x08\x82\xb2\x19\x04\x64own\x12+\n\x1aSWITCH_PORT_STATUS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknownB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bSwitchProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
33
33
 
34
34
  _globals = globals()
35
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -38,17 +38,19 @@ if not _descriptor._USE_C_DESCRIPTORS:
38
38
  _globals['DESCRIPTOR']._loaded_options = None
39
39
  _globals['DESCRIPTOR']._serialized_options = b'\n\025com.metalstack.api.v2B\013SwitchProtoP\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'
40
40
  _globals['_BGPSTATE'].values_by_name["BGP_STATE_IDLE"]._loaded_options = None
41
- _globals['_BGPSTATE'].values_by_name["BGP_STATE_IDLE"]._serialized_options = b'\202\262\031\004idle'
41
+ _globals['_BGPSTATE'].values_by_name["BGP_STATE_IDLE"]._serialized_options = b'\202\262\031\004Idle'
42
42
  _globals['_BGPSTATE'].values_by_name["BGP_STATE_CONNECT"]._loaded_options = None
43
- _globals['_BGPSTATE'].values_by_name["BGP_STATE_CONNECT"]._serialized_options = b'\202\262\031\007connect'
43
+ _globals['_BGPSTATE'].values_by_name["BGP_STATE_CONNECT"]._serialized_options = b'\202\262\031\007Connect'
44
44
  _globals['_BGPSTATE'].values_by_name["BGP_STATE_ACTIVE"]._loaded_options = None
45
- _globals['_BGPSTATE'].values_by_name["BGP_STATE_ACTIVE"]._serialized_options = b'\202\262\031\006active'
45
+ _globals['_BGPSTATE'].values_by_name["BGP_STATE_ACTIVE"]._serialized_options = b'\202\262\031\006Active'
46
46
  _globals['_BGPSTATE'].values_by_name["BGP_STATE_OPEN_SENT"]._loaded_options = None
47
- _globals['_BGPSTATE'].values_by_name["BGP_STATE_OPEN_SENT"]._serialized_options = b'\202\262\031\topen-sent'
47
+ _globals['_BGPSTATE'].values_by_name["BGP_STATE_OPEN_SENT"]._serialized_options = b'\202\262\031\010OpenSent'
48
48
  _globals['_BGPSTATE'].values_by_name["BGP_STATE_OPEN_CONFIRM"]._loaded_options = None
49
- _globals['_BGPSTATE'].values_by_name["BGP_STATE_OPEN_CONFIRM"]._serialized_options = b'\202\262\031\014open-confirm'
49
+ _globals['_BGPSTATE'].values_by_name["BGP_STATE_OPEN_CONFIRM"]._serialized_options = b'\202\262\031\013OpenConfirm'
50
50
  _globals['_BGPSTATE'].values_by_name["BGP_STATE_ESTABLISHED"]._loaded_options = None
51
- _globals['_BGPSTATE'].values_by_name["BGP_STATE_ESTABLISHED"]._serialized_options = b'\202\262\031\013established'
51
+ _globals['_BGPSTATE'].values_by_name["BGP_STATE_ESTABLISHED"]._serialized_options = b'\202\262\031\013Established'
52
+ _globals['_SWITCHREPLACEMODE'].values_by_name["SWITCH_REPLACE_MODE_UNSPECIFIED"]._loaded_options = None
53
+ _globals['_SWITCHREPLACEMODE'].values_by_name["SWITCH_REPLACE_MODE_UNSPECIFIED"]._serialized_options = b'\202\262\031\000'
52
54
  _globals['_SWITCHREPLACEMODE'].values_by_name["SWITCH_REPLACE_MODE_REPLACE"]._loaded_options = None
53
55
  _globals['_SWITCHREPLACEMODE'].values_by_name["SWITCH_REPLACE_MODE_REPLACE"]._serialized_options = b'\202\262\031\007replace'
54
56
  _globals['_SWITCHREPLACEMODE'].values_by_name["SWITCH_REPLACE_MODE_OPERATIONAL"]._loaded_options = None
@@ -120,13 +122,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
120
122
  _globals['_SWITCHOSQUERY'].fields_by_name['version']._loaded_options = None
121
123
  _globals['_SWITCHOSQUERY'].fields_by_name['version']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
122
124
  _globals['_BGPSTATE']._serialized_start=2948
123
- _globals['_BGPSTATE']._serialized_end=3215
124
- _globals['_SWITCHREPLACEMODE']._serialized_start=3218
125
- _globals['_SWITCHREPLACEMODE']._serialized_end=3374
126
- _globals['_SWITCHOSVENDOR']._serialized_start=3377
127
- _globals['_SWITCHOSVENDOR']._serialized_end=3509
128
- _globals['_SWITCHPORTSTATUS']._serialized_start=3512
129
- _globals['_SWITCHPORTSTATUS']._serialized_end=3685
125
+ _globals['_BGPSTATE']._serialized_end=3213
126
+ _globals['_SWITCHREPLACEMODE']._serialized_start=3216
127
+ _globals['_SWITCHREPLACEMODE']._serialized_end=3378
128
+ _globals['_SWITCHOSVENDOR']._serialized_start=3381
129
+ _globals['_SWITCHOSVENDOR']._serialized_end=3513
130
+ _globals['_SWITCHPORTSTATUS']._serialized_start=3516
131
+ _globals['_SWITCHPORTSTATUS']._serialized_end=3689
130
132
  _globals['_SWITCH']._serialized_start=222
131
133
  _globals['_SWITCH']._serialized_end=1041
132
134
  _globals['_SWITCHOS']._serialized_start=1044
@@ -19,6 +19,9 @@ class BMCService(Protocol):
19
19
  async def update_b_m_c_info(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoResponse:
20
20
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
+ def wait_for_machine_event(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest, ctx: RequestContext) -> AsyncIterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
+
22
25
 
23
26
  class BMCServiceASGIApplication(ConnectASGIApplication):
24
27
  def __init__(self, service: BMCService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
@@ -34,6 +37,16 @@ class BMCServiceASGIApplication(ConnectASGIApplication):
34
37
  ),
35
38
  function=service.update_b_m_c_info,
36
39
  ),
40
+ "/metalstack.infra.v2.BMCService/WaitForMachineEvent": Endpoint.server_stream(
41
+ method=MethodInfo(
42
+ name="WaitForMachineEvent",
43
+ service_name="metalstack.infra.v2.BMCService",
44
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
45
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
46
+ idempotency_level=IdempotencyLevel.UNKNOWN,
47
+ ),
48
+ function=service.wait_for_machine_event,
49
+ ),
37
50
  },
38
51
  interceptors=interceptors,
39
52
  read_max_bytes=read_max_bytes,
@@ -66,10 +79,32 @@ class BMCServiceClient(ConnectClient):
66
79
  timeout_ms=timeout_ms,
67
80
  )
68
81
 
82
+ def wait_for_machine_event(
83
+ self,
84
+ request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
85
+ *,
86
+ headers: Headers | Mapping[str, str] | None = None,
87
+ timeout_ms: int | None = None,
88
+ ) -> AsyncIterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
89
+ return self.execute_server_stream(
90
+ request=request,
91
+ method=MethodInfo(
92
+ name="WaitForMachineEvent",
93
+ service_name="metalstack.infra.v2.BMCService",
94
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
95
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
96
+ idempotency_level=IdempotencyLevel.UNKNOWN,
97
+ ),
98
+ headers=headers,
99
+ timeout_ms=timeout_ms,
100
+ )
101
+
69
102
 
70
103
  class BMCServiceSync(Protocol):
71
104
  def update_b_m_c_info(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_bmc__pb2.UpdateBMCInfoResponse:
72
105
  raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
106
+ def wait_for_machine_event(self, request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest, ctx: RequestContext) -> Iterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
107
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
73
108
 
74
109
 
75
110
  class BMCServiceWSGIApplication(ConnectWSGIApplication):
@@ -86,6 +121,16 @@ class BMCServiceWSGIApplication(ConnectWSGIApplication):
86
121
  ),
87
122
  function=service.update_b_m_c_info,
88
123
  ),
124
+ "/metalstack.infra.v2.BMCService/WaitForMachineEvent": EndpointSync.server_stream(
125
+ method=MethodInfo(
126
+ name="WaitForMachineEvent",
127
+ service_name="metalstack.infra.v2.BMCService",
128
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
129
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
130
+ idempotency_level=IdempotencyLevel.UNKNOWN,
131
+ ),
132
+ function=service.wait_for_machine_event,
133
+ ),
89
134
  },
90
135
  interceptors=interceptors,
91
136
  read_max_bytes=read_max_bytes,
@@ -117,3 +162,23 @@ class BMCServiceClientSync(ConnectClientSync):
117
162
  headers=headers,
118
163
  timeout_ms=timeout_ms,
119
164
  )
165
+
166
+ def wait_for_machine_event(
167
+ self,
168
+ request: metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
169
+ *,
170
+ headers: Headers | Mapping[str, str] | None = None,
171
+ timeout_ms: int | None = None,
172
+ ) -> Iterator[metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse]:
173
+ return self.execute_server_stream(
174
+ request=request,
175
+ method=MethodInfo(
176
+ name="WaitForMachineEvent",
177
+ service_name="metalstack.infra.v2.BMCService",
178
+ input=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventRequest,
179
+ output=metalstack_dot_infra_dot_v2_dot_bmc__pb2.WaitForMachineEventResponse,
180
+ idempotency_level=IdempotencyLevel.UNKNOWN,
181
+ ),
182
+ headers=headers,
183
+ timeout_ms=timeout_ms,
184
+ )
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.v2\x1a\x1emetalstack/api/v2/common.proto\"\x16\n\x14UpdateBMCInfoRequest\"\x17\n\x15UpdateBMCInfoResponse2\x7f\n\nBMCService\x12q\n\rUpdateBMCInfo\x12).metalstack.infra.v2.UpdateBMCInfoRequest\x1a*.metalstack.infra.v2.UpdateBMCInfoResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x42\xcc\x01\n\x17\x63om.metalstack.infra.v2B\x08\x42mcProtoP\x01Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\xa2\x02\x03MIX\xaa\x02\x13Metalstack.Infra.V2\xca\x02\x13Metalstack\\Infra\\V2\xe2\x02\x1fMetalstack\\Infra\\V2\\GPBMetadata\xea\x02\x15Metalstack::Infra::V2b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/infra/v2/bmc.proto\x12\x13metalstack.infra.v2\x1a\x1emetalstack/api/v2/common.proto\"\x16\n\x14UpdateBMCInfoRequest\"\x17\n\x15UpdateBMCInfoResponse\"\x1c\n\x1aWaitForMachineEventRequest\"\x1d\n\x1bWaitForMachineEventResponse2\x87\x02\n\nBMCService\x12q\n\rUpdateBMCInfo\x12).metalstack.infra.v2.UpdateBMCInfoRequest\x1a*.metalstack.infra.v2.UpdateBMCInfoResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x12\x85\x01\n\x13WaitForMachineEvent\x12/.metalstack.infra.v2.WaitForMachineEventRequest\x1a\x30.metalstack.infra.v2.WaitForMachineEventResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x30\x01\x42\xcc\x01\n\x17\x63om.metalstack.infra.v2B\x08\x42mcProtoP\x01Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\xa2\x02\x03MIX\xaa\x02\x13Metalstack.Infra.V2\xca\x02\x13Metalstack\\Infra\\V2\xe2\x02\x1fMetalstack\\Infra\\V2\\GPBMetadata\xea\x02\x15Metalstack::Infra::V2b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,10 +35,16 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.infra.v2B\010BmcProtoP\001Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\242\002\003MIX\252\002\023Metalstack.Infra.V2\312\002\023Metalstack\\Infra\\V2\342\002\037Metalstack\\Infra\\V2\\GPBMetadata\352\002\025Metalstack::Infra::V2'
36
36
  _globals['_BMCSERVICE'].methods_by_name['UpdateBMCInfo']._loaded_options = None
37
37
  _globals['_BMCSERVICE'].methods_by_name['UpdateBMCInfo']._serialized_options = b'\340\363\030\002\352\363\030\001\001'
38
+ _globals['_BMCSERVICE'].methods_by_name['WaitForMachineEvent']._loaded_options = None
39
+ _globals['_BMCSERVICE'].methods_by_name['WaitForMachineEvent']._serialized_options = b'\340\363\030\002\352\363\030\001\001'
38
40
  _globals['_UPDATEBMCINFOREQUEST']._serialized_start=86
39
41
  _globals['_UPDATEBMCINFOREQUEST']._serialized_end=108
40
42
  _globals['_UPDATEBMCINFORESPONSE']._serialized_start=110
41
43
  _globals['_UPDATEBMCINFORESPONSE']._serialized_end=133
42
- _globals['_BMCSERVICE']._serialized_start=135
43
- _globals['_BMCSERVICE']._serialized_end=262
44
+ _globals['_WAITFORMACHINEEVENTREQUEST']._serialized_start=135
45
+ _globals['_WAITFORMACHINEEVENTREQUEST']._serialized_end=163
46
+ _globals['_WAITFORMACHINEEVENTRESPONSE']._serialized_start=165
47
+ _globals['_WAITFORMACHINEEVENTRESPONSE']._serialized_end=194
48
+ _globals['_BMCSERVICE']._serialized_start=197
49
+ _globals['_BMCSERVICE']._serialized_end=460
44
50
  # @@protoc_insertion_point(module_scope)
@@ -12,3 +12,11 @@ class UpdateBMCInfoRequest(_message.Message):
12
12
  class UpdateBMCInfoResponse(_message.Message):
13
13
  __slots__ = ()
14
14
  def __init__(self) -> None: ...
15
+
16
+ class WaitForMachineEventRequest(_message.Message):
17
+ __slots__ = ()
18
+ def __init__(self) -> None: ...
19
+
20
+ class WaitForMachineEventResponse(_message.Message):
21
+ __slots__ = ()
22
+ def __init__(self) -> None: ...