metal-stack-api 0.0.18__py3-none-any.whl → 0.0.19__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.18
3
+ Version: 0.0.19
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
@@ -48,16 +48,16 @@ metalstack/api/v2/common_pb2.py,sha256=6ialUW0Y9BaVppSxNt4Ysc3JEZdPEDfwIB5IwEtGp
48
48
  metalstack/api/v2/common_pb2.pyi,sha256=5MJYJ_F9alf8uyf7N9IVeZVHAeI1rBmagaVefZG0ThM,5219
49
49
  metalstack/api/v2/common_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
50
50
  metalstack/api/v2/filesystem_connecpy.py,sha256=661JDWrnVvjpycRlK-0NRHb1mojN5L0RTPsfKrLuw6s,12474
51
- metalstack/api/v2/filesystem_pb2.py,sha256=NwlthAk0CfHQeVRDS8NZBTHO5kDfYSt7gQyDKu2G7-Q,19762
52
- metalstack/api/v2/filesystem_pb2.pyi,sha256=CK0377QBpCrCXRs0YjIFkuL0CjlswdP4avoxMQQqAAI,10845
51
+ metalstack/api/v2/filesystem_pb2.py,sha256=Ka2bnBfui0fWACryKspFW1QRv0XucSEH9PMdxe6aJLc,19477
52
+ metalstack/api/v2/filesystem_pb2.pyi,sha256=VO3019hev_Ug5D32H4rLs6Rx0I1XEii50zyZhS02rzw,10552
53
53
  metalstack/api/v2/filesystem_pb2_grpc.py,sha256=oUTxRWtcEuHrrosmJ8jD6b0aHUkmesftp6X8AOmmtWE,6874
54
54
  metalstack/api/v2/health_connecpy.py,sha256=yXwfwp7QClE0QOA6WMQL28eaNffMXwc7fUs-WBTKZxs,5280
55
55
  metalstack/api/v2/health_pb2.py,sha256=LfmoZ8hPyIhfa8WvMi3rCwFU1iouYpxfUOkbAA18_lc,6025
56
56
  metalstack/api/v2/health_pb2.pyi,sha256=cr8Qr3MzJQn7P531JiswO4Tcs9uNjdc854c2qxpPLIo,3386
57
57
  metalstack/api/v2/health_pb2_grpc.py,sha256=L0sfFCXluJZ2uiXB6ZKmXfb5CX44-G5EHFHnABWoVpY,2934
58
58
  metalstack/api/v2/image_connecpy.py,sha256=clewty7y-cgTC9hVUzxOV3sw3qSmHpokYKePC0XNqDs,11867
59
- metalstack/api/v2/image_pb2.py,sha256=y90r-J74pppUUlnz69wnmIadyX16RW0IPZIXGA88gak,11605
60
- metalstack/api/v2/image_pb2.pyi,sha256=j0tLFV5tNK08CFlkVuVKyz4ZIE61xsCfHXEDbl2uh-U,5227
59
+ metalstack/api/v2/image_pb2.py,sha256=DsL0TRl_soePeYFRLBgLyfE3J2jAtK3GRAiIFjTcqAg,12096
60
+ metalstack/api/v2/image_pb2.pyi,sha256=3K4Yz1loYShg3Ymp0cT9-AA7hBk7NGEHz-NWu0JvhcI,5455
61
61
  metalstack/api/v2/image_pb2_grpc.py,sha256=AMz_VWgBpsKDm_nmykMaOLFVn71v9datxMlxZL4jICA,6608
62
62
  metalstack/api/v2/ip_connecpy.py,sha256=_3yeC7UlPavx3HqVPBZvKRidIFXSDyD-2-3goE4F8xI,17952
63
63
  metalstack/api/v2/ip_pb2.py,sha256=-4zhcw0I3jtDsVsJfyvWQ0CXze1pPuL_zPtK7zbZI9Y,18421
@@ -72,27 +72,27 @@ metalstack/api/v2/method_pb2.py,sha256=8CCmaGc5DGBwkJ-RnQdvzmGEA2q_twa1YzPgkY3ss
72
72
  metalstack/api/v2/method_pb2.pyi,sha256=pkz8SXparLISMtzfQi_p3by07c_pD7ZGqzWEayQ-yRQ,2630
73
73
  metalstack/api/v2/method_pb2_grpc.py,sha256=cuVWB8J2po4AnBnI2kz-7wSUms9hL9neFYBfSN-UtIw,5118
74
74
  metalstack/api/v2/network_connecpy.py,sha256=qcf-UeAWZhffiC46B_b8_KOeCZ0cgNM-98LpSNqscC8,22682
75
- metalstack/api/v2/network_pb2.py,sha256=Ukjzflg--G0nFbFlKFLsezsCkyGRiyVMIMmc7B-5Zi4,26413
75
+ metalstack/api/v2/network_pb2.py,sha256=_Fgp_fw_zL1XvmS2QQpVqhEpN8vszFa0vUwOyk4XWNI,26446
76
76
  metalstack/api/v2/network_pb2.pyi,sha256=1LgWDuXIPSAAPlXytikFje55-8Ej0tYT21fwAeQrsB0,12175
77
77
  metalstack/api/v2/network_pb2_grpc.py,sha256=Qi49BPEsNbhEHDUU3XoNEO4mles-nieTN8f_3YPWoSA,12779
78
78
  metalstack/api/v2/partition_connecpy.py,sha256=pMJIb_tFDJRi6X0KSEnVL40lgEF6XShZp2s61NCzUtE,8876
79
- metalstack/api/v2/partition_pb2.py,sha256=dc4XM0SPq1K4875bTf6F9gR_ioBuqWTH77oddwQBIoE,7760
80
- metalstack/api/v2/partition_pb2.pyi,sha256=PxfLvhGlXMmCJVARt_z5KKOFaIGqUgPxp82Aoiqk_Nw,3659
79
+ metalstack/api/v2/partition_pb2.py,sha256=Mjyudw3wMq8WgyHfo5o5lBP7bBjfLS5Wc0uQSgBz7X0,7877
80
+ metalstack/api/v2/partition_pb2.pyi,sha256=-VSWOztEDrBRE_aizn2mhxdK_lb_tKwahuZXdTOlDOs,3802
81
81
  metalstack/api/v2/partition_pb2_grpc.py,sha256=aUiF5JjvyCMXMauyLaznzpj11QqdJ0B78XDGIQ1Zvz8,4927
82
82
  metalstack/api/v2/project_connecpy.py,sha256=7j1MJ50be0aPm-soHZrNhjT-nH6-NEXGBHgCS4NnjvY,43860
83
- metalstack/api/v2/project_pb2.py,sha256=otPK54nO30yQMH_88LudRSb4bJWWKuSWwWGtAiqiilg,19910
84
- metalstack/api/v2/project_pb2.pyi,sha256=mEIUV-qXVHPaCqrCrnRPtmNVG1WjCJZofX5OKDLc3YE,10426
83
+ metalstack/api/v2/project_pb2.py,sha256=vMVeCnIsIkSx7JsN6D1pJBb2DXYdOQki0rZVwMP1zvQ,20025
84
+ metalstack/api/v2/project_pb2.pyi,sha256=8ffJrvwMDdePHIhINujD2IFvV6IrxL-puy1KrEaQff8,10570
85
85
  metalstack/api/v2/project_pb2_grpc.py,sha256=WzoSQscbA2aBfdE_Tts_Iwz3BIyXbnRWga3k1b1YFRk,24349
86
86
  metalstack/api/v2/size_connecpy.py,sha256=kb-3lP3nq1zQ6h-qrgs2_Sh9lZ40Xdkeb891SgpjfJM,8431
87
- metalstack/api/v2/size_pb2.py,sha256=1OVPXKJ-4BCppwUwTaf7yWCxPRYGi0S4XqKSxHgYsjA,8370
87
+ metalstack/api/v2/size_pb2.py,sha256=_N3gM-kbNMeFuaVrNejJax9EMaeVjllRj5GbUDTJiaY,8406
88
88
  metalstack/api/v2/size_pb2.pyi,sha256=ZKSf60gss4MO9ad8bFkt7ECe0HOA2mA791MIt8H_OtU,3825
89
89
  metalstack/api/v2/size_pb2_grpc.py,sha256=JFk6O7tPDV79gqWYx5EL9PypOLUXdDJXrG1MOf4V5As,4683
90
90
  metalstack/api/v2/switch_pb2.py,sha256=lFMHbT_wBeXxkARE9a7ADa13oKtJNgaogI1gHVY5IdE,13891
91
91
  metalstack/api/v2/switch_pb2.pyi,sha256=aj5RCYEpz75dr5JO83ubuJlvsoyaOPNYAVZ2ER4Tw50,6537
92
92
  metalstack/api/v2/switch_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
93
93
  metalstack/api/v2/tenant_connecpy.py,sha256=0a9Slig_pekWrIhDkjaO849NOA1eTjarDt8_9igQEAA,43391
94
- metalstack/api/v2/tenant_pb2.py,sha256=I9XpMEGcrh_v6wfWkaITH0omj_6pseV8CpGXkzRyl_U,17759
95
- metalstack/api/v2/tenant_pb2.pyi,sha256=IuD3Gl2CBCeYbsRFhwbzT0NGKrYIxnkVSoc5fOxuvI0,10430
94
+ metalstack/api/v2/tenant_pb2.py,sha256=D9SRcQqsi-3ykojx7kg2inGXr_0Z3E6DMhU6iMf97lc,17881
95
+ metalstack/api/v2/tenant_pb2.pyi,sha256=K17P1bRuqN3dpKnsoQa7e8SneUTUMnFYz9EkWEjrvXU,10574
96
96
  metalstack/api/v2/tenant_pb2_grpc.py,sha256=0QHbY6-5jsBQnalCUzvGGt8Ai0DYhCRfnj98Qyk3_aE,24145
97
97
  metalstack/api/v2/token_connecpy.py,sha256=einvLvhSxQsWvDUfzqmaVAIBrG9KCfi3jZurDHZDTBU,21936
98
98
  metalstack/api/v2/token_pb2.py,sha256=Z0SVCzoBe79c8bFUZM5K70LGMDQITFh65DRyi086Lg0,18202
@@ -118,7 +118,7 @@ metalstack/infra/v2/switch_connecpy.py,sha256=7EedMx1yG2DqAlT0ZOG-nUS7KtefHxDjXN
118
118
  metalstack/infra/v2/switch_pb2.py,sha256=i7FQr30JthjD8VcKS0KT4-bdzBKSV9AelGjZKhvp_Ic,3068
119
119
  metalstack/infra/v2/switch_pb2.pyi,sha256=keDojB2U7IW7kDoEj12ckSrGK3kR8PZhRpepN7HwuB4,890
120
120
  metalstack/infra/v2/switch_pb2_grpc.py,sha256=Upgjj1YATjaac6vTK8eAeFH7apuSJTiFPB-4BXxj6rc,3010
121
- metal_stack_api-0.0.18.dist-info/METADATA,sha256=-gHpUZgpeIHg_P1bjhCPOjiN0U5An1yYhZt7kQ9m0mk,832
122
- metal_stack_api-0.0.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
123
- metal_stack_api-0.0.18.dist-info/top_level.txt,sha256=EVrYyUiIjmWi5LomfJxKYph7kX6cNdnKbpVLXUKG3M0,15
124
- metal_stack_api-0.0.18.dist-info/RECORD,,
121
+ metal_stack_api-0.0.19.dist-info/METADATA,sha256=P3PUDeHLOsicTdeAor-CzRnxPDhE-cePE5qbogzdsVE,832
122
+ metal_stack_api-0.0.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
123
+ metal_stack_api-0.0.19.dist-info/top_level.txt,sha256=EVrYyUiIjmWi5LomfJxKYph7kX6cNdnKbpVLXUKG3M0,15
124
+ metal_stack_api-0.0.19.dist-info/RECORD,,
@@ -26,7 +26,7 @@ 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
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"metalstack/api/v2/filesystem.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"9\n\x1b\x46ilesystemServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"F\n\x1c\x46ilesystemServiceListRequest\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x42\x05\n\x03_id\"p\n\x1c\x46ilesystemServiceGetResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"s\n\x1d\x46ilesystemServiceListResponse\x12R\n\x12\x66ilesystem_layouts\x18\x01 \x03(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x11\x66ilesystemLayouts\"\xdb\x01\n\x1d\x46ilesystemServiceMatchRequest\x12L\n\x0esize_and_image\x18\x01 \x01(\x0b\x32$.metalstack.api.v2.MatchImageAndSizeH\x00R\x0csizeAndImage\x12\x63\n\x1cmachine_and_filesystemlayout\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MatchMachineH\x00R\x1amachineAndFilesystemlayoutB\x07\n\x05match\"U\n\x11MatchImageAndSize\x12\x1e\n\x04size\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04size\x12 \n\x05image\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05image\"k\n\x0cMatchMachine\x12\"\n\x07machine\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07machine\x12\x37\n\x11\x66ilesystem_layout\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x10\x66ilesystemLayout\"p\n\x1c\x46ilesystemServiceTryResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"r\n\x1e\x46ilesystemServiceMatchResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"\xcb\x04\n\x10\x46ilesystemLayout\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\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\"\xc2\x01\n\x1b\x46ilesystemLayoutConstraints\x12\x14\n\x05sizes\x18\x01 \x03(\tR\x05sizes\x12R\n\x06images\x18\x02 \x03(\x0b\x32:.metalstack.api.v2.FilesystemLayoutConstraints.ImagesEntryR\x06images\x1a\x39\n\x0bImagesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb6\x03\n\nFilesystem\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12>\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\x19.metalstack.api.v2.FormatB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x06\x66ormat\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\x04path\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80 H\x02R\x04path\x88\x01\x01\x12%\n\x05label\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05label\x88\x01\x01\x12\x38\n\rmount_options\x18\x07 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\x0cmountOptions\x12:\n\x0e\x63reate_options\x18\x08 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptionsB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_pathB\x08\n\x06_label\"l\n\x04\x44isk\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12@\n\npartitions\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.DiskPartitionR\npartitions\"\xd4\x01\n\x04Raid\x12\x1d\n\narray_name\x18\x01 \x01(\tR\tarrayName\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12?\n\x05level\x18\x03 \x01(\x0e\x32\x1c.metalstack.api.v2.RaidLevelB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x05level\x12:\n\x0e\x63reate_options\x18\x04 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptions\x12\x16\n\x06spares\x18\x05 \x01(\x05R\x06spares\"\xb6\x01\n\rDiskPartition\x12\x16\n\x06number\x18\x01 \x01(\rR\x06number\x12\x19\n\x05label\x18\x02 \x01(\tH\x00R\x05label\x88\x01\x01\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12G\n\x08gpt_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.GPTTypeB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01H\x01R\x07gptType\x88\x01\x01\x42\x08\n\x06_labelB\x0b\n\t_gpt_type\"[\n\x0bVolumeGroup\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\"\xb3\x01\n\rLogicalVolume\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12-\n\x0cvolume_group\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0bvolumeGroup\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12?\n\x08lvm_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.LVMTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07lvmType*\x86\x01\n\x07LVMType\x12\x18\n\x14LVM_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x0fLVM_TYPE_LINEAR\x10\x01\x1a\n\x82\xb2\x19\x06linear\x12!\n\x10LVM_TYPE_STRIPED\x10\x02\x1a\x0b\x82\xb2\x19\x07striped\x12\x1d\n\x0eLVM_TYPE_RAID1\x10\x03\x1a\t\x82\xb2\x19\x05raid1*\xc4\x01\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x19\n\x0b\x46ORMAT_VFAT\x10\x01\x1a\x08\x82\xb2\x19\x04vfat\x12\x19\n\x0b\x46ORMAT_EXT3\x10\x02\x1a\x08\x82\xb2\x19\x04\x65xt3\x12\x19\n\x0b\x46ORMAT_EXT4\x10\x03\x1a\x08\x82\xb2\x19\x04\x65xt4\x12\x19\n\x0b\x46ORMAT_SWAP\x10\x04\x1a\x08\x82\xb2\x19\x04swap\x12\x1b\n\x0c\x46ORMAT_TMPFS\x10\x05\x1a\t\x82\xb2\x19\x05tmpfs\x12\x19\n\x0b\x46ORMAT_NONE\x10\x06\x1a\x08\x82\xb2\x19\x04none*\xa3\x01\n\x07GPTType\x12\x18\n\x14GPT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rGPT_TYPE_BOOT\x10\x01\x1a\x08\x82\xb2\x19\x04\x65\x66\x30\x30\x12\x1c\n\x0eGPT_TYPE_LINUX\x10\x02\x1a\x08\x82\xb2\x19\x04\x38\x33\x30\x30\x12!\n\x13GPT_TYPE_LINUX_RAID\x10\x03\x1a\x08\x82\xb2\x19\x04\x66\x64\x30\x30\x12 \n\x12GPT_TYPE_LINUX_LVM\x10\x04\x1a\x08\x82\xb2\x19\x04\x38\x65\x30\x30*K\n\tRaidLevel\x12\x1a\n\x16RAID_LEVEL_UNSPECIFIED\x10\x00\x12\x10\n\x0cRAID_LEVEL_0\x10\x01\x12\x10\n\x0cRAID_LEVEL_1\x10\x02\x32\xf2\x02\n\x11\x46ilesystemService\x12p\n\x03Get\x12..metalstack.api.v2.FilesystemServiceGetRequest\x1a/.metalstack.api.v2.FilesystemServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12s\n\x04List\x12/.metalstack.api.v2.FilesystemServiceListRequest\x1a\x30.metalstack.api.v2.FilesystemServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12v\n\x05Match\x12\x30.metalstack.api.v2.FilesystemServiceMatchRequest\x1a\x31.metalstack.api.v2.FilesystemServiceMatchResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc5\x01\n\x15\x63om.metalstack.api.v2B\x0f\x46ilesystemProtoP\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')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"metalstack/api/v2/filesystem.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"9\n\x1b\x46ilesystemServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"F\n\x1c\x46ilesystemServiceListRequest\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x42\x05\n\x03_id\"p\n\x1c\x46ilesystemServiceGetResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"s\n\x1d\x46ilesystemServiceListResponse\x12R\n\x12\x66ilesystem_layouts\x18\x01 \x03(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x11\x66ilesystemLayouts\"\xdb\x01\n\x1d\x46ilesystemServiceMatchRequest\x12L\n\x0esize_and_image\x18\x01 \x01(\x0b\x32$.metalstack.api.v2.MatchImageAndSizeH\x00R\x0csizeAndImage\x12\x63\n\x1cmachine_and_filesystemlayout\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MatchMachineH\x00R\x1amachineAndFilesystemlayoutB\x07\n\x05match\"U\n\x11MatchImageAndSize\x12\x1e\n\x04size\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04size\x12 \n\x05image\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05image\"k\n\x0cMatchMachine\x12\"\n\x07machine\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07machine\x12\x37\n\x11\x66ilesystem_layout\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x10\x66ilesystemLayout\"r\n\x1e\x46ilesystemServiceMatchResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"\xcb\x04\n\x10\x46ilesystemLayout\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\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\"\xc2\x01\n\x1b\x46ilesystemLayoutConstraints\x12\x14\n\x05sizes\x18\x01 \x03(\tR\x05sizes\x12R\n\x06images\x18\x02 \x03(\x0b\x32:.metalstack.api.v2.FilesystemLayoutConstraints.ImagesEntryR\x06images\x1a\x39\n\x0bImagesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb6\x03\n\nFilesystem\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12>\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\x19.metalstack.api.v2.FormatB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x06\x66ormat\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\x04path\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80 H\x02R\x04path\x88\x01\x01\x12%\n\x05label\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05label\x88\x01\x01\x12\x38\n\rmount_options\x18\x07 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\x0cmountOptions\x12:\n\x0e\x63reate_options\x18\x08 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptionsB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_pathB\x08\n\x06_label\"l\n\x04\x44isk\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12@\n\npartitions\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.DiskPartitionR\npartitions\"\xd4\x01\n\x04Raid\x12\x1d\n\narray_name\x18\x01 \x01(\tR\tarrayName\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12?\n\x05level\x18\x03 \x01(\x0e\x32\x1c.metalstack.api.v2.RaidLevelB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x05level\x12:\n\x0e\x63reate_options\x18\x04 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptions\x12\x16\n\x06spares\x18\x05 \x01(\x05R\x06spares\"\xb6\x01\n\rDiskPartition\x12\x16\n\x06number\x18\x01 \x01(\rR\x06number\x12\x19\n\x05label\x18\x02 \x01(\tH\x00R\x05label\x88\x01\x01\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12G\n\x08gpt_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.GPTTypeB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01H\x01R\x07gptType\x88\x01\x01\x42\x08\n\x06_labelB\x0b\n\t_gpt_type\"[\n\x0bVolumeGroup\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\"\xb3\x01\n\rLogicalVolume\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12-\n\x0cvolume_group\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0bvolumeGroup\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12?\n\x08lvm_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.LVMTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07lvmType*\x86\x01\n\x07LVMType\x12\x18\n\x14LVM_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x0fLVM_TYPE_LINEAR\x10\x01\x1a\n\x82\xb2\x19\x06linear\x12!\n\x10LVM_TYPE_STRIPED\x10\x02\x1a\x0b\x82\xb2\x19\x07striped\x12\x1d\n\x0eLVM_TYPE_RAID1\x10\x03\x1a\t\x82\xb2\x19\x05raid1*\xc4\x01\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x19\n\x0b\x46ORMAT_VFAT\x10\x01\x1a\x08\x82\xb2\x19\x04vfat\x12\x19\n\x0b\x46ORMAT_EXT3\x10\x02\x1a\x08\x82\xb2\x19\x04\x65xt3\x12\x19\n\x0b\x46ORMAT_EXT4\x10\x03\x1a\x08\x82\xb2\x19\x04\x65xt4\x12\x19\n\x0b\x46ORMAT_SWAP\x10\x04\x1a\x08\x82\xb2\x19\x04swap\x12\x1b\n\x0c\x46ORMAT_TMPFS\x10\x05\x1a\t\x82\xb2\x19\x05tmpfs\x12\x19\n\x0b\x46ORMAT_NONE\x10\x06\x1a\x08\x82\xb2\x19\x04none*\xa3\x01\n\x07GPTType\x12\x18\n\x14GPT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rGPT_TYPE_BOOT\x10\x01\x1a\x08\x82\xb2\x19\x04\x65\x66\x30\x30\x12\x1c\n\x0eGPT_TYPE_LINUX\x10\x02\x1a\x08\x82\xb2\x19\x04\x38\x33\x30\x30\x12!\n\x13GPT_TYPE_LINUX_RAID\x10\x03\x1a\x08\x82\xb2\x19\x04\x66\x64\x30\x30\x12 \n\x12GPT_TYPE_LINUX_LVM\x10\x04\x1a\x08\x82\xb2\x19\x04\x38\x65\x30\x30*K\n\tRaidLevel\x12\x1a\n\x16RAID_LEVEL_UNSPECIFIED\x10\x00\x12\x10\n\x0cRAID_LEVEL_0\x10\x01\x12\x10\n\x0cRAID_LEVEL_1\x10\x02\x32\xf2\x02\n\x11\x46ilesystemService\x12p\n\x03Get\x12..metalstack.api.v2.FilesystemServiceGetRequest\x1a/.metalstack.api.v2.FilesystemServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12s\n\x04List\x12/.metalstack.api.v2.FilesystemServiceListRequest\x1a\x30.metalstack.api.v2.FilesystemServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12v\n\x05Match\x12\x30.metalstack.api.v2.FilesystemServiceMatchRequest\x1a\x31.metalstack.api.v2.FilesystemServiceMatchResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc5\x01\n\x15\x63om.metalstack.api.v2B\x0f\x46ilesystemProtoP\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')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -118,14 +118,14 @@ if not _descriptor._USE_C_DESCRIPTORS:
118
118
  _globals['_FILESYSTEMSERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003\340\363\030\002'
119
119
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Match']._loaded_options = None
120
120
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Match']._serialized_options = b'\330\363\030\003\340\363\030\002'
121
- _globals['_LVMTYPE']._serialized_start=3142
122
- _globals['_LVMTYPE']._serialized_end=3276
123
- _globals['_FORMAT']._serialized_start=3279
124
- _globals['_FORMAT']._serialized_end=3475
125
- _globals['_GPTTYPE']._serialized_start=3478
126
- _globals['_GPTTYPE']._serialized_end=3641
127
- _globals['_RAIDLEVEL']._serialized_start=3643
128
- _globals['_RAIDLEVEL']._serialized_end=3718
121
+ _globals['_LVMTYPE']._serialized_start=3028
122
+ _globals['_LVMTYPE']._serialized_end=3162
123
+ _globals['_FORMAT']._serialized_start=3165
124
+ _globals['_FORMAT']._serialized_end=3361
125
+ _globals['_GPTTYPE']._serialized_start=3364
126
+ _globals['_GPTTYPE']._serialized_end=3527
127
+ _globals['_RAIDLEVEL']._serialized_start=3529
128
+ _globals['_RAIDLEVEL']._serialized_end=3604
129
129
  _globals['_FILESYSTEMSERVICEGETREQUEST']._serialized_start=118
130
130
  _globals['_FILESYSTEMSERVICEGETREQUEST']._serialized_end=175
131
131
  _globals['_FILESYSTEMSERVICELISTREQUEST']._serialized_start=177
@@ -140,28 +140,26 @@ if not _descriptor._USE_C_DESCRIPTORS:
140
140
  _globals['_MATCHIMAGEANDSIZE']._serialized_end=787
141
141
  _globals['_MATCHMACHINE']._serialized_start=789
142
142
  _globals['_MATCHMACHINE']._serialized_end=896
143
- _globals['_FILESYSTEMSERVICETRYRESPONSE']._serialized_start=898
144
- _globals['_FILESYSTEMSERVICETRYRESPONSE']._serialized_end=1010
145
- _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_start=1012
146
- _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_end=1126
147
- _globals['_FILESYSTEMLAYOUT']._serialized_start=1129
148
- _globals['_FILESYSTEMLAYOUT']._serialized_end=1716
149
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_start=1719
150
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_end=1913
151
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_start=1856
152
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_end=1913
153
- _globals['_FILESYSTEM']._serialized_start=1916
154
- _globals['_FILESYSTEM']._serialized_end=2354
155
- _globals['_DISK']._serialized_start=2356
156
- _globals['_DISK']._serialized_end=2464
157
- _globals['_RAID']._serialized_start=2467
158
- _globals['_RAID']._serialized_end=2679
159
- _globals['_DISKPARTITION']._serialized_start=2682
160
- _globals['_DISKPARTITION']._serialized_end=2864
161
- _globals['_VOLUMEGROUP']._serialized_start=2866
162
- _globals['_VOLUMEGROUP']._serialized_end=2957
163
- _globals['_LOGICALVOLUME']._serialized_start=2960
164
- _globals['_LOGICALVOLUME']._serialized_end=3139
165
- _globals['_FILESYSTEMSERVICE']._serialized_start=3721
166
- _globals['_FILESYSTEMSERVICE']._serialized_end=4091
143
+ _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_start=898
144
+ _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_end=1012
145
+ _globals['_FILESYSTEMLAYOUT']._serialized_start=1015
146
+ _globals['_FILESYSTEMLAYOUT']._serialized_end=1602
147
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_start=1605
148
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_end=1799
149
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_start=1742
150
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_end=1799
151
+ _globals['_FILESYSTEM']._serialized_start=1802
152
+ _globals['_FILESYSTEM']._serialized_end=2240
153
+ _globals['_DISK']._serialized_start=2242
154
+ _globals['_DISK']._serialized_end=2350
155
+ _globals['_RAID']._serialized_start=2353
156
+ _globals['_RAID']._serialized_end=2565
157
+ _globals['_DISKPARTITION']._serialized_start=2568
158
+ _globals['_DISKPARTITION']._serialized_end=2750
159
+ _globals['_VOLUMEGROUP']._serialized_start=2752
160
+ _globals['_VOLUMEGROUP']._serialized_end=2843
161
+ _globals['_LOGICALVOLUME']._serialized_start=2846
162
+ _globals['_LOGICALVOLUME']._serialized_end=3025
163
+ _globals['_FILESYSTEMSERVICE']._serialized_start=3607
164
+ _globals['_FILESYSTEMSERVICE']._serialized_end=3977
167
165
  # @@protoc_insertion_point(module_scope)
@@ -107,12 +107,6 @@ class MatchMachine(_message.Message):
107
107
  filesystem_layout: str
108
108
  def __init__(self, machine: _Optional[str] = ..., filesystem_layout: _Optional[str] = ...) -> None: ...
109
109
 
110
- class FilesystemServiceTryResponse(_message.Message):
111
- __slots__ = ("filesystem_layout",)
112
- FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
113
- filesystem_layout: FilesystemLayout
114
- def __init__(self, filesystem_layout: _Optional[_Union[FilesystemLayout, _Mapping]] = ...) -> None: ...
115
-
116
110
  class FilesystemServiceMatchResponse(_message.Message):
117
111
  __slots__ = ("filesystem_layout",)
118
112
  FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
@@ -27,7 +27,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
27
27
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/api/v2/image.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"4\n\x16ImageServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"N\n\x17ImageServiceListRequest\x12\x33\n\x05query\x18\x01 \x01(\x0b\x32\x1d.metalstack.api.v2.ImageQueryR\x05query\"+\n\x19ImageServiceLatestRequest\x12\x0e\n\x02os\x18\x01 \x01(\tR\x02os\"I\n\x17ImageServiceGetResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"L\n\x18ImageServiceListResponse\x12\x30\n\x06images\x18\x01 \x03(\x0b\x32\x18.metalstack.api.v2.ImageR\x06images\"L\n\x1aImageServiceLatestResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"\xa8\x04\n\x05Image\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12J\n\x03url\x18\x03 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x03url\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\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\x07\n\x05_nameB\x0e\n\x0c_description\"U\n\nImageUsage\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12\x17\n\x07used_by\x18\x02 \x03(\tR\x06usedBy\"\xcc\x03\n\nImageQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12\x1f\n\x02os\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x02os\x88\x01\x01\x12)\n\x07version\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01H\x02R\x07version\x88\x01\x01\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x0b\x64\x65scription\x88\x01\x01\x12H\n\x07\x66\x65\x61ture\x18\x06 \x01(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x07\x66\x65\x61ture\x88\x01\x01\x12]\n\x0e\x63lassification\x18\x07 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x63lassification\x88\x01\x01\x42\x05\n\x03_idB\x05\n\x03_osB\n\n\x08_versionB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\n\n\x08_featureB\x11\n\x0f_classification*\x7f\n\x0cImageFeature\x12\x1d\n\x19IMAGE_FEATURE_UNSPECIFIED\x10\x00\x12&\n\x15IMAGE_FEATURE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12(\n\x16IMAGE_FEATURE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xd2\x01\n\x13ImageClassification\x12$\n IMAGE_CLASSIFICATION_UNSPECIFIED\x10\x00\x12-\n\x1cIMAGE_CLASSIFICATION_PREVIEW\x10\x01\x1a\x0b\x82\xb2\x19\x07preview\x12\x31\n\x1eIMAGE_CLASSIFICATION_SUPPORTED\x10\x02\x1a\r\x82\xb2\x19\tsupported\x12\x33\n\x1fIMAGE_CLASSIFICATION_DEPRECATED\x10\x03\x1a\x0e\x82\xb2\x19\ndeprecated2\xd2\x02\n\x0cImageService\x12\x66\n\x03Get\x12).metalstack.api.v2.ImageServiceGetRequest\x1a*.metalstack.api.v2.ImageServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12i\n\x04List\x12*.metalstack.api.v2.ImageServiceListRequest\x1a+.metalstack.api.v2.ImageServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12o\n\x06Latest\x12,.metalstack.api.v2.ImageServiceLatestRequest\x1a-.metalstack.api.v2.ImageServiceLatestResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc0\x01\n\x15\x63om.metalstack.api.v2B\nImageProtoP\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')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/api/v2/image.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"4\n\x16ImageServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"N\n\x17ImageServiceListRequest\x12\x33\n\x05query\x18\x01 \x01(\x0b\x32\x1d.metalstack.api.v2.ImageQueryR\x05query\"+\n\x19ImageServiceLatestRequest\x12\x0e\n\x02os\x18\x01 \x01(\tR\x02os\"I\n\x17ImageServiceGetResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"L\n\x18ImageServiceListResponse\x12\x30\n\x06images\x18\x01 \x03(\x0b\x32\x18.metalstack.api.v2.ImageR\x06images\"L\n\x1aImageServiceLatestResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"\xa8\x04\n\x05Image\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12J\n\x03url\x18\x03 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x03url\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\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\x07\n\x05_nameB\x0e\n\x0c_description\"U\n\nImageUsage\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12\x17\n\x07used_by\x18\x02 \x03(\tR\x06usedBy\"\xe8\x04\n\nImageQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12\x1f\n\x02os\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x02os\x88\x01\x01\x12)\n\x07version\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01H\x02R\x07version\x88\x01\x01\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x0b\x64\x65scription\x88\x01\x01\x12O\n\x03url\x18\x06 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()H\x05R\x03url\x88\x01\x01\x12H\n\x07\x66\x65\x61ture\x18\x07 \x01(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x07\x66\x65\x61ture\x88\x01\x01\x12]\n\x0e\x63lassification\x18\x08 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x07R\x0e\x63lassification\x88\x01\x01\x12\x36\n\x06labels\x18\t \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x08R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x05\n\x03_osB\n\n\x08_versionB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x06\n\x04_urlB\n\n\x08_featureB\x11\n\x0f_classificationB\t\n\x07_labels*\x7f\n\x0cImageFeature\x12\x1d\n\x19IMAGE_FEATURE_UNSPECIFIED\x10\x00\x12&\n\x15IMAGE_FEATURE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12(\n\x16IMAGE_FEATURE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xd2\x01\n\x13ImageClassification\x12$\n IMAGE_CLASSIFICATION_UNSPECIFIED\x10\x00\x12-\n\x1cIMAGE_CLASSIFICATION_PREVIEW\x10\x01\x1a\x0b\x82\xb2\x19\x07preview\x12\x31\n\x1eIMAGE_CLASSIFICATION_SUPPORTED\x10\x02\x1a\r\x82\xb2\x19\tsupported\x12\x33\n\x1fIMAGE_CLASSIFICATION_DEPRECATED\x10\x03\x1a\x0e\x82\xb2\x19\ndeprecated2\xd2\x02\n\x0cImageService\x12\x66\n\x03Get\x12).metalstack.api.v2.ImageServiceGetRequest\x1a*.metalstack.api.v2.ImageServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12i\n\x04List\x12*.metalstack.api.v2.ImageServiceListRequest\x1a+.metalstack.api.v2.ImageServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12o\n\x06Latest\x12,.metalstack.api.v2.ImageServiceLatestRequest\x1a-.metalstack.api.v2.ImageServiceLatestResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc0\x01\n\x15\x63om.metalstack.api.v2B\nImageProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -69,6 +69,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
69
69
  _globals['_IMAGEQUERY'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
70
70
  _globals['_IMAGEQUERY'].fields_by_name['description']._loaded_options = None
71
71
  _globals['_IMAGEQUERY'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
72
+ _globals['_IMAGEQUERY'].fields_by_name['url']._loaded_options = None
73
+ _globals['_IMAGEQUERY'].fields_by_name['url']._serialized_options = b'\272H5\272\0012\n\tvalid_url\022\027url must be a valid URI\032\014this.isUri()'
72
74
  _globals['_IMAGEQUERY'].fields_by_name['feature']._loaded_options = None
73
75
  _globals['_IMAGEQUERY'].fields_by_name['feature']._serialized_options = b'\272H\005\202\001\002\020\001'
74
76
  _globals['_IMAGEQUERY'].fields_by_name['classification']._loaded_options = None
@@ -79,10 +81,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
79
81
  _globals['_IMAGESERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003\340\363\030\002'
80
82
  _globals['_IMAGESERVICE'].methods_by_name['Latest']._loaded_options = None
81
83
  _globals['_IMAGESERVICE'].methods_by_name['Latest']._serialized_options = b'\330\363\030\003\340\363\030\002'
82
- _globals['_IMAGEFEATURE']._serialized_start=1661
83
- _globals['_IMAGEFEATURE']._serialized_end=1788
84
- _globals['_IMAGECLASSIFICATION']._serialized_start=1791
85
- _globals['_IMAGECLASSIFICATION']._serialized_end=2001
84
+ _globals['_IMAGEFEATURE']._serialized_start=1817
85
+ _globals['_IMAGEFEATURE']._serialized_end=1944
86
+ _globals['_IMAGECLASSIFICATION']._serialized_start=1947
87
+ _globals['_IMAGECLASSIFICATION']._serialized_end=2157
86
88
  _globals['_IMAGESERVICEGETREQUEST']._serialized_start=146
87
89
  _globals['_IMAGESERVICEGETREQUEST']._serialized_end=198
88
90
  _globals['_IMAGESERVICELISTREQUEST']._serialized_start=200
@@ -100,7 +102,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
100
102
  _globals['_IMAGEUSAGE']._serialized_start=1111
101
103
  _globals['_IMAGEUSAGE']._serialized_end=1196
102
104
  _globals['_IMAGEQUERY']._serialized_start=1199
103
- _globals['_IMAGEQUERY']._serialized_end=1659
104
- _globals['_IMAGESERVICE']._serialized_start=2004
105
- _globals['_IMAGESERVICE']._serialized_end=2342
105
+ _globals['_IMAGEQUERY']._serialized_end=1815
106
+ _globals['_IMAGESERVICE']._serialized_start=2160
107
+ _globals['_IMAGESERVICE']._serialized_end=2498
106
108
  # @@protoc_insertion_point(module_scope)
@@ -97,19 +97,23 @@ class ImageUsage(_message.Message):
97
97
  def __init__(self, image: _Optional[_Union[Image, _Mapping]] = ..., used_by: _Optional[_Iterable[str]] = ...) -> None: ...
98
98
 
99
99
  class ImageQuery(_message.Message):
100
- __slots__ = ("id", "os", "version", "name", "description", "feature", "classification")
100
+ __slots__ = ("id", "os", "version", "name", "description", "url", "feature", "classification", "labels")
101
101
  ID_FIELD_NUMBER: _ClassVar[int]
102
102
  OS_FIELD_NUMBER: _ClassVar[int]
103
103
  VERSION_FIELD_NUMBER: _ClassVar[int]
104
104
  NAME_FIELD_NUMBER: _ClassVar[int]
105
105
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
106
+ URL_FIELD_NUMBER: _ClassVar[int]
106
107
  FEATURE_FIELD_NUMBER: _ClassVar[int]
107
108
  CLASSIFICATION_FIELD_NUMBER: _ClassVar[int]
109
+ LABELS_FIELD_NUMBER: _ClassVar[int]
108
110
  id: str
109
111
  os: str
110
112
  version: str
111
113
  name: str
112
114
  description: str
115
+ url: str
113
116
  feature: ImageFeature
114
117
  classification: ImageClassification
115
- def __init__(self, id: _Optional[str] = ..., os: _Optional[str] = ..., version: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., feature: _Optional[_Union[ImageFeature, str]] = ..., classification: _Optional[_Union[ImageClassification, str]] = ...) -> None: ...
118
+ labels: _common_pb2.Labels
119
+ def __init__(self, id: _Optional[str] = ..., os: _Optional[str] = ..., version: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., url: _Optional[str] = ..., feature: _Optional[_Union[ImageFeature, str]] = ..., classification: _Optional[_Union[ImageClassification, str]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
@@ -26,7 +26,7 @@ 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
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/network.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"Z\n\x18NetworkServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xad\x04\n\x1bNetworkServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12\x36\n\x0eparent_network\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\rparentNetwork\x88\x01\x01\x12\x41\n\x06length\x18\x07 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x08 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\x97\x02\n\x1bNetworkServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\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\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"v\n\x19NetworkServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"\x82\x01\n%NetworkServiceListBaseNetworksRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"`\n&NetworkServiceListBaseNetworksResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"]\n\x1bNetworkServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xed\n\n\x07Network\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\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\tpartition\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\tnamespace\x88\x01\x01\x12\x1a\n\x08prefixes\x18\x08 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\t \x03(\tR\x13\x64\x65stinationPrefixes\x12\x63\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\n \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x18\x64\x65\x66\x61ultChildPrefixLength\x12[\n\x17min_child_prefix_length\x18\x0b \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x07natType\x88\x01\x01\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x36\n\x0eparent_network\x18\x0f \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x08R\rparentNetwork\x88\x01\x01\x12@\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tR\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumption:\xd5\x02\xbaH\xd1\x02\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())\x1a\x8a\x01\n\x1c\x61\x64\x64itional_announcable_cidrs\x12\x30given additional_announcable_cidrs must be valid\x1a\x38this.additional_announcable_cidrs.all(m, m.isIpPrefix())B\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x07\n\x05_typeB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\x9c\x08\n\x0cNetworkQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\tnamespace\x88\x01\x01\x12\x1a\n\x08prefixes\x18\x07 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tR\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12\x36\n\x0eparent_network\x18\n \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x07R\rparentNetwork\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x0b \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\raddressFamily\x88\x01\x01\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\x07natType\x88\x01\x01\x12\x31\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels:\xc8\x01\xbaH\xc4\x01\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())B\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\x11\n\x0f_address_familyB\x07\n\x05_typeB\x0b\n\t_nat_type\"n\n\x11\x43hildPrefixLength\x12\"\n\x04ipv4\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x18 \x00H\x00R\x04ipv4\x88\x01\x01\x12#\n\x04ipv6\x18\x02 \x01(\rB\n\xbaH\x07*\x05\x18\x80\x01 \x00H\x01R\x04ipv6\x88\x01\x01\x42\x07\n\x05_ipv4B\x07\n\x05_ipv6\"~\n\x12NetworkConsumption\x12\x33\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv4\x12\x33\n\x04ipv6\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv6\"\xa2\x01\n\x0cNetworkUsage\x12#\n\ravailable_ips\x18\x02 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x03 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x04 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x05 \x01(\x04R\x0cusedPrefixes*m\n\x07NATType\x12\x18\n\x14NAT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rNAT_TYPE_NONE\x10\x01\x1a\x08\x82\xb2\x19\x04none\x12+\n\x18NAT_TYPE_IPV4_MASQUERADE\x10\x02\x1a\r\x82\xb2\x19\tipv4-masq*\xad\x02\n\x0bNetworkType\x12\x1c\n\x18NETWORK_TYPE_UNSPECIFIED\x10\x00\x12\'\n\x15NETWORK_TYPE_EXTERNAL\x10\x01\x1a\x0c\x82\xb2\x19\x08\x65xternal\x12\'\n\x15NETWORK_TYPE_UNDERLAY\x10\x02\x1a\x0c\x82\xb2\x19\x08underlay\x12!\n\x12NETWORK_TYPE_SUPER\x10\x03\x1a\t\x82\xb2\x19\x05super\x12\x37\n\x1dNETWORK_TYPE_SUPER_NAMESPACED\x10\x04\x1a\x14\x82\xb2\x19\x10super-namespaced\x12!\n\x12NETWORK_TYPE_CHILD\x10\x05\x1a\t\x82\xb2\x19\x05\x63hild\x12/\n\x19NETWORK_TYPE_CHILD_SHARED\x10\x06\x1a\x10\x82\xb2\x19\x0c\x63hild-shared*\xc7\x01\n\x14NetworkAddressFamily\x12&\n\"NETWORK_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv6\x12\x35\n!NETWORK_ADDRESS_FAMILY_DUAL_STACK\x10\x03\x1a\x0e\x82\xb2\x19\ndual-stack2\xe1\x05\n\x0eNetworkService\x12m\n\x03Get\x12+.metalstack.api.v2.NetworkServiceGetRequest\x1a,.metalstack.api.v2.NetworkServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.NetworkServiceListRequest\x1a-.metalstack.api.v2.NetworkServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x94\x01\n\x10ListBaseNetworks\x12\x38.metalstack.api.v2.NetworkServiceListBaseNetworksRequest\x1a\x39.metalstack.api.v2.NetworkServiceListBaseNetworksResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cNetworkProtoP\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')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/network.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"Z\n\x18NetworkServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xad\x04\n\x1bNetworkServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12\x36\n\x0eparent_network\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\rparentNetwork\x88\x01\x01\x12\x41\n\x06length\x18\x07 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x08 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\x97\x02\n\x1bNetworkServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\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\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"v\n\x19NetworkServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"\x82\x01\n%NetworkServiceListBaseNetworksRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"`\n&NetworkServiceListBaseNetworksResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"]\n\x1bNetworkServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xed\n\n\x07Network\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\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\tpartition\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\tnamespace\x88\x01\x01\x12\x1a\n\x08prefixes\x18\x08 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\t \x03(\tR\x13\x64\x65stinationPrefixes\x12\x63\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\n \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x18\x64\x65\x66\x61ultChildPrefixLength\x12[\n\x17min_child_prefix_length\x18\x0b \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x07natType\x88\x01\x01\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x36\n\x0eparent_network\x18\x0f \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x08R\rparentNetwork\x88\x01\x01\x12@\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tR\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumption:\xd5\x02\xbaH\xd1\x02\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())\x1a\x8a\x01\n\x1c\x61\x64\x64itional_announcable_cidrs\x12\x30given additional_announcable_cidrs must be valid\x1a\x38this.additional_announcable_cidrs.all(m, m.isIpPrefix())B\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x07\n\x05_typeB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\xac\x08\n\x0cNetworkQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\tnamespace\x88\x01\x01\x12\x1a\n\x08prefixes\x18\x07 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tR\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12\x36\n\x0eparent_network\x18\n \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x07R\rparentNetwork\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x0b \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\raddressFamily\x88\x01\x01\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\x07natType\x88\x01\x01\x12\x36\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x0bR\x06labels\x88\x01\x01:\xc8\x01\xbaH\xc4\x01\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())B\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\x11\n\x0f_address_familyB\x07\n\x05_typeB\x0b\n\t_nat_typeB\t\n\x07_labels\"n\n\x11\x43hildPrefixLength\x12\"\n\x04ipv4\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x18 \x00H\x00R\x04ipv4\x88\x01\x01\x12#\n\x04ipv6\x18\x02 \x01(\rB\n\xbaH\x07*\x05\x18\x80\x01 \x00H\x01R\x04ipv6\x88\x01\x01\x42\x07\n\x05_ipv4B\x07\n\x05_ipv6\"~\n\x12NetworkConsumption\x12\x33\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv4\x12\x33\n\x04ipv6\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv6\"\xa2\x01\n\x0cNetworkUsage\x12#\n\ravailable_ips\x18\x02 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x03 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x04 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x05 \x01(\x04R\x0cusedPrefixes*m\n\x07NATType\x12\x18\n\x14NAT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rNAT_TYPE_NONE\x10\x01\x1a\x08\x82\xb2\x19\x04none\x12+\n\x18NAT_TYPE_IPV4_MASQUERADE\x10\x02\x1a\r\x82\xb2\x19\tipv4-masq*\xad\x02\n\x0bNetworkType\x12\x1c\n\x18NETWORK_TYPE_UNSPECIFIED\x10\x00\x12\'\n\x15NETWORK_TYPE_EXTERNAL\x10\x01\x1a\x0c\x82\xb2\x19\x08\x65xternal\x12\'\n\x15NETWORK_TYPE_UNDERLAY\x10\x02\x1a\x0c\x82\xb2\x19\x08underlay\x12!\n\x12NETWORK_TYPE_SUPER\x10\x03\x1a\t\x82\xb2\x19\x05super\x12\x37\n\x1dNETWORK_TYPE_SUPER_NAMESPACED\x10\x04\x1a\x14\x82\xb2\x19\x10super-namespaced\x12!\n\x12NETWORK_TYPE_CHILD\x10\x05\x1a\t\x82\xb2\x19\x05\x63hild\x12/\n\x19NETWORK_TYPE_CHILD_SHARED\x10\x06\x1a\x10\x82\xb2\x19\x0c\x63hild-shared*\xc7\x01\n\x14NetworkAddressFamily\x12&\n\"NETWORK_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv6\x12\x35\n!NETWORK_ADDRESS_FAMILY_DUAL_STACK\x10\x03\x1a\x0e\x82\xb2\x19\ndual-stack2\xe1\x05\n\x0eNetworkService\x12m\n\x03Get\x12+.metalstack.api.v2.NetworkServiceGetRequest\x1a,.metalstack.api.v2.NetworkServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.NetworkServiceListRequest\x1a-.metalstack.api.v2.NetworkServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x94\x01\n\x10ListBaseNetworks\x12\x38.metalstack.api.v2.NetworkServiceListBaseNetworksRequest\x1a\x39.metalstack.api.v2.NetworkServiceListBaseNetworksResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cNetworkProtoP\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')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -146,12 +146,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
146
146
  _globals['_NETWORKSERVICE'].methods_by_name['ListBaseNetworks']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
147
147
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._loaded_options = None
148
148
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
149
- _globals['_NATTYPE']._serialized_start=4774
150
- _globals['_NATTYPE']._serialized_end=4883
151
- _globals['_NETWORKTYPE']._serialized_start=4886
152
- _globals['_NETWORKTYPE']._serialized_end=5187
153
- _globals['_NETWORKADDRESSFAMILY']._serialized_start=5190
154
- _globals['_NETWORKADDRESSFAMILY']._serialized_end=5389
149
+ _globals['_NATTYPE']._serialized_start=4790
150
+ _globals['_NATTYPE']._serialized_end=4899
151
+ _globals['_NETWORKTYPE']._serialized_start=4902
152
+ _globals['_NETWORKTYPE']._serialized_end=5203
153
+ _globals['_NETWORKADDRESSFAMILY']._serialized_start=5206
154
+ _globals['_NETWORKADDRESSFAMILY']._serialized_end=5405
155
155
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_start=115
156
156
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_end=205
157
157
  _globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=207
@@ -179,13 +179,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
179
179
  _globals['_NETWORK']._serialized_start=1923
180
180
  _globals['_NETWORK']._serialized_end=3312
181
181
  _globals['_NETWORKQUERY']._serialized_start=3315
182
- _globals['_NETWORKQUERY']._serialized_end=4367
183
- _globals['_CHILDPREFIXLENGTH']._serialized_start=4369
184
- _globals['_CHILDPREFIXLENGTH']._serialized_end=4479
185
- _globals['_NETWORKCONSUMPTION']._serialized_start=4481
186
- _globals['_NETWORKCONSUMPTION']._serialized_end=4607
187
- _globals['_NETWORKUSAGE']._serialized_start=4610
188
- _globals['_NETWORKUSAGE']._serialized_end=4772
189
- _globals['_NETWORKSERVICE']._serialized_start=5392
190
- _globals['_NETWORKSERVICE']._serialized_end=6129
182
+ _globals['_NETWORKQUERY']._serialized_end=4383
183
+ _globals['_CHILDPREFIXLENGTH']._serialized_start=4385
184
+ _globals['_CHILDPREFIXLENGTH']._serialized_end=4495
185
+ _globals['_NETWORKCONSUMPTION']._serialized_start=4497
186
+ _globals['_NETWORKCONSUMPTION']._serialized_end=4623
187
+ _globals['_NETWORKUSAGE']._serialized_start=4626
188
+ _globals['_NETWORKUSAGE']._serialized_end=4788
189
+ _globals['_NETWORKSERVICE']._serialized_start=5408
190
+ _globals['_NETWORKSERVICE']._serialized_end=6145
191
191
  # @@protoc_insertion_point(module_scope)
@@ -26,7 +26,7 @@ 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
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/api/v2/partition.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"\xa2\x03\n\tPartition\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12\\\n\x12\x62oot_configuration\x18\x04 \x01(\x0b\x32-.metalstack.api.v2.PartitionBootConfigurationR\x11\x62ootConfiguration\x12\x45\n\ndns_server\x18\x05 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x06 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12\x34\n\x16mgmt_service_addresses\x18\x07 \x03(\tR\x14mgmtServiceAddresses\"8\n\x0ePartitionQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x42\x05\n\x03_id\"\xee\x01\n\x1aPartitionBootConfiguration\x12U\n\timage_url\x18\x01 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x08imageUrl\x12W\n\nkernel_url\x18\x02 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\tkernelUrl\x12 \n\x0b\x63ommandline\x18\x03 \x01(\tR\x0b\x63ommandline\"$\n\tDNSServer\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\"/\n\tNTPServer\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07\x61\x64\x64ress\"8\n\x1aPartitionServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"V\n\x1bPartitionServiceListRequest\x12\x37\n\x05query\x18\x01 \x01(\x0b\x32!.metalstack.api.v2.PartitionQueryR\x05query\"Y\n\x1bPartitionServiceGetResponse\x12:\n\tpartition\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\"\\\n\x1cPartitionServiceListResponse\x12<\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.metalstack.api.v2.PartitionR\npartitions2\xf5\x01\n\x10PartitionService\x12n\n\x03Get\x12-.metalstack.api.v2.PartitionServiceGetRequest\x1a..metalstack.api.v2.PartitionServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12q\n\x04List\x12..metalstack.api.v2.PartitionServiceListRequest\x1a/.metalstack.api.v2.PartitionServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc4\x01\n\x15\x63om.metalstack.api.v2B\x0ePartitionProtoP\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')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/api/v2/partition.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"\xa2\x03\n\tPartition\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12\\\n\x12\x62oot_configuration\x18\x04 \x01(\x0b\x32-.metalstack.api.v2.PartitionBootConfigurationR\x11\x62ootConfiguration\x12\x45\n\ndns_server\x18\x05 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x06 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12\x34\n\x16mgmt_service_addresses\x18\x07 \x03(\tR\x14mgmtServiceAddresses\"{\n\x0ePartitionQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12\x36\n\x06labels\x18\x02 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x01R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\t\n\x07_labels\"\xee\x01\n\x1aPartitionBootConfiguration\x12U\n\timage_url\x18\x01 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x08imageUrl\x12W\n\nkernel_url\x18\x02 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\tkernelUrl\x12 \n\x0b\x63ommandline\x18\x03 \x01(\tR\x0b\x63ommandline\"$\n\tDNSServer\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\"/\n\tNTPServer\x12\"\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07\x61\x64\x64ress\"8\n\x1aPartitionServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"V\n\x1bPartitionServiceListRequest\x12\x37\n\x05query\x18\x01 \x01(\x0b\x32!.metalstack.api.v2.PartitionQueryR\x05query\"Y\n\x1bPartitionServiceGetResponse\x12:\n\tpartition\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\"\\\n\x1cPartitionServiceListResponse\x12<\n\npartitions\x18\x01 \x03(\x0b\x32\x1c.metalstack.api.v2.PartitionR\npartitions2\xf5\x01\n\x10PartitionService\x12n\n\x03Get\x12-.metalstack.api.v2.PartitionServiceGetRequest\x1a..metalstack.api.v2.PartitionServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12q\n\x04List\x12..metalstack.api.v2.PartitionServiceListRequest\x1a/.metalstack.api.v2.PartitionServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc4\x01\n\x15\x63om.metalstack.api.v2B\x0ePartitionProtoP\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')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -61,21 +61,21 @@ if not _descriptor._USE_C_DESCRIPTORS:
61
61
  _globals['_PARTITION']._serialized_start=118
62
62
  _globals['_PARTITION']._serialized_end=536
63
63
  _globals['_PARTITIONQUERY']._serialized_start=538
64
- _globals['_PARTITIONQUERY']._serialized_end=594
65
- _globals['_PARTITIONBOOTCONFIGURATION']._serialized_start=597
66
- _globals['_PARTITIONBOOTCONFIGURATION']._serialized_end=835
67
- _globals['_DNSSERVER']._serialized_start=837
68
- _globals['_DNSSERVER']._serialized_end=873
69
- _globals['_NTPSERVER']._serialized_start=875
70
- _globals['_NTPSERVER']._serialized_end=922
71
- _globals['_PARTITIONSERVICEGETREQUEST']._serialized_start=924
72
- _globals['_PARTITIONSERVICEGETREQUEST']._serialized_end=980
73
- _globals['_PARTITIONSERVICELISTREQUEST']._serialized_start=982
74
- _globals['_PARTITIONSERVICELISTREQUEST']._serialized_end=1068
75
- _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_start=1070
76
- _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_end=1159
77
- _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_start=1161
78
- _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_end=1253
79
- _globals['_PARTITIONSERVICE']._serialized_start=1256
80
- _globals['_PARTITIONSERVICE']._serialized_end=1501
64
+ _globals['_PARTITIONQUERY']._serialized_end=661
65
+ _globals['_PARTITIONBOOTCONFIGURATION']._serialized_start=664
66
+ _globals['_PARTITIONBOOTCONFIGURATION']._serialized_end=902
67
+ _globals['_DNSSERVER']._serialized_start=904
68
+ _globals['_DNSSERVER']._serialized_end=940
69
+ _globals['_NTPSERVER']._serialized_start=942
70
+ _globals['_NTPSERVER']._serialized_end=989
71
+ _globals['_PARTITIONSERVICEGETREQUEST']._serialized_start=991
72
+ _globals['_PARTITIONSERVICEGETREQUEST']._serialized_end=1047
73
+ _globals['_PARTITIONSERVICELISTREQUEST']._serialized_start=1049
74
+ _globals['_PARTITIONSERVICELISTREQUEST']._serialized_end=1135
75
+ _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_start=1137
76
+ _globals['_PARTITIONSERVICEGETRESPONSE']._serialized_end=1226
77
+ _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_start=1228
78
+ _globals['_PARTITIONSERVICELISTRESPONSE']._serialized_end=1320
79
+ _globals['_PARTITIONSERVICE']._serialized_start=1323
80
+ _globals['_PARTITIONSERVICE']._serialized_end=1568
81
81
  # @@protoc_insertion_point(module_scope)
@@ -27,10 +27,12 @@ class Partition(_message.Message):
27
27
  def __init__(self, id: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., description: _Optional[str] = ..., boot_configuration: _Optional[_Union[PartitionBootConfiguration, _Mapping]] = ..., dns_server: _Optional[_Iterable[_Union[DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[NTPServer, _Mapping]]] = ..., mgmt_service_addresses: _Optional[_Iterable[str]] = ...) -> None: ...
28
28
 
29
29
  class PartitionQuery(_message.Message):
30
- __slots__ = ("id",)
30
+ __slots__ = ("id", "labels")
31
31
  ID_FIELD_NUMBER: _ClassVar[int]
32
+ LABELS_FIELD_NUMBER: _ClassVar[int]
32
33
  id: str
33
- def __init__(self, id: _Optional[str] = ...) -> None: ...
34
+ labels: _common_pb2.Labels
35
+ def __init__(self, id: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
34
36
 
35
37
  class PartitionBootConfiguration(_message.Message):
36
38
  __slots__ = ("image_url", "kernel_url", "commandline")
@@ -27,7 +27,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
27
27
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"\xcb\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12\"\n\navatar_url\x18\x06 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xcb\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\x99\x01\n\x19ProjectServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x06tenant\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x06tenant\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_tenant\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\xf2\x01\n\x1bProjectServiceCreateRequest\x12 \n\x05login\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05login\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@R\x04name\x12,\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x0b\x64\x65scription\x12\"\n\navatar_url\x18\x04 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\xad\x02\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"_\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"$\n\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x05 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xef\x0b\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"\xcb\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12\"\n\navatar_url\x18\x06 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xcb\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\xdc\x01\n\x19ProjectServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x06tenant\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x06tenant\x88\x01\x01\x12\x36\n\x06labels\x18\x06 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x03R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_tenantB\t\n\x07_labels\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\xf2\x01\n\x1bProjectServiceCreateRequest\x12 \n\x05login\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05login\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@R\x04name\x12,\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x0b\x64\x65scription\x12\"\n\navatar_url\x18\x04 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\xad\x02\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"_\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"$\n\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x05 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xef\x0b\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -104,53 +104,53 @@ if not _descriptor._USE_C_DESCRIPTORS:
104
104
  _globals['_PROJECTINVITE']._serialized_start=561
105
105
  _globals['_PROJECTINVITE']._serialized_end=920
106
106
  _globals['_PROJECTSERVICELISTREQUEST']._serialized_start=923
107
- _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=1076
108
- _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1078
109
- _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1162
110
- _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1164
111
- _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1226
112
- _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1229
113
- _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1385
114
- _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1388
115
- _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1630
116
- _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1632
117
- _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=1716
118
- _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=1718
119
- _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=1783
120
- _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=1785
121
- _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=1869
122
- _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=1872
123
- _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2173
124
- _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2175
125
- _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2259
126
- _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2261
127
- _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2388
128
- _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2390
129
- _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2478
130
- _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2480
131
- _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2550
132
- _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2552
133
- _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=2647
134
- _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=2649
135
- _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=2705
136
- _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=2707
137
- _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=2798
138
- _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=2800
139
- _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=2895
140
- _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=2897
141
- _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=2933
142
- _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=2936
143
- _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3093
144
- _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3095
145
- _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3204
146
- _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3206
147
- _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3265
148
- _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3267
149
- _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3364
150
- _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3366
151
- _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3461
152
- _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3463
153
- _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3499
154
- _globals['_PROJECTSERVICE']._serialized_start=3502
155
- _globals['_PROJECTSERVICE']._serialized_end=5021
107
+ _globals['_PROJECTSERVICELISTREQUEST']._serialized_end=1143
108
+ _globals['_PROJECTSERVICELISTRESPONSE']._serialized_start=1145
109
+ _globals['_PROJECTSERVICELISTRESPONSE']._serialized_end=1229
110
+ _globals['_PROJECTSERVICEGETREQUEST']._serialized_start=1231
111
+ _globals['_PROJECTSERVICEGETREQUEST']._serialized_end=1293
112
+ _globals['_PROJECTSERVICEGETRESPONSE']._serialized_start=1296
113
+ _globals['_PROJECTSERVICEGETRESPONSE']._serialized_end=1452
114
+ _globals['_PROJECTSERVICECREATEREQUEST']._serialized_start=1455
115
+ _globals['_PROJECTSERVICECREATEREQUEST']._serialized_end=1697
116
+ _globals['_PROJECTSERVICECREATERESPONSE']._serialized_start=1699
117
+ _globals['_PROJECTSERVICECREATERESPONSE']._serialized_end=1783
118
+ _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_start=1785
119
+ _globals['_PROJECTSERVICEDELETEREQUEST']._serialized_end=1850
120
+ _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_start=1852
121
+ _globals['_PROJECTSERVICEDELETERESPONSE']._serialized_end=1936
122
+ _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_start=1939
123
+ _globals['_PROJECTSERVICEUPDATEREQUEST']._serialized_end=2240
124
+ _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_start=2242
125
+ _globals['_PROJECTSERVICEUPDATERESPONSE']._serialized_end=2326
126
+ _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_start=2328
127
+ _globals['_PROJECTSERVICEINVITEREQUEST']._serialized_end=2455
128
+ _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_start=2457
129
+ _globals['_PROJECTSERVICEINVITERESPONSE']._serialized_end=2545
130
+ _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_start=2547
131
+ _globals['_PROJECTSERVICEINVITESLISTREQUEST']._serialized_end=2617
132
+ _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_start=2619
133
+ _globals['_PROJECTSERVICEINVITESLISTRESPONSE']._serialized_end=2714
134
+ _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_start=2716
135
+ _globals['_PROJECTSERVICEINVITEGETREQUEST']._serialized_end=2772
136
+ _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=2774
137
+ _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=2865
138
+ _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=2867
139
+ _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=2962
140
+ _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=2964
141
+ _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=3000
142
+ _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3003
143
+ _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3160
144
+ _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3162
145
+ _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3271
146
+ _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3273
147
+ _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3332
148
+ _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3334
149
+ _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3431
150
+ _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3433
151
+ _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3528
152
+ _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3530
153
+ _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3566
154
+ _globals['_PROJECTSERVICE']._serialized_start=3569
155
+ _globals['_PROJECTSERVICE']._serialized_end=5088
156
156
  # @@protoc_insertion_point(module_scope)
@@ -62,14 +62,16 @@ class ProjectInvite(_message.Message):
62
62
  def __init__(self, secret: _Optional[str] = ..., project: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ..., joined: _Optional[bool] = ..., project_name: _Optional[str] = ..., tenant: _Optional[str] = ..., tenant_name: _Optional[str] = ..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., joined_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
63
63
 
64
64
  class ProjectServiceListRequest(_message.Message):
65
- __slots__ = ("id", "name", "tenant")
65
+ __slots__ = ("id", "name", "tenant", "labels")
66
66
  ID_FIELD_NUMBER: _ClassVar[int]
67
67
  NAME_FIELD_NUMBER: _ClassVar[int]
68
68
  TENANT_FIELD_NUMBER: _ClassVar[int]
69
+ LABELS_FIELD_NUMBER: _ClassVar[int]
69
70
  id: str
70
71
  name: str
71
72
  tenant: str
72
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., tenant: _Optional[str] = ...) -> None: ...
73
+ labels: _common_pb2.Labels
74
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., tenant: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
73
75
 
74
76
  class ProjectServiceListResponse(_message.Message):
75
77
  __slots__ = ("projects",)
@@ -26,7 +26,7 @@ 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
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cmetalstack/api/v2/size.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"3\n\x15SizeServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"L\n\x16SizeServiceListRequest\x12\x32\n\x05query\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.SizeQueryR\x05query\"E\n\x16SizeServiceGetResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"H\n\x17SizeServiceListResponse\x12-\n\x05sizes\x18\x01 \x03(\x0b\x32\x17.metalstack.api.v2.SizeR\x05sizes\"\x85\x02\n\x04Size\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x43\n\x0b\x63onstraints\x18\x06 \x03(\x0b\x32!.metalstack.api.v2.SizeConstraintR\x0b\x63onstraintsB\x07\n\x05_nameB\x0e\n\x0c_description\"\xb9\x01\n\x0eSizeConstraint\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32%.metalstack.api.v2.SizeConstraintTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12\x10\n\x03min\x18\x02 \x01(\x04R\x03min\x12\x10\n\x03max\x18\x03 \x01(\x04R\x03max\x12/\n\nidentifier\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x00\x18\x80\x01H\x00R\nidentifier\x88\x01\x01\x42\r\n\x0b_identifier\"\xd7\x01\n\tSizeQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x31\n\x06labels\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_description*\xe8\x01\n\x12SizeConstraintType\x12$\n SIZE_CONSTRAINT_TYPE_UNSPECIFIED\x10\x00\x12)\n\x1aSIZE_CONSTRAINT_TYPE_CORES\x10\x01\x1a\t\x82\xb2\x19\x05\x63ores\x12+\n\x1bSIZE_CONSTRAINT_TYPE_MEMORY\x10\x02\x1a\n\x82\xb2\x19\x06memory\x12-\n\x1cSIZE_CONSTRAINT_TYPE_STORAGE\x10\x03\x1a\x0b\x82\xb2\x19\x07storage\x12%\n\x18SIZE_CONSTRAINT_TYPE_GPU\x10\x04\x1a\x07\x82\xb2\x19\x03gpu2\xdc\x01\n\x0bSizeService\x12\x64\n\x03Get\x12(.metalstack.api.v2.SizeServiceGetRequest\x1a).metalstack.api.v2.SizeServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12g\n\x04List\x12).metalstack.api.v2.SizeServiceListRequest\x1a*.metalstack.api.v2.SizeServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xbf\x01\n\x15\x63om.metalstack.api.v2B\tSizeProtoP\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')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cmetalstack/api/v2/size.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"3\n\x15SizeServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"L\n\x16SizeServiceListRequest\x12\x32\n\x05query\x18\x01 \x01(\x0b\x32\x1c.metalstack.api.v2.SizeQueryR\x05query\"E\n\x16SizeServiceGetResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"H\n\x17SizeServiceListResponse\x12-\n\x05sizes\x18\x01 \x03(\x0b\x32\x17.metalstack.api.v2.SizeR\x05sizes\"\x85\x02\n\x04Size\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x43\n\x0b\x63onstraints\x18\x06 \x03(\x0b\x32!.metalstack.api.v2.SizeConstraintR\x0b\x63onstraintsB\x07\n\x05_nameB\x0e\n\x0c_description\"\xb9\x01\n\x0eSizeConstraint\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32%.metalstack.api.v2.SizeConstraintTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12\x10\n\x03min\x18\x02 \x01(\x04R\x03min\x12\x10\n\x03max\x18\x03 \x01(\x04R\x03max\x12/\n\nidentifier\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x00\x18\x80\x01H\x00R\nidentifier\x88\x01\x01\x42\r\n\x0b_identifier\"\xe7\x01\n\tSizeQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\x36\n\x06labels\x18\x04 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x03R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels*\xe8\x01\n\x12SizeConstraintType\x12$\n SIZE_CONSTRAINT_TYPE_UNSPECIFIED\x10\x00\x12)\n\x1aSIZE_CONSTRAINT_TYPE_CORES\x10\x01\x1a\t\x82\xb2\x19\x05\x63ores\x12+\n\x1bSIZE_CONSTRAINT_TYPE_MEMORY\x10\x02\x1a\n\x82\xb2\x19\x06memory\x12-\n\x1cSIZE_CONSTRAINT_TYPE_STORAGE\x10\x03\x1a\x0b\x82\xb2\x19\x07storage\x12%\n\x18SIZE_CONSTRAINT_TYPE_GPU\x10\x04\x1a\x07\x82\xb2\x19\x03gpu2\xdc\x01\n\x0bSizeService\x12\x64\n\x03Get\x12(.metalstack.api.v2.SizeServiceGetRequest\x1a).metalstack.api.v2.SizeServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12g\n\x04List\x12).metalstack.api.v2.SizeServiceListRequest\x1a*.metalstack.api.v2.SizeServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xbf\x01\n\x15\x63om.metalstack.api.v2B\tSizeProtoP\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')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -64,8 +64,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
64
64
  _globals['_SIZESERVICE'].methods_by_name['Get']._serialized_options = b'\330\363\030\003\340\363\030\002'
65
65
  _globals['_SIZESERVICE'].methods_by_name['List']._loaded_options = None
66
66
  _globals['_SIZESERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003\340\363\030\002'
67
- _globals['_SIZECONSTRAINTTYPE']._serialized_start=1059
68
- _globals['_SIZECONSTRAINTTYPE']._serialized_end=1291
67
+ _globals['_SIZECONSTRAINTTYPE']._serialized_start=1075
68
+ _globals['_SIZECONSTRAINTTYPE']._serialized_end=1307
69
69
  _globals['_SIZESERVICEGETREQUEST']._serialized_start=112
70
70
  _globals['_SIZESERVICEGETREQUEST']._serialized_end=163
71
71
  _globals['_SIZESERVICELISTREQUEST']._serialized_start=165
@@ -79,7 +79,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
79
79
  _globals['_SIZECONSTRAINT']._serialized_start=653
80
80
  _globals['_SIZECONSTRAINT']._serialized_end=838
81
81
  _globals['_SIZEQUERY']._serialized_start=841
82
- _globals['_SIZEQUERY']._serialized_end=1056
83
- _globals['_SIZESERVICE']._serialized_start=1294
84
- _globals['_SIZESERVICE']._serialized_end=1514
82
+ _globals['_SIZEQUERY']._serialized_end=1072
83
+ _globals['_SIZESERVICE']._serialized_start=1310
84
+ _globals['_SIZESERVICE']._serialized_end=1530
85
85
  # @@protoc_insertion_point(module_scope)
@@ -27,7 +27,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
27
27
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/tenant.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"\xd5\x01\n\x06Tenant\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12 \n\x0b\x64\x65scription\x18\x05 \x01(\tR\x0b\x64\x65scription\x12\x1d\n\navatar_url\x18\x06 \x01(\tR\tavatarUrl\x12\x1d\n\ncreated_by\x18\x0f \x01(\tR\tcreatedBy\"\xb2\x01\n\x0cTenantMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x1a\n\x08projects\x18\x04 \x03(\tR\x08projects\x12\x39\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"\xfb\x02\n\x0cTenantInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12#\n\rtarget_tenant\x18\x02 \x01(\tR\x0ctargetTenant\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12,\n\x12target_tenant_name\x18\x05 \x01(\tR\x10targetTenantName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"c\n\x18TenantServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x01R\x04name\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_name\"/\n\x17TenantServiceGetRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\x92\x02\n\x1aTenantServiceCreateRequest\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@R\x04name\x12\x31\n\x0b\x64\x65scription\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"\xcc\x02\n\x1aTenantServiceUpdateRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x00R\x04name\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x05 \x01(\tH\x03R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x04R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x08\n\x06_emailB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"2\n\x1aTenantServiceDeleteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\x95\x01\n\x18TenantServiceGetResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\x12\x46\n\x0etenant_members\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\rtenantMembers\"P\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceUpdateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceDeleteResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"o\n\x1aTenantServiceInviteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"V\n\x1bTenantServiceInviteResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"7\n\x1fTenantServiceInvitesListRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"]\n TenantServiceInvitesListResponse\x12\x39\n\x07invites\x18\x01 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x07invites\"7\n\x1dTenantServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"Y\n\x1eTenantServiceInviteGetResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"P\n TenantServiceRemoveMemberRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"#\n!TenantServiceRemoveMemberResponse\":\n TenantServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"\\\n!TenantServiceInviteAcceptResponse\x12\x16\n\x06tenant\x18\x01 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x02 \x01(\tR\ntenantName\"P\n TenantServiceInviteDeleteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"#\n!TenantServiceInviteDeleteResponse\"\x8d\x01\n TenantServiceUpdateMemberRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"i\n!TenantServiceUpdateMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember2\xd6\x0b\n\rTenantService\x12q\n\x06\x43reate\x12-.metalstack.api.v2.TenantServiceCreateRequest\x1a..metalstack.api.v2.TenantServiceCreateResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12k\n\x04List\x12+.metalstack.api.v2.TenantServiceListRequest\x1a,.metalstack.api.v2.TenantServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12l\n\x03Get\x12*.metalstack.api.v2.TenantServiceGetRequest\x1a+.metalstack.api.v2.TenantServiceGetResponse\"\x0c\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12s\n\x06Update\x12-.metalstack.api.v2.TenantServiceUpdateRequest\x1a..metalstack.api.v2.TenantServiceUpdateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12s\n\x06\x44\x65lete\x12-.metalstack.api.v2.TenantServiceDeleteRequest\x1a..metalstack.api.v2.TenantServiceDeleteResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x84\x01\n\x0cRemoveMember\x12\x33.metalstack.api.v2.TenantServiceRemoveMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceRemoveMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n\x0cUpdateMember\x12\x33.metalstack.api.v2.TenantServiceUpdateMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceUpdateMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12r\n\x06Invite\x12-.metalstack.api.v2.TenantServiceInviteRequest\x1a..metalstack.api.v2.TenantServiceInviteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0cInviteAccept\x12\x33.metalstack.api.v2.TenantServiceInviteAcceptRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12\x84\x01\n\x0cInviteDelete\x12\x33.metalstack.api.v2.TenantServiceInviteDeleteRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x81\x01\n\x0bInvitesList\x12\x32.metalstack.api.v2.TenantServiceInvitesListRequest\x1a\x33.metalstack.api.v2.TenantServiceInvitesListResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12z\n\tInviteGet\x12\x30.metalstack.api.v2.TenantServiceInviteGetRequest\x1a\x31.metalstack.api.v2.TenantServiceInviteGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bTenantProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/tenant.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"\xd5\x01\n\x06Tenant\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x14\n\x05\x65mail\x18\x04 \x01(\tR\x05\x65mail\x12 \n\x0b\x64\x65scription\x18\x05 \x01(\tR\x0b\x64\x65scription\x12\x1d\n\navatar_url\x18\x06 \x01(\tR\tavatarUrl\x12\x1d\n\ncreated_by\x18\x0f \x01(\tR\tcreatedBy\"\xb2\x01\n\x0cTenantMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x1a\n\x08projects\x18\x04 \x03(\tR\x08projects\x12\x39\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"\xfb\x02\n\x0cTenantInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12#\n\rtarget_tenant\x18\x02 \x01(\tR\x0ctargetTenant\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12,\n\x12target_tenant_name\x18\x05 \x01(\tR\x10targetTenantName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"\xa6\x01\n\x18TenantServiceListRequest\x12\x13\n\x02id\x18\x01 \x01(\tH\x00R\x02id\x88\x01\x01\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x01R\x04name\x88\x01\x01\x12\x36\n\x06labels\x18\x03 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x02R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\t\n\x07_labels\"/\n\x17TenantServiceGetRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\x92\x02\n\x1aTenantServiceCreateRequest\x12\x1d\n\x04name\x18\x01 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@R\x04name\x12\x31\n\x0b\x64\x65scription\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labelsB\x0e\n\x0c_descriptionB\x08\n\x06_emailB\r\n\x0b_avatar_url\"\xcc\x02\n\x1aTenantServiceUpdateRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x00R\x04name\x88\x01\x01\x12\"\n\x05\x65mail\x18\x03 \x01(\tB\x07\xbaH\x04r\x02`\x01H\x01R\x05\x65mail\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x02R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x05 \x01(\tH\x03R\tavatarUrl\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x04R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x08\n\x06_emailB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_urlB\t\n\x07_labels\"2\n\x1aTenantServiceDeleteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"\x95\x01\n\x18TenantServiceGetResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\x12\x46\n\x0etenant_members\x18\x02 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\rtenantMembers\"P\n\x19TenantServiceListResponse\x12\x33\n\x07tenants\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.TenantR\x07tenants\"P\n\x1bTenantServiceCreateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceUpdateResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"P\n\x1bTenantServiceDeleteResponse\x12\x31\n\x06tenant\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.TenantR\x06tenant\"o\n\x1aTenantServiceInviteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12;\n\x04role\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"V\n\x1bTenantServiceInviteResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"7\n\x1fTenantServiceInvitesListRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\"]\n TenantServiceInvitesListResponse\x12\x39\n\x07invites\x18\x01 \x03(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x07invites\"7\n\x1dTenantServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"Y\n\x1eTenantServiceInviteGetResponse\x12\x37\n\x06invite\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantInviteR\x06invite\"P\n TenantServiceRemoveMemberRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"#\n!TenantServiceRemoveMemberResponse\":\n TenantServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"\\\n!TenantServiceInviteAcceptResponse\x12\x16\n\x06tenant\x18\x01 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x02 \x01(\tR\ntenantName\"P\n TenantServiceInviteDeleteRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"#\n!TenantServiceInviteDeleteResponse\"\x8d\x01\n TenantServiceUpdateMemberRequest\x12\x14\n\x05login\x18\x01 \x01(\tR\x05login\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12;\n\x04role\x18\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"i\n!TenantServiceUpdateMemberResponse\x12\x44\n\rtenant_member\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.TenantMemberR\x0ctenantMember2\xd6\x0b\n\rTenantService\x12q\n\x06\x43reate\x12-.metalstack.api.v2.TenantServiceCreateRequest\x1a..metalstack.api.v2.TenantServiceCreateResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12k\n\x04List\x12+.metalstack.api.v2.TenantServiceListRequest\x1a,.metalstack.api.v2.TenantServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12l\n\x03Get\x12*.metalstack.api.v2.TenantServiceGetRequest\x1a+.metalstack.api.v2.TenantServiceGetResponse\"\x0c\xc2\xf3\x18\x04\x01\x02\x03\x04\xe0\xf3\x18\x02\x12s\n\x06Update\x12-.metalstack.api.v2.TenantServiceUpdateRequest\x1a..metalstack.api.v2.TenantServiceUpdateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12s\n\x06\x44\x65lete\x12-.metalstack.api.v2.TenantServiceDeleteRequest\x1a..metalstack.api.v2.TenantServiceDeleteResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x84\x01\n\x0cRemoveMember\x12\x33.metalstack.api.v2.TenantServiceRemoveMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceRemoveMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x84\x01\n\x0cUpdateMember\x12\x33.metalstack.api.v2.TenantServiceUpdateMemberRequest\x1a\x34.metalstack.api.v2.TenantServiceUpdateMemberResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12r\n\x06Invite\x12-.metalstack.api.v2.TenantServiceInviteRequest\x1a..metalstack.api.v2.TenantServiceInviteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0cInviteAccept\x12\x33.metalstack.api.v2.TenantServiceInviteAcceptRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12\x84\x01\n\x0cInviteDelete\x12\x33.metalstack.api.v2.TenantServiceInviteDeleteRequest\x1a\x34.metalstack.api.v2.TenantServiceInviteDeleteResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x81\x01\n\x0bInvitesList\x12\x32.metalstack.api.v2.TenantServiceInvitesListRequest\x1a\x33.metalstack.api.v2.TenantServiceInvitesListResponse\"\t\xc2\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12z\n\tInviteGet\x12\x30.metalstack.api.v2.TenantServiceInviteGetRequest\x1a\x31.metalstack.api.v2.TenantServiceInviteGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bTenantProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -87,54 +87,54 @@ if not _descriptor._USE_C_DESCRIPTORS:
87
87
  _globals['_TENANTMEMBER']._serialized_end=542
88
88
  _globals['_TENANTINVITE']._serialized_start=545
89
89
  _globals['_TENANTINVITE']._serialized_end=924
90
- _globals['_TENANTSERVICELISTREQUEST']._serialized_start=926
91
- _globals['_TENANTSERVICELISTREQUEST']._serialized_end=1025
92
- _globals['_TENANTSERVICEGETREQUEST']._serialized_start=1027
93
- _globals['_TENANTSERVICEGETREQUEST']._serialized_end=1074
94
- _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=1077
95
- _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=1351
96
- _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_start=1354
97
- _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_end=1686
98
- _globals['_TENANTSERVICEDELETEREQUEST']._serialized_start=1688
99
- _globals['_TENANTSERVICEDELETEREQUEST']._serialized_end=1738
100
- _globals['_TENANTSERVICEGETRESPONSE']._serialized_start=1741
101
- _globals['_TENANTSERVICEGETRESPONSE']._serialized_end=1890
102
- _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=1892
103
- _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=1972
104
- _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=1974
105
- _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=2054
106
- _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_start=2056
107
- _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_end=2136
108
- _globals['_TENANTSERVICEDELETERESPONSE']._serialized_start=2138
109
- _globals['_TENANTSERVICEDELETERESPONSE']._serialized_end=2218
110
- _globals['_TENANTSERVICEINVITEREQUEST']._serialized_start=2220
111
- _globals['_TENANTSERVICEINVITEREQUEST']._serialized_end=2331
112
- _globals['_TENANTSERVICEINVITERESPONSE']._serialized_start=2333
113
- _globals['_TENANTSERVICEINVITERESPONSE']._serialized_end=2419
114
- _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_start=2421
115
- _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_end=2476
116
- _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_start=2478
117
- _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_end=2571
118
- _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_start=2573
119
- _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_end=2628
120
- _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_start=2630
121
- _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_end=2719
122
- _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_start=2721
123
- _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_end=2801
124
- _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=2803
125
- _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=2838
126
- _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_start=2840
127
- _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_end=2898
128
- _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_start=2900
129
- _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_end=2992
130
- _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_start=2994
131
- _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_end=3074
132
- _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_start=3076
133
- _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_end=3111
134
- _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3114
135
- _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3255
136
- _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3257
137
- _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3362
138
- _globals['_TENANTSERVICE']._serialized_start=3365
139
- _globals['_TENANTSERVICE']._serialized_end=4859
90
+ _globals['_TENANTSERVICELISTREQUEST']._serialized_start=927
91
+ _globals['_TENANTSERVICELISTREQUEST']._serialized_end=1093
92
+ _globals['_TENANTSERVICEGETREQUEST']._serialized_start=1095
93
+ _globals['_TENANTSERVICEGETREQUEST']._serialized_end=1142
94
+ _globals['_TENANTSERVICECREATEREQUEST']._serialized_start=1145
95
+ _globals['_TENANTSERVICECREATEREQUEST']._serialized_end=1419
96
+ _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_start=1422
97
+ _globals['_TENANTSERVICEUPDATEREQUEST']._serialized_end=1754
98
+ _globals['_TENANTSERVICEDELETEREQUEST']._serialized_start=1756
99
+ _globals['_TENANTSERVICEDELETEREQUEST']._serialized_end=1806
100
+ _globals['_TENANTSERVICEGETRESPONSE']._serialized_start=1809
101
+ _globals['_TENANTSERVICEGETRESPONSE']._serialized_end=1958
102
+ _globals['_TENANTSERVICELISTRESPONSE']._serialized_start=1960
103
+ _globals['_TENANTSERVICELISTRESPONSE']._serialized_end=2040
104
+ _globals['_TENANTSERVICECREATERESPONSE']._serialized_start=2042
105
+ _globals['_TENANTSERVICECREATERESPONSE']._serialized_end=2122
106
+ _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_start=2124
107
+ _globals['_TENANTSERVICEUPDATERESPONSE']._serialized_end=2204
108
+ _globals['_TENANTSERVICEDELETERESPONSE']._serialized_start=2206
109
+ _globals['_TENANTSERVICEDELETERESPONSE']._serialized_end=2286
110
+ _globals['_TENANTSERVICEINVITEREQUEST']._serialized_start=2288
111
+ _globals['_TENANTSERVICEINVITEREQUEST']._serialized_end=2399
112
+ _globals['_TENANTSERVICEINVITERESPONSE']._serialized_start=2401
113
+ _globals['_TENANTSERVICEINVITERESPONSE']._serialized_end=2487
114
+ _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_start=2489
115
+ _globals['_TENANTSERVICEINVITESLISTREQUEST']._serialized_end=2544
116
+ _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_start=2546
117
+ _globals['_TENANTSERVICEINVITESLISTRESPONSE']._serialized_end=2639
118
+ _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_start=2641
119
+ _globals['_TENANTSERVICEINVITEGETREQUEST']._serialized_end=2696
120
+ _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_start=2698
121
+ _globals['_TENANTSERVICEINVITEGETRESPONSE']._serialized_end=2787
122
+ _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_start=2789
123
+ _globals['_TENANTSERVICEREMOVEMEMBERREQUEST']._serialized_end=2869
124
+ _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=2871
125
+ _globals['_TENANTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=2906
126
+ _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_start=2908
127
+ _globals['_TENANTSERVICEINVITEACCEPTREQUEST']._serialized_end=2966
128
+ _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_start=2968
129
+ _globals['_TENANTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3060
130
+ _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_start=3062
131
+ _globals['_TENANTSERVICEINVITEDELETEREQUEST']._serialized_end=3142
132
+ _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_start=3144
133
+ _globals['_TENANTSERVICEINVITEDELETERESPONSE']._serialized_end=3179
134
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_start=3182
135
+ _globals['_TENANTSERVICEUPDATEMEMBERREQUEST']._serialized_end=3323
136
+ _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=3325
137
+ _globals['_TENANTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3430
138
+ _globals['_TENANTSERVICE']._serialized_start=3433
139
+ _globals['_TENANTSERVICE']._serialized_end=4927
140
140
  # @@protoc_insertion_point(module_scope)
@@ -64,12 +64,14 @@ class TenantInvite(_message.Message):
64
64
  def __init__(self, secret: _Optional[str] = ..., target_tenant: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.TenantRole, str]] = ..., joined: _Optional[bool] = ..., target_tenant_name: _Optional[str] = ..., tenant: _Optional[str] = ..., tenant_name: _Optional[str] = ..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., joined_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
65
65
 
66
66
  class TenantServiceListRequest(_message.Message):
67
- __slots__ = ("id", "name")
67
+ __slots__ = ("id", "name", "labels")
68
68
  ID_FIELD_NUMBER: _ClassVar[int]
69
69
  NAME_FIELD_NUMBER: _ClassVar[int]
70
+ LABELS_FIELD_NUMBER: _ClassVar[int]
70
71
  id: str
71
72
  name: str
72
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
73
+ labels: _common_pb2.Labels
74
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
73
75
 
74
76
  class TenantServiceGetRequest(_message.Message):
75
77
  __slots__ = ("login",)