metal-stack-api 0.0.22__py3-none-any.whl → 0.0.24__py3-none-any.whl

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 (115) hide show
  1. {metal_stack_api-0.0.22.dist-info → metal_stack_api-0.0.24.dist-info}/METADATA +3 -2
  2. metal_stack_api-0.0.24.dist-info/RECORD +97 -0
  3. {metal_stack_api-0.0.22.dist-info → metal_stack_api-0.0.24.dist-info}/top_level.txt +0 -1
  4. metalstack/admin/v2/{filesystem_connecpy.py → filesystem_connect.py} +22 -22
  5. metalstack/admin/v2/filesystem_pb2.py +20 -19
  6. metalstack/admin/v2/filesystem_pb2.pyi +1 -0
  7. metalstack/admin/v2/{image_connecpy.py → image_connect.py} +24 -24
  8. metalstack/admin/v2/image_pb2.py +24 -23
  9. metalstack/admin/v2/image_pb2.pyi +1 -0
  10. metalstack/admin/v2/{ip_connecpy.py → ip_connect.py} +20 -20
  11. metalstack/admin/v2/ip_pb2.py +2 -2
  12. metalstack/admin/v2/{machine_connecpy.py → machine_connect.py} +20 -20
  13. metalstack/admin/v2/machine_pb2.py +15 -14
  14. metalstack/admin/v2/machine_pb2.pyi +1 -0
  15. metalstack/admin/v2/{network_connecpy.py → network_connect.py} +26 -26
  16. metalstack/admin/v2/network_pb2.py +45 -36
  17. metalstack/admin/v2/network_pb2.pyi +1 -0
  18. metalstack/admin/v2/{partition_connecpy.py → partition_connect.py} +24 -24
  19. metalstack/admin/v2/partition_pb2.py +23 -22
  20. metalstack/admin/v2/partition_pb2.pyi +1 -0
  21. metalstack/admin/v2/{size_connecpy.py → size_connect.py} +22 -22
  22. metalstack/admin/v2/size_pb2.py +20 -19
  23. metalstack/admin/v2/size_pb2.pyi +1 -0
  24. metalstack/admin/v2/switch_connect.py +444 -0
  25. metalstack/admin/v2/switch_pb2.py +108 -0
  26. metalstack/admin/v2/switch_pb2.pyi +114 -0
  27. metalstack/admin/v2/{tenant_connecpy.py → tenant_connect.py} +20 -20
  28. metalstack/admin/v2/tenant_pb2.py +18 -15
  29. metalstack/admin/v2/tenant_pb2.pyi +1 -0
  30. metalstack/admin/v2/{token_connecpy.py → token_connect.py} +20 -20
  31. metalstack/admin/v2/token_pb2.py +2 -2
  32. metalstack/api/v2/common_pb2.py +2 -2
  33. metalstack/api/v2/{filesystem_connecpy.py → filesystem_connect.py} +22 -22
  34. metalstack/api/v2/filesystem_pb2.py +54 -53
  35. metalstack/api/v2/filesystem_pb2.pyi +1 -0
  36. metalstack/api/v2/{health_connecpy.py → health_connect.py} +18 -18
  37. metalstack/api/v2/health_pb2.py +2 -2
  38. metalstack/api/v2/{image_connecpy.py → image_connect.py} +22 -22
  39. metalstack/api/v2/image_pb2.py +32 -31
  40. metalstack/api/v2/image_pb2.pyi +1 -0
  41. metalstack/api/v2/{ip_connecpy.py → ip_connect.py} +26 -26
  42. metalstack/api/v2/ip_pb2.py +41 -40
  43. metalstack/api/v2/ip_pb2.pyi +1 -0
  44. metalstack/api/v2/{machine_connecpy.py → machine_connect.py} +26 -26
  45. metalstack/api/v2/machine_pb2.py +122 -121
  46. metalstack/api/v2/machine_pb2.pyi +1 -0
  47. metalstack/api/v2/{method_connecpy.py → method_connect.py} +20 -20
  48. metalstack/api/v2/method_pb2.py +2 -2
  49. metalstack/api/v2/{network_connecpy.py → network_connect.py} +28 -28
  50. metalstack/api/v2/network_pb2.py +73 -66
  51. metalstack/api/v2/network_pb2.pyi +1 -0
  52. metalstack/api/v2/{partition_connecpy.py → partition_connect.py} +20 -20
  53. metalstack/api/v2/partition_pb2.py +25 -24
  54. metalstack/api/v2/partition_pb2.pyi +1 -0
  55. metalstack/api/v2/predefined_rules_pb2.py +50 -0
  56. metalstack/api/v2/predefined_rules_pb2.pyi +19 -0
  57. metalstack/api/v2/{project_connecpy.py → project_connect.py} +40 -40
  58. metalstack/api/v2/project_pb2.py +69 -64
  59. metalstack/api/v2/project_pb2.pyi +1 -0
  60. metalstack/api/v2/{size_connecpy.py → size_connect.py} +20 -20
  61. metalstack/api/v2/size_pb2.py +26 -25
  62. metalstack/api/v2/size_pb2.pyi +1 -0
  63. metalstack/api/v2/switch_pb2.py +62 -41
  64. metalstack/api/v2/switch_pb2.pyi +54 -11
  65. metalstack/api/v2/{tenant_connecpy.py → tenant_connect.py} +40 -40
  66. metalstack/api/v2/tenant_pb2.py +69 -64
  67. metalstack/api/v2/tenant_pb2.pyi +1 -0
  68. metalstack/api/v2/{token_connecpy.py → token_connect.py} +28 -28
  69. metalstack/api/v2/token_pb2.py +51 -50
  70. metalstack/api/v2/token_pb2.pyi +1 -0
  71. metalstack/api/v2/{user_connecpy.py → user_connect.py} +18 -18
  72. metalstack/api/v2/user_pb2.py +15 -11
  73. metalstack/api/v2/user_pb2.pyi +2 -0
  74. metalstack/api/v2/{version_connecpy.py → version_connect.py} +18 -18
  75. metalstack/api/v2/version_pb2.py +2 -2
  76. metalstack/client/client.py +56 -52
  77. metalstack/infra/v2/{bmc_connecpy.py → bmc_connect.py} +18 -18
  78. metalstack/infra/v2/bmc_pb2.py +2 -2
  79. metalstack/infra/v2/{switch_connecpy.py → switch_connect.py} +83 -18
  80. metalstack/infra/v2/switch_pb2.py +28 -10
  81. metalstack/infra/v2/switch_pb2.pyi +51 -0
  82. buf/__init__.py +0 -0
  83. buf/validate/__init__.py +0 -0
  84. buf/validate/validate_pb2.py +0 -450
  85. buf/validate/validate_pb2.pyi +0 -627
  86. buf/validate/validate_pb2_grpc.py +0 -4
  87. metal_stack_api-0.0.22.dist-info/RECORD +0 -124
  88. metalstack/admin/v2/filesystem_pb2_grpc.py +0 -169
  89. metalstack/admin/v2/image_pb2_grpc.py +0 -213
  90. metalstack/admin/v2/ip_pb2_grpc.py +0 -125
  91. metalstack/admin/v2/machine_pb2_grpc.py +0 -125
  92. metalstack/admin/v2/network_pb2_grpc.py +0 -257
  93. metalstack/admin/v2/partition_pb2_grpc.py +0 -213
  94. metalstack/admin/v2/size_pb2_grpc.py +0 -169
  95. metalstack/admin/v2/tenant_pb2_grpc.py +0 -125
  96. metalstack/admin/v2/token_pb2_grpc.py +0 -125
  97. metalstack/api/v2/common_pb2_grpc.py +0 -4
  98. metalstack/api/v2/filesystem_pb2_grpc.py +0 -169
  99. metalstack/api/v2/health_pb2_grpc.py +0 -81
  100. metalstack/api/v2/image_pb2_grpc.py +0 -169
  101. metalstack/api/v2/ip_pb2_grpc.py +0 -257
  102. metalstack/api/v2/machine_pb2_grpc.py +0 -257
  103. metalstack/api/v2/method_pb2_grpc.py +0 -128
  104. metalstack/api/v2/network_pb2_grpc.py +0 -301
  105. metalstack/api/v2/partition_pb2_grpc.py +0 -125
  106. metalstack/api/v2/project_pb2_grpc.py +0 -565
  107. metalstack/api/v2/size_pb2_grpc.py +0 -125
  108. metalstack/api/v2/switch_pb2_grpc.py +0 -4
  109. metalstack/api/v2/tenant_pb2_grpc.py +0 -565
  110. metalstack/api/v2/token_pb2_grpc.py +0 -301
  111. metalstack/api/v2/user_pb2_grpc.py +0 -81
  112. metalstack/api/v2/version_pb2_grpc.py +0 -81
  113. metalstack/infra/v2/bmc_pb2_grpc.py +0 -81
  114. metalstack/infra/v2/switch_pb2_grpc.py +0 -81
  115. {metal_stack_api-0.0.22.dist-info → metal_stack_api-0.0.24.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.22
3
+ Version: 0.0.24
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
@@ -13,7 +13,8 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
- Requires-Dist: connecpy>=1.5.2
16
+ Requires-Dist: connect-python>=0.5.0
17
+ Requires-Dist: protovalidate>=1.0.0
17
18
  Dynamic: author
18
19
  Dynamic: classifier
19
20
  Dynamic: description
@@ -0,0 +1,97 @@
1
+ metalstack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ metalstack/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ metalstack/admin/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ metalstack/admin/v2/filesystem_connect.py,sha256=B1VlHELM_o9w4Ze9nv-KG-LQQ9IDlYjg4bmVQTW8lwU,12771
5
+ metalstack/admin/v2/filesystem_pb2.py,sha256=1XArZdCKw2jI_aZ_a87wjlYo9JaiKm_0AzIMD_rHnYk,7404
6
+ metalstack/admin/v2/filesystem_pb2.pyi,sha256=yeb3mYmuTvjdSgzVl6wDSpUGQ1HLX2AWKr0q3NEQk9o,4026
7
+ metalstack/admin/v2/image_connect.py,sha256=4-MlnrMTSEKWJlIwII3_KyGqAfQJANSEssy8_Ng2tm8,15489
8
+ metalstack/admin/v2/image_pb2.py,sha256=BcXRSwBF3-T8TkWM_hpZiKz_YcPxBGonjlgIc8njlk0,8736
9
+ metalstack/admin/v2/image_pb2.pyi,sha256=dY5Cep_Sd6LyGcmEuCyJduInDiZ32uvwyIqzoUxlNkk,3656
10
+ metalstack/admin/v2/ip_connect.py,sha256=v-HPOyqbIBlfrvvLuWPWpYMUX3NcT-sSF-5m-PMLHE4,8432
11
+ metalstack/admin/v2/ip_pb2.py,sha256=Kpas-H5WYcbW6veEjAGh0-ON1l54nc2IlI3u3i7zxJo,3895
12
+ metalstack/admin/v2/ip_pb2.pyi,sha256=Ro5RqU2w7UcaGoB6TZK9t5dRUaQ2LxWyaVoYZhFTBms,1671
13
+ metalstack/admin/v2/machine_connect.py,sha256=q1qASGH8O7n0XDOVv9SY5TDkAGI82PXxw7795pCtzLc,8793
14
+ metalstack/admin/v2/machine_pb2.py,sha256=fXxAZAe1PXumPocR7936rmcMNjntcZxZviPhD7cF4mQ,4704
15
+ metalstack/admin/v2/machine_pb2.pyi,sha256=dGSQx-mG_B26Jv5eWAZ7_V06klPYwsqLatfY77g99kY,1739
16
+ metalstack/admin/v2/network_connect.py,sha256=m-dJg3qW55yYnWf7Jq0TJRARoAuYrBaTUxZKt37oqvI,19164
17
+ metalstack/admin/v2/network_pb2.py,sha256=9OP1z7urQ8C3G3I4Wzi1LaYjT6J3OXIJpx3Uy_rVKDc,15364
18
+ metalstack/admin/v2/network_pb2.pyi,sha256=TOL1oqTO8L6zC85YfBRUOBJUiDD506uQ-5UDjfjFZGY,7351
19
+ metalstack/admin/v2/partition_connect.py,sha256=k9JOkdrQY0Qci0w125mgTYRY6CMKrBRwK55HFeYLWgY,16233
20
+ metalstack/admin/v2/partition_pb2.py,sha256=BXOx8EsPfIs6Yxk3YhT-IfF6P8XTgfKlJfN4Vndtza4,9956
21
+ metalstack/admin/v2/partition_pb2.pyi,sha256=lBAmofSPCNOI07dbaQ3Huo3PJJA2zzFQ62WxQB-LDLY,5740
22
+ metalstack/admin/v2/size_connect.py,sha256=EeDMcsNDo9nN7LetIkaB5sxGMk1CqZGfFtWzabgi_gg,12009
23
+ metalstack/admin/v2/size_pb2.py,sha256=doH58QNktnMSAQWlehmeT3VmsHaj5A7DYAzU8bzWiik,6481
24
+ metalstack/admin/v2/size_pb2.pyi,sha256=xMbYS7HghgaPMCOpAwmdadGBOp_BU7TvF4QTJuMaMMs,2664
25
+ metalstack/admin/v2/switch_connect.py,sha256=c_xsfMKHL-K9QLTQr5ApKU5WOaqErTGDVyF2l2dIUFE,22352
26
+ metalstack/admin/v2/switch_pb2.py,sha256=CSRwC8egmX6hKhK1LWtGOI63iq2RH-Or34aE16lkdOM,12513
27
+ metalstack/admin/v2/switch_pb2.pyi,sha256=UE2QEWjcE0r7TKyUWMM7Qgae-StuUJTUWDwxfLutVy8,5412
28
+ metalstack/admin/v2/tenant_connect.py,sha256=yxL56ifI-VSE1O-We4V8naqc0QXKhlkqZaGOm_f1n0c,8788
29
+ metalstack/admin/v2/tenant_pb2.py,sha256=LbMSxlil9NdM20e2Cg1q8Edd2PGdvf8lXSt8sqZpQnQ,5680
30
+ metalstack/admin/v2/tenant_pb2.pyi,sha256=ZI3HryRUf7bWAwKMWsfDa55fS6FVrsxStMyV4sU3cz0,2303
31
+ metalstack/admin/v2/token_connect.py,sha256=7V2QBVXSvYEi1H_UMJIsPy4yliTkAYBL9URoI8Av1IU,8699
32
+ metalstack/admin/v2/token_pb2.py,sha256=gN6Q4hTwROS-rnUXiTOFMigXC3elbgRPaXZkG3MlMBI,4290
33
+ metalstack/admin/v2/token_pb2.pyi,sha256=IjgXx9wFTf5l-W-5OCeifWmqOXWDEEK4_foLQ_V5tAk,1404
34
+ metalstack/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ metalstack/api/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ metalstack/api/v2/common_pb2.py,sha256=YUozzWnuUgW4HQsiZlnoOd700wG69pKU06Lo3oJb9YA,7319
37
+ metalstack/api/v2/common_pb2.pyi,sha256=rzM6o8RwrAzonDS2aD_Q1k4EAzQdNl2Ek29--gZI6QE,6224
38
+ metalstack/api/v2/filesystem_connect.py,sha256=G7ifwaBnBF6P5i5oMoF-E0E3rlBlEl08fMOHUV4wl2E,12461
39
+ metalstack/api/v2/filesystem_pb2.py,sha256=CtO7UvMAOWIJIYDstqnUUbu3MzU7llFNeMt6TKkGwtc,19690
40
+ metalstack/api/v2/filesystem_pb2.pyi,sha256=E4-NfvlwDg-CEQsUyl4EPyBjlrhzN4kFWrZHbJMMr80,10628
41
+ metalstack/api/v2/health_connect.py,sha256=LNJ3Z8vIfhqLumxBQCybteyiMuDHrPeUwwIuht1960E,5287
42
+ metalstack/api/v2/health_pb2.py,sha256=ZY-UQqropqaKlPFmAQVWHBQYVVTwFS7VZCBB4L_gQ0o,6025
43
+ metalstack/api/v2/health_pb2.pyi,sha256=cr8Qr3MzJQn7P531JiswO4Tcs9uNjdc854c2qxpPLIo,3386
44
+ metalstack/api/v2/image_connect.py,sha256=QF1yxSCnZzmvDilzqUCY7BiN0Bba-s4DTo7W1HdV2KY,11854
45
+ metalstack/api/v2/image_pb2.py,sha256=zbxSOHlMOlakjQqlGnlPX2zdR67_KcHXLA3I5jVt1VQ,12288
46
+ metalstack/api/v2/image_pb2.pyi,sha256=c6VEs_ZLhiAclQ8jat7YEyiHF75HWmisq6B9JG6_Zfk,5531
47
+ metalstack/api/v2/ip_connect.py,sha256=XyaMTWdBZyXuV-ePV_8T4o7nxxxlfNBqBO5h81g9Cf8,17919
48
+ metalstack/api/v2/ip_pb2.py,sha256=5zXL7zzNM0Ni4ychFKrvsiBQpXtpyw7PmIVA_n-K-bs,19016
49
+ metalstack/api/v2/ip_pb2.pyi,sha256=PXO6J_JW8rMqK6WEer2JLaKHxnLik_AMmhKkcx0JKPc,7667
50
+ metalstack/api/v2/machine_connect.py,sha256=KUcyR-z-j4RDpnIJw30VsJbr5Mdv9fHbVkxNCWyNeN0,18934
51
+ metalstack/api/v2/machine_pb2.py,sha256=wGYHS_bM0EiF5Mql1f0xlpLE2ogdhHRmWKKPkJLOTnA,58869
52
+ metalstack/api/v2/machine_pb2.pyi,sha256=7GqAH0O9teg-oes8OXKrYF1SagSUn_4qO1OXq6lK4HI,32440
53
+ metalstack/api/v2/method_connect.py,sha256=_NVufSXlHvIatC6Fud1jryH1_7m0VBo7IMHIPbov8xM,8954
54
+ metalstack/api/v2/method_pb2.py,sha256=9m3Mkn0PJLgT2go36ZZU3epxVDzRrGdHgdp-nnldrA4,5533
55
+ metalstack/api/v2/method_pb2.pyi,sha256=pkz8SXparLISMtzfQi_p3by07c_pD7ZGqzWEayQ-yRQ,2630
56
+ metalstack/api/v2/network_connect.py,sha256=S1MQi3laJxJ3N2KSB2ta1OdzMjG6HvbVgQabTAcYnnw,22639
57
+ metalstack/api/v2/network_pb2.py,sha256=Ts1IXm3kq_BoQcPi6wKdFtYrUVk7TnUrxcc7xfHoX34,26881
58
+ metalstack/api/v2/network_pb2.pyi,sha256=Wy7-gUAHdgwiq2q0hpLYXRu2sx5k-lqAixSaqjtWDa8,12423
59
+ metalstack/api/v2/partition_connect.py,sha256=if4HSxEY8VqYV3Sk92jwHTzHFQgstprYu2nJfy-mtE0,8873
60
+ metalstack/api/v2/partition_pb2.py,sha256=H-fq8mZ4-YdBF5gNW_Ae01wdq1DI5CV6keQNEi105ok,8055
61
+ metalstack/api/v2/partition_pb2.pyi,sha256=UELvmtz63crXaH1t5Sdgk-EMTa4c1vKF7EBcqK-rgMY,3878
62
+ metalstack/api/v2/predefined_rules_pb2.py,sha256=ry1dM88bz6aK9rzCVc24Ptgq9dsqJR1aaIKNNDxGGYY,4826
63
+ metalstack/api/v2/predefined_rules_pb2.pyi,sha256=BDT4NRBCUKsXSfzP-LtecY8TGSZHf2scRFczXMJ8zEI,736
64
+ metalstack/api/v2/project_connect.py,sha256=VTvTnX80WMzR6xiWaHzdCW9VfqEHymNfQbHtWyUyrsQ,43757
65
+ metalstack/api/v2/project_pb2.py,sha256=euk_azbv3bAXl7_GQRtzziiW3C_FgKexonZSlYDCG5M,21047
66
+ metalstack/api/v2/project_pb2.pyi,sha256=qVE5ydDVQEbT3ZVQaUdWgXBJ3PplHiVxPohdrnO5Rf0,10818
67
+ metalstack/api/v2/size_connect.py,sha256=E5eeRVtJBtYPXTfxD9brW8nlRyReWyrYg2Nkf18havc,8428
68
+ metalstack/api/v2/size_pb2.py,sha256=7j7lP7V1euX7jG-S31wcvzxqGYHSxHbx8syzr6pL2gY,8598
69
+ metalstack/api/v2/size_pb2.pyi,sha256=DfGRiWwmqSs9C_UP20quu0zVTw3bhUPd6Zsr4OwJIe8,3901
70
+ metalstack/api/v2/switch_pb2.py,sha256=DFKBwT6ZTpurhhh9hVrzedD8Kk-ZB4dTMJT-tuedk7c,17085
71
+ metalstack/api/v2/switch_pb2.pyi,sha256=-FybDLBzZjzfdvJkh2BGPTHiD5Jm_7sA_4BoT7gvMww,8559
72
+ metalstack/api/v2/tenant_connect.py,sha256=uzhCOeURjHqdoBwJJPr8tyS-uPapLEBfy1ppWSYrZmA,43288
73
+ metalstack/api/v2/tenant_pb2.py,sha256=qXx8jxNzWpPLFy6A0QpGay-WVs23OJaerEBa9KkafRY,18910
74
+ metalstack/api/v2/tenant_pb2.pyi,sha256=prHKgu4r4r1jFb5nSrTRdn2Q7C8iCBd7l5sPMMs6W3o,10822
75
+ metalstack/api/v2/token_connect.py,sha256=eeWuMi194zSJ2w8kNq0p25PTAaGxvENttZtG-7lW1q0,21893
76
+ metalstack/api/v2/token_pb2.py,sha256=TUll9XTaxSry5dxYzhXCHkmhYnT_h2ax90xRIMjPysU,18718
77
+ metalstack/api/v2/token_pb2.pyi,sha256=eywz0hert6pwmoH4BrpHibG8-Huaz3XpmbyGgUbwlOc,9697
78
+ metalstack/api/v2/user_connect.py,sha256=rZ4NpRKVWzKdLuO9nRAIo4bw7mpByfFucvmtI9MvIZE,5185
79
+ metalstack/api/v2/user_pb2.py,sha256=-XsdgiSt3LiAKAChABQc-JMjFXEXXcpojW7HkpAGLyM,3993
80
+ metalstack/api/v2/user_pb2.pyi,sha256=rXGPGTVvEkxJrNr2UHuSfxUGDoNpOxXodaZ_5eEjbqg,2032
81
+ metalstack/api/v2/version_connect.py,sha256=0a65vkFDevDjanQYevOPcBAsoREbN2-GzD25pk_oGxI,5338
82
+ metalstack/api/v2/version_pb2.py,sha256=_KuCtJ-y0GL-bd4DLn6D229ivoMdYoUZ57bkGIBuWEA,3071
83
+ metalstack/api/v2/version_pb2.pyi,sha256=JfQ_tYwDG6P9aH7y7-iEHmtuWsLKsrpLKAVJIzHehRM,1172
84
+ metalstack/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
+ metalstack/client/client.py,sha256=6Qy6R8PXkieHVGYlxsMSx3icpgeq6Sqe0qeFjEiLbuM,6287
86
+ metalstack/infra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
+ metalstack/infra/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
+ metalstack/infra/v2/bmc_connect.py,sha256=OJQQnWJmYANeDoCcwQDR-wQUiyZ0bNlNsOxDFFnaklk,5332
89
+ metalstack/infra/v2/bmc_pb2.py,sha256=4NUyjsGQ5a5FbfHyCfKBkxVbad6Vt8RvH8QwnMCjwhg,2701
90
+ metalstack/infra/v2/bmc_pb2.pyi,sha256=e4FGBnDQhg6K_zlhoC170lw-0OSlSdHK3So6r3Reh1E,444
91
+ metalstack/infra/v2/switch_connect.py,sha256=aP6z0SDF-ks3o-mUVlC18aC_YCIpqOYniIRs7m79mOo,8984
92
+ metalstack/infra/v2/switch_pb2.py,sha256=RuhV586RDLgHe5_xC8IskDobqWp71dAAr_T0ZZ-rYWk,6128
93
+ metalstack/infra/v2/switch_pb2.pyi,sha256=xHjeGvO4i5MtFhV39yiv-dJbTBl2mgt2NplgP0qvAAE,3665
94
+ metal_stack_api-0.0.24.dist-info/METADATA,sha256=mwCiOJ3Q0TC-FJp7ecPw1n-Z30lRbdreLbKJd0ZOnWM,874
95
+ metal_stack_api-0.0.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
+ metal_stack_api-0.0.24.dist-info/top_level.txt,sha256=OqZoCBTOYMgPJJ3GbO1ZfY7eRpW9Ljc5g3Ajlu44n2I,11
97
+ metal_stack_api-0.0.24.dist-info/RECORD,,
@@ -1,33 +1,33 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Generated by https://github.com/i2y/connecpy/v2/protoc-gen-connecpy. DO NOT EDIT!
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/admin/v2/filesystem.proto
4
4
 
5
5
  from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
- from connecpy.client import ConnecpyClient, ConnecpyClientSync
9
- from connecpy.code import Code
10
- from connecpy.exceptions import ConnecpyException
11
- from connecpy.interceptor import Interceptor, InterceptorSync
12
- from connecpy.method import IdempotencyLevel, MethodInfo
13
- from connecpy.request import Headers, RequestContext
14
- from connecpy.server import ConnecpyASGIApplication, ConnecpyWSGIApplication, Endpoint, EndpointSync
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
15
  import metalstack.admin.v2.filesystem_pb2 as metalstack_dot_admin_dot_v2_dot_filesystem__pb2
16
16
 
17
17
 
18
18
  class FilesystemService(Protocol):
19
19
  async def create(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse:
20
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
  async def update(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse:
23
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
24
 
25
25
  async def delete(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse:
26
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
26
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
27
 
28
28
 
29
- class FilesystemServiceASGIApplication(ConnecpyASGIApplication):
30
- def __init__(self, service: FilesystemService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None):
29
+ class FilesystemServiceASGIApplication(ConnectASGIApplication):
30
+ def __init__(self, service: FilesystemService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
31
31
  super().__init__(
32
32
  endpoints={
33
33
  "/metalstack.admin.v2.FilesystemService/Create": Endpoint.unary(
@@ -66,12 +66,12 @@ class FilesystemServiceASGIApplication(ConnecpyASGIApplication):
66
66
  )
67
67
 
68
68
  @property
69
- def path(self):
69
+ def path(self) -> str:
70
70
  """Returns the URL path to mount the application to when serving multiple applications."""
71
71
  return "/metalstack.admin.v2.FilesystemService"
72
72
 
73
73
 
74
- class FilesystemServiceClient(ConnecpyClient):
74
+ class FilesystemServiceClient(ConnectClient):
75
75
  async def create(
76
76
  self,
77
77
  request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
@@ -135,15 +135,15 @@ class FilesystemServiceClient(ConnecpyClient):
135
135
 
136
136
  class FilesystemServiceSync(Protocol):
137
137
  def create(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateResponse:
138
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
138
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
139
139
  def update(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceUpdateResponse:
140
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
140
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
141
141
  def delete(self, request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceDeleteResponse:
142
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
142
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
143
143
 
144
144
 
145
- class FilesystemServiceWSGIApplication(ConnecpyWSGIApplication):
146
- def __init__(self, service: FilesystemServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None):
145
+ class FilesystemServiceWSGIApplication(ConnectWSGIApplication):
146
+ def __init__(self, service: FilesystemServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
147
147
  super().__init__(
148
148
  endpoints={
149
149
  "/metalstack.admin.v2.FilesystemService/Create": EndpointSync.unary(
@@ -182,12 +182,12 @@ class FilesystemServiceWSGIApplication(ConnecpyWSGIApplication):
182
182
  )
183
183
 
184
184
  @property
185
- def path(self):
185
+ def path(self) -> str:
186
186
  """Returns the URL path to mount the application to when serving multiple applications."""
187
187
  return "/metalstack.admin.v2.FilesystemService"
188
188
 
189
189
 
190
- class FilesystemServiceClientSync(ConnecpyClientSync):
190
+ class FilesystemServiceClientSync(ConnectClientSync):
191
191
  def create(
192
192
  self,
193
193
  request: metalstack_dot_admin_dot_v2_dot_filesystem__pb2.FilesystemServiceCreateRequest,
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: metalstack/admin/v2/filesystem.proto
5
- # Protobuf Python Version: 6.32.0
5
+ # Protobuf Python Version: 6.32.1
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -13,7 +13,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
15
  32,
16
- 0,
16
+ 1,
17
17
  '',
18
18
  'metalstack/admin/v2/filesystem.proto'
19
19
  )
@@ -25,9 +25,10 @@ _sym_db = _symbol_database.Default()
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
27
27
  from metalstack.api.v2 import filesystem_pb2 as metalstack_dot_api_dot_v2_dot_filesystem__pb2
28
+ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
28
29
 
29
30
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$metalstack/admin/v2/filesystem.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\"r\n\x1e\x46ilesystemServiceCreateRequest\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"s\n\x1f\x46ilesystemServiceCreateResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"\xf4\x04\n\x1e\x46ilesystemServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12?\n\x0b\x66ilesystems\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.FilesystemR\x0b\x66ilesystems\x12-\n\x05\x64isks\x18\x06 \x03(\x0b\x32\x17.metalstack.api.v2.DiskR\x05\x64isks\x12+\n\x04raid\x18\x07 \x03(\x0b\x32\x17.metalstack.api.v2.RaidR\x04raid\x12\x43\n\rvolume_groups\x18\x08 \x03(\x0b\x32\x1e.metalstack.api.v2.VolumeGroupR\x0cvolumeGroups\x12I\n\x0flogical_volumes\x18\t \x03(\x0b\x32 .metalstack.api.v2.LogicalVolumeR\x0elogicalVolumes\x12P\n\x0b\x63onstraints\x18\n \x01(\x0b\x32..metalstack.api.v2.FilesystemLayoutConstraintsR\x0b\x63onstraintsB\x07\n\x05_nameB\x0e\n\x0c_description\"s\n\x1f\x46ilesystemServiceUpdateResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"<\n\x1e\x46ilesystemServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"s\n\x1f\x46ilesystemServiceDeleteResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout2\x93\x03\n\x11\x46ilesystemService\x12~\n\x06\x43reate\x12\x33.metalstack.admin.v2.FilesystemServiceCreateRequest\x1a\x34.metalstack.admin.v2.FilesystemServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12~\n\x06Update\x12\x33.metalstack.admin.v2.FilesystemServiceUpdateRequest\x1a\x34.metalstack.admin.v2.FilesystemServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12~\n\x06\x44\x65lete\x12\x33.metalstack.admin.v2.FilesystemServiceDeleteRequest\x1a\x34.metalstack.admin.v2.FilesystemServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd3\x01\n\x17\x63om.metalstack.admin.v2B\x0f\x46ilesystemProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$metalstack/admin/v2/filesystem.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\x1a(metalstack/api/v2/predefined_rules.proto\"r\n\x1e\x46ilesystemServiceCreateRequest\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"s\n\x1f\x46ilesystemServiceCreateResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"\xf6\x04\n\x1e\x46ilesystemServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12?\n\x0b\x66ilesystems\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.FilesystemR\x0b\x66ilesystems\x12-\n\x05\x64isks\x18\x06 \x03(\x0b\x32\x17.metalstack.api.v2.DiskR\x05\x64isks\x12+\n\x04raid\x18\x07 \x03(\x0b\x32\x17.metalstack.api.v2.RaidR\x04raid\x12\x43\n\rvolume_groups\x18\x08 \x03(\x0b\x32\x1e.metalstack.api.v2.VolumeGroupR\x0cvolumeGroups\x12I\n\x0flogical_volumes\x18\t \x03(\x0b\x32 .metalstack.api.v2.LogicalVolumeR\x0elogicalVolumes\x12P\n\x0b\x63onstraints\x18\n \x01(\x0b\x32..metalstack.api.v2.FilesystemLayoutConstraintsR\x0b\x63onstraintsB\x07\n\x05_nameB\x0e\n\x0c_description\"s\n\x1f\x46ilesystemServiceUpdateResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"<\n\x1e\x46ilesystemServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"s\n\x1f\x46ilesystemServiceDeleteResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout2\x93\x03\n\x11\x46ilesystemService\x12~\n\x06\x43reate\x12\x33.metalstack.admin.v2.FilesystemServiceCreateRequest\x1a\x34.metalstack.admin.v2.FilesystemServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12~\n\x06Update\x12\x33.metalstack.admin.v2.FilesystemServiceUpdateRequest\x1a\x34.metalstack.admin.v2.FilesystemServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12~\n\x06\x44\x65lete\x12\x33.metalstack.admin.v2.FilesystemServiceDeleteRequest\x1a\x34.metalstack.admin.v2.FilesystemServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd3\x01\n\x17\x63om.metalstack.admin.v2B\x0f\x46ilesystemProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
31
32
 
32
33
  _globals = globals()
33
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -40,9 +41,9 @@ if not _descriptor._USE_C_DESCRIPTORS:
40
41
  _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None
41
42
  _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001'
42
43
  _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['name']._loaded_options = None
43
- _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
44
+ _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
44
45
  _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None
45
- _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
46
+ _globals['_FILESYSTEMSERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
46
47
  _globals['_FILESYSTEMSERVICEDELETEREQUEST'].fields_by_name['id']._loaded_options = None
47
48
  _globals['_FILESYSTEMSERVICEDELETEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
48
49
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Create']._loaded_options = None
@@ -51,18 +52,18 @@ if not _descriptor._USE_C_DESCRIPTORS:
51
52
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Update']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
52
53
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Delete']._loaded_options = None
53
54
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Delete']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
54
- _globals['_FILESYSTEMSERVICECREATEREQUEST']._serialized_start=158
55
- _globals['_FILESYSTEMSERVICECREATEREQUEST']._serialized_end=272
56
- _globals['_FILESYSTEMSERVICECREATERESPONSE']._serialized_start=274
57
- _globals['_FILESYSTEMSERVICECREATERESPONSE']._serialized_end=389
58
- _globals['_FILESYSTEMSERVICEUPDATEREQUEST']._serialized_start=392
59
- _globals['_FILESYSTEMSERVICEUPDATEREQUEST']._serialized_end=1020
60
- _globals['_FILESYSTEMSERVICEUPDATERESPONSE']._serialized_start=1022
61
- _globals['_FILESYSTEMSERVICEUPDATERESPONSE']._serialized_end=1137
62
- _globals['_FILESYSTEMSERVICEDELETEREQUEST']._serialized_start=1139
63
- _globals['_FILESYSTEMSERVICEDELETEREQUEST']._serialized_end=1199
64
- _globals['_FILESYSTEMSERVICEDELETERESPONSE']._serialized_start=1201
65
- _globals['_FILESYSTEMSERVICEDELETERESPONSE']._serialized_end=1316
66
- _globals['_FILESYSTEMSERVICE']._serialized_start=1319
67
- _globals['_FILESYSTEMSERVICE']._serialized_end=1722
55
+ _globals['_FILESYSTEMSERVICECREATEREQUEST']._serialized_start=200
56
+ _globals['_FILESYSTEMSERVICECREATEREQUEST']._serialized_end=314
57
+ _globals['_FILESYSTEMSERVICECREATERESPONSE']._serialized_start=316
58
+ _globals['_FILESYSTEMSERVICECREATERESPONSE']._serialized_end=431
59
+ _globals['_FILESYSTEMSERVICEUPDATEREQUEST']._serialized_start=434
60
+ _globals['_FILESYSTEMSERVICEUPDATEREQUEST']._serialized_end=1064
61
+ _globals['_FILESYSTEMSERVICEUPDATERESPONSE']._serialized_start=1066
62
+ _globals['_FILESYSTEMSERVICEUPDATERESPONSE']._serialized_end=1181
63
+ _globals['_FILESYSTEMSERVICEDELETEREQUEST']._serialized_start=1183
64
+ _globals['_FILESYSTEMSERVICEDELETEREQUEST']._serialized_end=1243
65
+ _globals['_FILESYSTEMSERVICEDELETERESPONSE']._serialized_start=1245
66
+ _globals['_FILESYSTEMSERVICEDELETERESPONSE']._serialized_end=1360
67
+ _globals['_FILESYSTEMSERVICE']._serialized_start=1363
68
+ _globals['_FILESYSTEMSERVICE']._serialized_end=1766
68
69
  # @@protoc_insertion_point(module_scope)
@@ -1,6 +1,7 @@
1
1
  from buf.validate import validate_pb2 as _validate_pb2
2
2
  from metalstack.api.v2 import common_pb2 as _common_pb2
3
3
  from metalstack.api.v2 import filesystem_pb2 as _filesystem_pb2
4
+ from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2
4
5
  from google.protobuf.internal import containers as _containers
5
6
  from google.protobuf import descriptor as _descriptor
6
7
  from google.protobuf import message as _message
@@ -1,36 +1,36 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Generated by https://github.com/i2y/connecpy/v2/protoc-gen-connecpy. DO NOT EDIT!
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/admin/v2/image.proto
4
4
 
5
5
  from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
- from connecpy.client import ConnecpyClient, ConnecpyClientSync
9
- from connecpy.code import Code
10
- from connecpy.exceptions import ConnecpyException
11
- from connecpy.interceptor import Interceptor, InterceptorSync
12
- from connecpy.method import IdempotencyLevel, MethodInfo
13
- from connecpy.request import Headers, RequestContext
14
- from connecpy.server import ConnecpyASGIApplication, ConnecpyWSGIApplication, Endpoint, EndpointSync
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
15
  import metalstack.admin.v2.image_pb2 as metalstack_dot_admin_dot_v2_dot_image__pb2
16
16
 
17
17
 
18
18
  class ImageService(Protocol):
19
19
  async def create(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse:
20
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
  async def update(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse:
23
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
24
 
25
25
  async def delete(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse:
26
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
26
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
27
 
28
28
  async def usage(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse:
29
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
29
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
30
30
 
31
31
 
32
- class ImageServiceASGIApplication(ConnecpyASGIApplication):
33
- def __init__(self, service: ImageService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None):
32
+ class ImageServiceASGIApplication(ConnectASGIApplication):
33
+ def __init__(self, service: ImageService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
34
34
  super().__init__(
35
35
  endpoints={
36
36
  "/metalstack.admin.v2.ImageService/Create": Endpoint.unary(
@@ -79,12 +79,12 @@ class ImageServiceASGIApplication(ConnecpyASGIApplication):
79
79
  )
80
80
 
81
81
  @property
82
- def path(self):
82
+ def path(self) -> str:
83
83
  """Returns the URL path to mount the application to when serving multiple applications."""
84
84
  return "/metalstack.admin.v2.ImageService"
85
85
 
86
86
 
87
- class ImageServiceClient(ConnecpyClient):
87
+ class ImageServiceClient(ConnectClient):
88
88
  async def create(
89
89
  self,
90
90
  request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
@@ -168,17 +168,17 @@ class ImageServiceClient(ConnecpyClient):
168
168
 
169
169
  class ImageServiceSync(Protocol):
170
170
  def create(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateResponse:
171
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
171
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
172
172
  def update(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUpdateResponse:
173
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
173
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
174
174
  def delete(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceDeleteResponse:
175
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
175
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
176
176
  def usage(self, request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceUsageResponse:
177
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
177
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
178
178
 
179
179
 
180
- class ImageServiceWSGIApplication(ConnecpyWSGIApplication):
181
- def __init__(self, service: ImageServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None):
180
+ class ImageServiceWSGIApplication(ConnectWSGIApplication):
181
+ def __init__(self, service: ImageServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
182
182
  super().__init__(
183
183
  endpoints={
184
184
  "/metalstack.admin.v2.ImageService/Create": EndpointSync.unary(
@@ -227,12 +227,12 @@ class ImageServiceWSGIApplication(ConnecpyWSGIApplication):
227
227
  )
228
228
 
229
229
  @property
230
- def path(self):
230
+ def path(self) -> str:
231
231
  """Returns the URL path to mount the application to when serving multiple applications."""
232
232
  return "/metalstack.admin.v2.ImageService"
233
233
 
234
234
 
235
- class ImageServiceClientSync(ConnecpyClientSync):
235
+ class ImageServiceClientSync(ConnectClientSync):
236
236
  def create(
237
237
  self,
238
238
  request: metalstack_dot_admin_dot_v2_dot_image__pb2.ImageServiceCreateRequest,
@@ -2,7 +2,7 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # NO CHECKED-IN PROTOBUF GENCODE
4
4
  # source: metalstack/admin/v2/image.proto
5
- # Protobuf Python Version: 6.32.0
5
+ # Protobuf Python Version: 6.32.1
6
6
  """Generated protocol buffer code."""
7
7
  from google.protobuf import descriptor as _descriptor
8
8
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -13,7 +13,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
13
13
  _runtime_version.Domain.PUBLIC,
14
14
  6,
15
15
  32,
16
- 0,
16
+ 1,
17
17
  '',
18
18
  'metalstack/admin/v2/image.proto'
19
19
  )
@@ -26,9 +26,10 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
27
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
28
  from metalstack.api.v2 import image_pb2 as metalstack_dot_api_dot_v2_dot_image__pb2
29
+ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
29
30
 
30
31
 
31
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/admin/v2/image.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1dmetalstack/api/v2/image.proto\"K\n\x19ImageServiceCreateRequest\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"L\n\x1aImageServiceCreateResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"\xe4\x04\n\x19ImageServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12O\n\x03url\x18\x03 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()H\x00R\x03url\x88\x01\x01\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x83\x01\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureBF\xbaHC\x92\x01@\x08\x01\"<\xba\x01\x39\n\x08\x66\x65\x61tures\x12\x15\x66\x65\x61ture must be valid\x1a\x16this >= 0 && this <= 2R\x08\x66\x65\x61tures\x12X\n\x0e\x63lassification\x18\x07 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x63lassification\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAtB\x06\n\x04_urlB\x07\n\x05_nameB\x0e\n\x0c_description\"L\n\x1aImageServiceUpdateResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"7\n\x19ImageServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"L\n\x1aImageServiceDeleteResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"O\n\x18ImageServiceUsageRequest\x12\x33\n\x05query\x18\x01 \x01(\x0b\x32\x1d.metalstack.api.v2.ImageQueryR\x05query\"[\n\x19ImageServiceUsageResponse\x12>\n\x0bimage_usage\x18\x01 \x03(\x0b\x32\x1d.metalstack.api.v2.ImageUsageR\nimageUsage2\xe0\x03\n\x0cImageService\x12t\n\x06\x43reate\x12..metalstack.admin.v2.ImageServiceCreateRequest\x1a/.metalstack.admin.v2.ImageServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Update\x12..metalstack.admin.v2.ImageServiceUpdateRequest\x1a/.metalstack.admin.v2.ImageServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.admin.v2.ImageServiceDeleteRequest\x1a/.metalstack.admin.v2.ImageServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12n\n\x05Usage\x12-.metalstack.admin.v2.ImageServiceUsageRequest\x1a..metalstack.admin.v2.ImageServiceUsageResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x42\xce\x01\n\x17\x63om.metalstack.admin.v2B\nImageProtoP\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\x1fmetalstack/admin/v2/image.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a(metalstack/api/v2/predefined_rules.proto\"K\n\x19ImageServiceCreateRequest\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"L\n\x1aImageServiceCreateResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"\xe6\x04\n\x19ImageServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12O\n\x03url\x18\x03 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()H\x00R\x03url\x88\x01\x01\x12$\n\x04name\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x83\x01\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureBF\xbaHC\x92\x01@\x08\x01\"<\xba\x01\x39\n\x08\x66\x65\x61tures\x12\x15\x66\x65\x61ture must be valid\x1a\x16this >= 0 && this <= 2R\x08\x66\x65\x61tures\x12X\n\x0e\x63lassification\x18\x07 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x63lassification\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAtB\x06\n\x04_urlB\x07\n\x05_nameB\x0e\n\x0c_description\"L\n\x1aImageServiceUpdateResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"7\n\x19ImageServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"L\n\x1aImageServiceDeleteResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"O\n\x18ImageServiceUsageRequest\x12\x33\n\x05query\x18\x01 \x01(\x0b\x32\x1d.metalstack.api.v2.ImageQueryR\x05query\"[\n\x19ImageServiceUsageResponse\x12>\n\x0bimage_usage\x18\x01 \x03(\x0b\x32\x1d.metalstack.api.v2.ImageUsageR\nimageUsage2\xe0\x03\n\x0cImageService\x12t\n\x06\x43reate\x12..metalstack.admin.v2.ImageServiceCreateRequest\x1a/.metalstack.admin.v2.ImageServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Update\x12..metalstack.admin.v2.ImageServiceUpdateRequest\x1a/.metalstack.admin.v2.ImageServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.admin.v2.ImageServiceDeleteRequest\x1a/.metalstack.admin.v2.ImageServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12n\n\x05Usage\x12-.metalstack.admin.v2.ImageServiceUsageRequest\x1a..metalstack.admin.v2.ImageServiceUsageResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x42\xce\x01\n\x17\x63om.metalstack.admin.v2B\nImageProtoP\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
33
 
33
34
  _globals = globals()
34
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -43,9 +44,9 @@ if not _descriptor._USE_C_DESCRIPTORS:
43
44
  _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['url']._loaded_options = None
44
45
  _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['url']._serialized_options = b'\272H5\272\0012\n\tvalid_url\022\027url must be a valid URI\032\014this.isUri()'
45
46
  _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['name']._loaded_options = None
46
- _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
47
+ _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
47
48
  _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None
48
- _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
49
+ _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\010r\006\310\263\256\261\002\001'
49
50
  _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['features']._loaded_options = None
50
51
  _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['features']._serialized_options = b'\272HC\222\001@\010\001\"<\272\0019\n\010features\022\025feature must be valid\032\026this >= 0 && this <= 2'
51
52
  _globals['_IMAGESERVICEUPDATEREQUEST'].fields_by_name['classification']._loaded_options = None
@@ -60,22 +61,22 @@ if not _descriptor._USE_C_DESCRIPTORS:
60
61
  _globals['_IMAGESERVICE'].methods_by_name['Delete']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
61
62
  _globals['_IMAGESERVICE'].methods_by_name['Usage']._loaded_options = None
62
63
  _globals['_IMAGESERVICE'].methods_by_name['Usage']._serialized_options = b'\322\363\030\002\001\002'
63
- _globals['_IMAGESERVICECREATEREQUEST']._serialized_start=181
64
- _globals['_IMAGESERVICECREATEREQUEST']._serialized_end=256
65
- _globals['_IMAGESERVICECREATERESPONSE']._serialized_start=258
66
- _globals['_IMAGESERVICECREATERESPONSE']._serialized_end=334
67
- _globals['_IMAGESERVICEUPDATEREQUEST']._serialized_start=337
68
- _globals['_IMAGESERVICEUPDATEREQUEST']._serialized_end=949
69
- _globals['_IMAGESERVICEUPDATERESPONSE']._serialized_start=951
70
- _globals['_IMAGESERVICEUPDATERESPONSE']._serialized_end=1027
71
- _globals['_IMAGESERVICEDELETEREQUEST']._serialized_start=1029
72
- _globals['_IMAGESERVICEDELETEREQUEST']._serialized_end=1084
73
- _globals['_IMAGESERVICEDELETERESPONSE']._serialized_start=1086
74
- _globals['_IMAGESERVICEDELETERESPONSE']._serialized_end=1162
75
- _globals['_IMAGESERVICEUSAGEREQUEST']._serialized_start=1164
76
- _globals['_IMAGESERVICEUSAGEREQUEST']._serialized_end=1243
77
- _globals['_IMAGESERVICEUSAGERESPONSE']._serialized_start=1245
78
- _globals['_IMAGESERVICEUSAGERESPONSE']._serialized_end=1336
79
- _globals['_IMAGESERVICE']._serialized_start=1339
80
- _globals['_IMAGESERVICE']._serialized_end=1819
64
+ _globals['_IMAGESERVICECREATEREQUEST']._serialized_start=223
65
+ _globals['_IMAGESERVICECREATEREQUEST']._serialized_end=298
66
+ _globals['_IMAGESERVICECREATERESPONSE']._serialized_start=300
67
+ _globals['_IMAGESERVICECREATERESPONSE']._serialized_end=376
68
+ _globals['_IMAGESERVICEUPDATEREQUEST']._serialized_start=379
69
+ _globals['_IMAGESERVICEUPDATEREQUEST']._serialized_end=993
70
+ _globals['_IMAGESERVICEUPDATERESPONSE']._serialized_start=995
71
+ _globals['_IMAGESERVICEUPDATERESPONSE']._serialized_end=1071
72
+ _globals['_IMAGESERVICEDELETEREQUEST']._serialized_start=1073
73
+ _globals['_IMAGESERVICEDELETEREQUEST']._serialized_end=1128
74
+ _globals['_IMAGESERVICEDELETERESPONSE']._serialized_start=1130
75
+ _globals['_IMAGESERVICEDELETERESPONSE']._serialized_end=1206
76
+ _globals['_IMAGESERVICEUSAGEREQUEST']._serialized_start=1208
77
+ _globals['_IMAGESERVICEUSAGEREQUEST']._serialized_end=1287
78
+ _globals['_IMAGESERVICEUSAGERESPONSE']._serialized_start=1289
79
+ _globals['_IMAGESERVICEUSAGERESPONSE']._serialized_end=1380
80
+ _globals['_IMAGESERVICE']._serialized_start=1383
81
+ _globals['_IMAGESERVICE']._serialized_end=1863
81
82
  # @@protoc_insertion_point(module_scope)
@@ -4,6 +4,7 @@ from buf.validate import validate_pb2 as _validate_pb2
4
4
  from google.protobuf import timestamp_pb2 as _timestamp_pb2
5
5
  from metalstack.api.v2 import common_pb2 as _common_pb2
6
6
  from metalstack.api.v2 import image_pb2 as _image_pb2
7
+ from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2
7
8
  from google.protobuf.internal import containers as _containers
8
9
  from google.protobuf import descriptor as _descriptor
9
10
  from google.protobuf import message as _message
@@ -1,30 +1,30 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Generated by https://github.com/i2y/connecpy/v2/protoc-gen-connecpy. DO NOT EDIT!
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
3
  # source: metalstack/admin/v2/ip.proto
4
4
 
5
5
  from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
6
  from typing import Protocol
7
7
 
8
- from connecpy.client import ConnecpyClient, ConnecpyClientSync
9
- from connecpy.code import Code
10
- from connecpy.exceptions import ConnecpyException
11
- from connecpy.interceptor import Interceptor, InterceptorSync
12
- from connecpy.method import IdempotencyLevel, MethodInfo
13
- from connecpy.request import Headers, RequestContext
14
- from connecpy.server import ConnecpyASGIApplication, ConnecpyWSGIApplication, Endpoint, EndpointSync
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
15
  import metalstack.admin.v2.ip_pb2 as metalstack_dot_admin_dot_v2_dot_ip__pb2
16
16
 
17
17
 
18
18
  class IPService(Protocol):
19
19
  async def list(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListResponse:
20
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
21
 
22
22
  async def issues(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse:
23
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
24
 
25
25
 
26
- class IPServiceASGIApplication(ConnecpyASGIApplication):
27
- def __init__(self, service: IPService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None):
26
+ class IPServiceASGIApplication(ConnectASGIApplication):
27
+ def __init__(self, service: IPService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
28
28
  super().__init__(
29
29
  endpoints={
30
30
  "/metalstack.admin.v2.IPService/List": Endpoint.unary(
@@ -53,12 +53,12 @@ class IPServiceASGIApplication(ConnecpyASGIApplication):
53
53
  )
54
54
 
55
55
  @property
56
- def path(self):
56
+ def path(self) -> str:
57
57
  """Returns the URL path to mount the application to when serving multiple applications."""
58
58
  return "/metalstack.admin.v2.IPService"
59
59
 
60
60
 
61
- class IPServiceClient(ConnecpyClient):
61
+ class IPServiceClient(ConnectClient):
62
62
  async def list(
63
63
  self,
64
64
  request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListRequest,
@@ -102,13 +102,13 @@ class IPServiceClient(ConnecpyClient):
102
102
 
103
103
  class IPServiceSync(Protocol):
104
104
  def list(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListResponse:
105
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
105
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
106
106
  def issues(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse:
107
- raise ConnecpyException(Code.UNIMPLEMENTED, "Not implemented")
107
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
108
108
 
109
109
 
110
- class IPServiceWSGIApplication(ConnecpyWSGIApplication):
111
- def __init__(self, service: IPServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None):
110
+ class IPServiceWSGIApplication(ConnectWSGIApplication):
111
+ def __init__(self, service: IPServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
112
112
  super().__init__(
113
113
  endpoints={
114
114
  "/metalstack.admin.v2.IPService/List": EndpointSync.unary(
@@ -137,12 +137,12 @@ class IPServiceWSGIApplication(ConnecpyWSGIApplication):
137
137
  )
138
138
 
139
139
  @property
140
- def path(self):
140
+ def path(self) -> str:
141
141
  """Returns the URL path to mount the application to when serving multiple applications."""
142
142
  return "/metalstack.admin.v2.IPService"
143
143
 
144
144
 
145
- class IPServiceClientSync(ConnecpyClientSync):
145
+ class IPServiceClientSync(ConnectClientSync):
146
146
  def list(
147
147
  self,
148
148
  request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListRequest,