metal-stack-api 0.0.13__py3-none-any.whl → 0.0.14__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.13
3
+ Version: 0.0.14
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
@@ -19,8 +19,8 @@ metalstack/admin/v2/ip_pb2.py,sha256=VPyWXrc-nDOSP5Pljhyvu6zX9YpJ2DJPrBuXP85Zjdo
19
19
  metalstack/admin/v2/ip_pb2.pyi,sha256=Ro5RqU2w7UcaGoB6TZK9t5dRUaQ2LxWyaVoYZhFTBms,1671
20
20
  metalstack/admin/v2/ip_pb2_grpc.py,sha256=qgx2YAqOtX2SvHHlKHwgPHHLBD-P3gzYiu_FGibTdH0,4710
21
21
  metalstack/admin/v2/machine_connecpy.py,sha256=HnviR9lfq0xHV82ANM8luMESSaoUrS0CiXbVlNjzd90,7216
22
- metalstack/admin/v2/machine_pb2.py,sha256=9BZ0M-uoe5Hn74BM2YvtDPGIjLax9nuB5MZAaquyADQ,4192
23
- metalstack/admin/v2/machine_pb2.pyi,sha256=ETXjEHcRNnbX8DUK2BIZIa0IBKZ7x6fvs063Tjft9pc,1556
22
+ metalstack/admin/v2/machine_pb2.py,sha256=bGwWbR_zyCtij-vmvr7S2mcuOVj5rYc-WbPXEIJK6Ms,4482
23
+ metalstack/admin/v2/machine_pb2.pyi,sha256=wYcrMlBEywihDaarKMnJz2C74dvoNxisd_vNGqxZCek,1663
24
24
  metalstack/admin/v2/machine_pb2_grpc.py,sha256=SsN94Ek1RuI8Deu1gD0r4T_wlT4fxgpbJwIOZKBAQ0A,4855
25
25
  metalstack/admin/v2/network_connecpy.py,sha256=KnNitqmbub-3YjVjTND75XZ6UQoQ1qZAm20zVcpJ-cE,16153
26
26
  metalstack/admin/v2/network_pb2.py,sha256=CJLBxQ6CRkY92mysbffPwCcy5Re-xa0dH_RHola10RE,14936
@@ -48,8 +48,8 @@ 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=ypsdu8HXVtVfXFc96ll3dT0CMRdHOge9wcCjtnOeNhU,13405
51
- metalstack/api/v2/filesystem_pb2.py,sha256=B_9EU1kgVyD7UV3eyeU5okh2AYcT9_-TIhkyaRqaPDA,19937
52
- metalstack/api/v2/filesystem_pb2.pyi,sha256=L6XkQncdRPpOcjq_vu6TGwrqez5q2vM-QsumKo96H84,10511
51
+ metalstack/api/v2/filesystem_pb2.py,sha256=TPkQb0hCl_6qTyr46XwhMTTQ9JCdAKORiIg5EUkaiwQ,19864
52
+ metalstack/api/v2/filesystem_pb2.pyi,sha256=V86pXsgXgWZdee0SrYvtxrbAcARZR8fOuYQwxLVGrsU,10369
53
53
  metalstack/api/v2/filesystem_pb2_grpc.py,sha256=bZthLxivM2pbjQRwQxPiKAfa9kaju076pt_DOoSKRRs,8773
54
54
  metalstack/api/v2/health_connecpy.py,sha256=GAHJC7YG08zZFCGycxomnKzRccRNWgj5pj6jId_TGiA,4188
55
55
  metalstack/api/v2/health_pb2.py,sha256=LfmoZ8hPyIhfa8WvMi3rCwFU1iouYpxfUOkbAA18_lc,6025
@@ -64,8 +64,8 @@ metalstack/api/v2/ip_pb2.py,sha256=-4zhcw0I3jtDsVsJfyvWQ0CXze1pPuL_zPtK7zbZI9Y,1
64
64
  metalstack/api/v2/ip_pb2.pyi,sha256=HVMbwX6xDw1j8-Xpwm9LfIbbGHKuqr24KW_1cE5Xfb4,7419
65
65
  metalstack/api/v2/ip_pb2_grpc.py,sha256=CNa4XCydddgstEOT3IKiD-mHiozDvzX6Rsb0QN0NVss,10079
66
66
  metalstack/api/v2/machine_connecpy.py,sha256=lauD9TuSWmdhz_JFJDvvach6JdK0ANvOVEXZ556q6CY,15939
67
- metalstack/api/v2/machine_pb2.py,sha256=g4fb2KlUW34mT3pthyEQJyTQgPcmuSmSPcaafCjzLlI,59445
68
- metalstack/api/v2/machine_pb2.pyi,sha256=f--xpHlXzoaLNDJ4v2fIKDJtZiBD63SfTedc-y29gWE,32113
67
+ metalstack/api/v2/machine_pb2.py,sha256=9e3NekoV_LslkpC9HmsUnW1cD2IuLnQ3YQeGbtheAK8,59226
68
+ metalstack/api/v2/machine_pb2.pyi,sha256=DRaBa9dIU4NinYTd9MJXY9KboJoS9Uws-jbVkEuGvi8,32192
69
69
  metalstack/api/v2/machine_pb2_grpc.py,sha256=NU4XC56rbIvT2oTMhV1_yb1eSYh9alSPTdale_T7m9s,10500
70
70
  metalstack/api/v2/method_connecpy.py,sha256=_I1bQnyANgDg8-5YR-afe9Q-Mif6-8QAjZPvkd065F0,7387
71
71
  metalstack/api/v2/method_pb2.py,sha256=8CCmaGc5DGBwkJ-RnQdvzmGEA2q_twa1YzPgkY3ssMY,5533
@@ -118,7 +118,7 @@ metalstack/infra/v2/switch_connecpy.py,sha256=dhRy8soyRRsqVlCfzt2lvy80hJGlAY1aFc
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.13.dist-info/METADATA,sha256=I2yCu-iJIXBpGEb499jSbqT58cF-HEg8Vs2huBGzYKc,832
122
- metal_stack_api-0.0.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
123
- metal_stack_api-0.0.13.dist-info/top_level.txt,sha256=EVrYyUiIjmWi5LomfJxKYph7kX6cNdnKbpVLXUKG3M0,15
124
- metal_stack_api-0.0.13.dist-info/RECORD,,
121
+ metal_stack_api-0.0.14.dist-info/METADATA,sha256=EDbPH1N9qwEpbwZQkGC1ecDKLq-FXUULCHCq6U_LCf0,832
122
+ metal_stack_api-0.0.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
123
+ metal_stack_api-0.0.14.dist-info/top_level.txt,sha256=EVrYyUiIjmWi5LomfJxKYph7kX6cNdnKbpVLXUKG3M0,15
124
+ metal_stack_api-0.0.14.dist-info/RECORD,,
@@ -27,7 +27,7 @@ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common
27
27
  from metalstack.api.v2 import machine_pb2 as metalstack_dot_api_dot_v2_dot_machine__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/machine.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\"8\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"R\n\x19MachineServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines2\xf7\x01\n\x0eMachineService\x12p\n\x03Get\x12-.metalstack.admin.v2.MachineServiceGetRequest\x1a..metalstack.admin.v2.MachineServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12s\n\x04List\x12..metalstack.admin.v2.MachineServiceListRequest\x1a/.metalstack.admin.v2.MachineServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cMachineProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/machine.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/machine.proto\"8\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"z\n\x19MachineServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\x12&\n\tpartition\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines2\xf7\x01\n\x0eMachineService\x12p\n\x03Get\x12-.metalstack.admin.v2.MachineServiceGetRequest\x1a..metalstack.admin.v2.MachineServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12s\n\x04List\x12..metalstack.admin.v2.MachineServiceListRequest\x1a/.metalstack.admin.v2.MachineServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cMachineProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -37,6 +37,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
37
37
  _globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.admin.v2B\014MachineProtoP\001Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\242\002\003MAX\252\002\023Metalstack.Admin.V2\312\002\023Metalstack\\Admin\\V2\342\002\037Metalstack\\Admin\\V2\\GPBMetadata\352\002\025Metalstack::Admin::V2'
38
38
  _globals['_MACHINESERVICEGETREQUEST'].fields_by_name['uuid']._loaded_options = None
39
39
  _globals['_MACHINESERVICEGETREQUEST'].fields_by_name['uuid']._serialized_options = b'\272H\005r\003\260\001\001'
40
+ _globals['_MACHINESERVICELISTREQUEST'].fields_by_name['partition']._loaded_options = None
41
+ _globals['_MACHINESERVICELISTREQUEST'].fields_by_name['partition']._serialized_options = b'\272H\005r\003\030\200\001'
40
42
  _globals['_MACHINESERVICE'].methods_by_name['Get']._loaded_options = None
41
43
  _globals['_MACHINESERVICE'].methods_by_name['Get']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
42
44
  _globals['_MACHINESERVICE'].methods_by_name['List']._loaded_options = None
@@ -46,9 +48,9 @@ if not _descriptor._USE_C_DESCRIPTORS:
46
48
  _globals['_MACHINESERVICEGETRESPONSE']._serialized_start=210
47
49
  _globals['_MACHINESERVICEGETRESPONSE']._serialized_end=291
48
50
  _globals['_MACHINESERVICELISTREQUEST']._serialized_start=293
49
- _globals['_MACHINESERVICELISTREQUEST']._serialized_end=375
50
- _globals['_MACHINESERVICELISTRESPONSE']._serialized_start=377
51
- _globals['_MACHINESERVICELISTRESPONSE']._serialized_end=461
52
- _globals['_MACHINESERVICE']._serialized_start=464
53
- _globals['_MACHINESERVICE']._serialized_end=711
51
+ _globals['_MACHINESERVICELISTREQUEST']._serialized_end=415
52
+ _globals['_MACHINESERVICELISTRESPONSE']._serialized_start=417
53
+ _globals['_MACHINESERVICELISTRESPONSE']._serialized_end=501
54
+ _globals['_MACHINESERVICE']._serialized_start=504
55
+ _globals['_MACHINESERVICE']._serialized_end=751
54
56
  # @@protoc_insertion_point(module_scope)
@@ -22,10 +22,12 @@ class MachineServiceGetResponse(_message.Message):
22
22
  def __init__(self, machine: _Optional[_Union[_machine_pb2.Machine, _Mapping]] = ...) -> None: ...
23
23
 
24
24
  class MachineServiceListRequest(_message.Message):
25
- __slots__ = ("query",)
25
+ __slots__ = ("query", "partition")
26
26
  QUERY_FIELD_NUMBER: _ClassVar[int]
27
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
27
28
  query: _machine_pb2.MachineQuery
28
- def __init__(self, query: _Optional[_Union[_machine_pb2.MachineQuery, _Mapping]] = ...) -> None: ...
29
+ partition: str
30
+ def __init__(self, query: _Optional[_Union[_machine_pb2.MachineQuery, _Mapping]] = ..., partition: _Optional[str] = ...) -> None: ...
29
31
 
30
32
  class MachineServiceListResponse(_message.Message):
31
33
  __slots__ = ("machines",)
@@ -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\"_\n\x1b\x46ilesystemServiceTryRequest\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\"|\n\x1d\x46ilesystemServiceMatchRequest\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\"\x98\x01\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\x12*\n\x11wipe_on_reinstall\x18\x03 \x01(\x08R\x0fwipeOnReinstall\"\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\xe4\x03\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\x12p\n\x03Try\x12..metalstack.api.v2.FilesystemServiceTryRequest\x1a/.metalstack.api.v2.FilesystemServiceTryResponse\"\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\"_\n\x1b\x46ilesystemServiceTryRequest\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\"|\n\x1d\x46ilesystemServiceMatchRequest\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\xe4\x03\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\x12p\n\x03Try\x12..metalstack.api.v2.FilesystemServiceTryRequest\x1a/.metalstack.api.v2.FilesystemServiceTryResponse\"\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)
@@ -120,14 +120,14 @@ if not _descriptor._USE_C_DESCRIPTORS:
120
120
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Try']._serialized_options = b'\330\363\030\003\340\363\030\002'
121
121
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Match']._loaded_options = None
122
122
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Match']._serialized_options = b'\330\363\030\003\340\363\030\002'
123
- _globals['_LVMTYPE']._serialized_start=2992
124
- _globals['_LVMTYPE']._serialized_end=3126
125
- _globals['_FORMAT']._serialized_start=3129
126
- _globals['_FORMAT']._serialized_end=3325
127
- _globals['_GPTTYPE']._serialized_start=3328
128
- _globals['_GPTTYPE']._serialized_end=3491
129
- _globals['_RAIDLEVEL']._serialized_start=3493
130
- _globals['_RAIDLEVEL']._serialized_end=3568
123
+ _globals['_LVMTYPE']._serialized_start=2947
124
+ _globals['_LVMTYPE']._serialized_end=3081
125
+ _globals['_FORMAT']._serialized_start=3084
126
+ _globals['_FORMAT']._serialized_end=3280
127
+ _globals['_GPTTYPE']._serialized_start=3283
128
+ _globals['_GPTTYPE']._serialized_end=3446
129
+ _globals['_RAIDLEVEL']._serialized_start=3448
130
+ _globals['_RAIDLEVEL']._serialized_end=3523
131
131
  _globals['_FILESYSTEMSERVICEGETREQUEST']._serialized_start=118
132
132
  _globals['_FILESYSTEMSERVICEGETREQUEST']._serialized_end=175
133
133
  _globals['_FILESYSTEMSERVICELISTREQUEST']._serialized_start=177
@@ -152,16 +152,16 @@ if not _descriptor._USE_C_DESCRIPTORS:
152
152
  _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_end=1718
153
153
  _globals['_FILESYSTEM']._serialized_start=1721
154
154
  _globals['_FILESYSTEM']._serialized_end=2159
155
- _globals['_DISK']._serialized_start=2162
156
- _globals['_DISK']._serialized_end=2314
157
- _globals['_RAID']._serialized_start=2317
158
- _globals['_RAID']._serialized_end=2529
159
- _globals['_DISKPARTITION']._serialized_start=2532
160
- _globals['_DISKPARTITION']._serialized_end=2714
161
- _globals['_VOLUMEGROUP']._serialized_start=2716
162
- _globals['_VOLUMEGROUP']._serialized_end=2807
163
- _globals['_LOGICALVOLUME']._serialized_start=2810
164
- _globals['_LOGICALVOLUME']._serialized_end=2989
165
- _globals['_FILESYSTEMSERVICE']._serialized_start=3571
166
- _globals['_FILESYSTEMSERVICE']._serialized_end=4055
155
+ _globals['_DISK']._serialized_start=2161
156
+ _globals['_DISK']._serialized_end=2269
157
+ _globals['_RAID']._serialized_start=2272
158
+ _globals['_RAID']._serialized_end=2484
159
+ _globals['_DISKPARTITION']._serialized_start=2487
160
+ _globals['_DISKPARTITION']._serialized_end=2669
161
+ _globals['_VOLUMEGROUP']._serialized_start=2671
162
+ _globals['_VOLUMEGROUP']._serialized_end=2762
163
+ _globals['_LOGICALVOLUME']._serialized_start=2765
164
+ _globals['_LOGICALVOLUME']._serialized_end=2944
165
+ _globals['_FILESYSTEMSERVICE']._serialized_start=3526
166
+ _globals['_FILESYSTEMSERVICE']._serialized_end=4010
167
167
  # @@protoc_insertion_point(module_scope)
@@ -171,14 +171,12 @@ class Filesystem(_message.Message):
171
171
  def __init__(self, device: _Optional[str] = ..., format: _Optional[_Union[Format, str]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., path: _Optional[str] = ..., label: _Optional[str] = ..., mount_options: _Optional[_Iterable[str]] = ..., create_options: _Optional[_Iterable[str]] = ...) -> None: ...
172
172
 
173
173
  class Disk(_message.Message):
174
- __slots__ = ("device", "partitions", "wipe_on_reinstall")
174
+ __slots__ = ("device", "partitions")
175
175
  DEVICE_FIELD_NUMBER: _ClassVar[int]
176
176
  PARTITIONS_FIELD_NUMBER: _ClassVar[int]
177
- WIPE_ON_REINSTALL_FIELD_NUMBER: _ClassVar[int]
178
177
  device: str
179
178
  partitions: _containers.RepeatedCompositeFieldContainer[DiskPartition]
180
- wipe_on_reinstall: bool
181
- def __init__(self, device: _Optional[str] = ..., partitions: _Optional[_Iterable[_Union[DiskPartition, _Mapping]]] = ..., wipe_on_reinstall: _Optional[bool] = ...) -> None: ...
179
+ def __init__(self, device: _Optional[str] = ..., partitions: _Optional[_Iterable[_Union[DiskPartition, _Mapping]]] = ...) -> None: ...
182
180
 
183
181
  class Raid(_message.Message):
184
182
  __slots__ = ("array_name", "devices", "level", "create_options", "spares")
@@ -32,7 +32,7 @@ from metalstack.api.v2 import partition_pb2 as metalstack_dot_api_dot_v2_dot_par
32
32
  from metalstack.api.v2 import size_pb2 as metalstack_dot_api_dot_v2_dot_size__pb2
33
33
 
34
34
 
35
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xb1\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x01R\x08hostname\x88\x01\x01\x12&\n\tpartition\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n\x04size\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x1e\n\x05image\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05image\x12\x30\n\x11\x66ilesystem_layout\x18\t \x01(\tH\x02R\x10\x66ilesystemLayout\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\n \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12*\n\x08userdata\x18\x0b \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02H\x03R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12G\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkR\x08networks\x12H\n\x03ips\x18\x0e \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12%\n\x0eplacement_tags\x18\x0f \x03(\tR\rplacementTags\x12\x45\n\ndns_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x11 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12[\n\x0f\x61llocation_type\x18\x12 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12G\n\x0e\x66irewall_rules\x18\x13 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRulesB\x07\n\x05_uuidB\x0b\n\t_hostnameB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdata\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xa4\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"_\n\x1bMachineServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xc1\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12+\n\x04size\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x06 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x32\n\x04\x62ios\x18\x07 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa1\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xa2\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12%\n\x08userdata\x18\x0c \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02R\x08userdata\x12[\n\x0f\x61llocation_type\x18\r \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12\x45\n\ndns_server\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpn\"}\n\x18MachineAllocationNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x30\n\x12no_auto_acquire_ip\x18\x02 \x01(\x08H\x00R\x0fnoAutoAcquireIp\x88\x01\x01\x42\x15\n\x13_no_auto_acquire_ip\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\x87\x02\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xe5\x02\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12[\n\x04\x66rom\x18\x04 \x03(\tBG\xbaHD\x92\x01\x41\"?\xba\x01<\n\nvalid_from\x12\x1b\x66rom prefixes must be valid\x1a\x11this.isIpPrefix()R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9e\x04\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x03 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x05 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x06 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xae\x02\n\nMachineNic\x12\x41\n\x03mac\x18\x01 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x03mac\x12\x1e\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12(\n\nidentifier\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nidentifier\x12 \n\x06vendor\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x06vendor\x12\x1e\n\x05model\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05model\x12\x14\n\x05speed\x18\x06 \x01(\x04R\x05speed\x12;\n\tneighbors\x18\x07 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\tneighbors\"F\n\x12MachineBlockDevice\x12\x1c\n\x04name\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"l\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\"q\n\x0bMachineBios\x12\"\n\x07version\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07version\x12 \n\x06vendor\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1c\n\x04\x64\x61te\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x04\x64\x61te\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"\xab\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x45\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeR\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"y\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\"\xa7\x07\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12-\n\tpartition\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12#\n\x04size\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04size\x88\x01\x01\x12#\n\x04rack\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x04rack\x88\x01\x01\x12\x36\n\x06labels\x18\x06 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x07 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x06R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\x08 \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x07R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\t \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\x08R\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\n \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\tR\x04\x64isk\x88\x01\x01\x12<\n\x04ipmi\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineIPMIQueryH\nR\x04ipmi\x88\x01\x01\x12\x39\n\x03\x66ru\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0bR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\r \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\x0cR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0e \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x07\n\x05_ipmiB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_state\"\xdc\x03\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12%\n\x05image\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05image\x88\x01\x01\x12<\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12+\n\x08hostname\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x05R\x08hostname\x88\x01\x01\x12`\n\x0f\x61llocation_type\x18\x07 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x61llocationType\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x12\n\x10_allocation_type\"\x9b\x03\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\xe6\x02\n\x0fMachineNicQuery\x12J\n\x04macs\x18\x01 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x04macs\x12%\n\x05names\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1c\n\x04vrfs\x18\x03 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x04vrfs\x12[\n\rneighbor_macs\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x0cneighborMacs\x12\x36\n\x0eneighbor_names\x18\x05 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\rneighborNames\x12-\n\rneighbor_vrfs\x18\x06 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x0cneighborVrfs\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xfd\x01\n\x10MachineIPMIQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\x46\n\x03mac\x18\x02 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xaf\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12(\n\x16MACHINE_STATE_RESERVED\x10\x01\x1a\x0c\x82\xb2\x19\x08reserved\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\x9f\x06\n\x1cMachineProvisioningEventType\x12/\n+MACHINE_PROVISIONING_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x34\n%MACHINE_PROVISIONING_EVENT_TYPE_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x41live\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_CRASHED\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43rashed\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PXE_BOOTING\x10\x03\x1a\x0f\x82\xb2\x19\x0bPXE Booting\x12\x46\n.MACHINE_PROVISIONING_EVENT_TYPE_PLANNED_REBOOT\x10\x04\x1a\x12\x82\xb2\x19\x0ePlanned Reboot\x12<\n)MACHINE_PROVISIONING_EVENT_TYPE_PREPARING\x10\x05\x1a\r\x82\xb2\x19\tPreparing\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_REGISTERING\x10\x06\x1a\x0f\x82\xb2\x19\x0bRegistering\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_WAITING\x10\x07\x1a\x0b\x82\xb2\x19\x07Waiting\x12>\n*MACHINE_PROVISIONING_EVENT_TYPE_INSTALLING\x10\x08\x1a\x0e\x82\xb2\x19\nInstalling\x12N\n2MACHINE_PROVISIONING_EVENT_TYPE_BOOTING_NEW_KERNEL\x10\t\x1a\x16\x82\xb2\x19\x12\x42ooting New Kernel\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PHONED_HOME\x10\n\x1a\x0f\x82\xb2\x19\x0bPhoned Home\x12H\n/MACHINE_PROVISIONING_EVENT_TYPE_MACHINE_RECLAIM\x10\x0b\x1a\x13\x82\xb2\x19\x0fMachine Reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\xac\x01\n\x15MachineAllocationType\x12-\n#MACHINE_ALLOCATION_TYPE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\x30\n\x1fMACHINE_ALLOCATION_TYPE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\x32\n MACHINE_ALLOCATION_TYPE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall2\xca\x04\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
35
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/machine.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\"metalstack/api/v2/filesystem.proto\x1a\x1dmetalstack/api/v2/image.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a!metalstack/api/v2/partition.proto\x1a\x1cmetalstack/api/v2/size.proto\"\\\n\x18MachineServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19MachineServiceGetResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xae\x08\n\x1bMachineServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12!\n\x04uuid\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12(\n\x08hostname\x18\x05 \x01(\tB\x07\xbaH\x04r\x02h\x01H\x01R\x08hostname\x88\x01\x01\x12&\n\tpartition\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tpartition\x12\x1c\n\x04size\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04size\x12\x1e\n\x05image\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05image\x12\x30\n\x11\x66ilesystem_layout\x18\t \x01(\tH\x02R\x10\x66ilesystemLayout\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\n \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12*\n\x08userdata\x18\x0b \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02H\x03R\x08userdata\x88\x01\x01\x12\x31\n\x06labels\x18\x0c \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12G\n\x08networks\x18\r \x03(\x0b\x32+.metalstack.api.v2.MachineAllocationNetworkR\x08networks\x12H\n\x03ips\x18\x0e \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12%\n\x0eplacement_tags\x18\x0f \x03(\tR\rplacementTags\x12\x45\n\ndns_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x11 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12[\n\x0f\x61llocation_type\x18\x12 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12\x44\n\rfirewall_spec\x18\x13 \x01(\x0b\x32\x1f.metalstack.api.v2.FirewallSpecR\x0c\x66irewallSpecB\x07\n\x05_uuidB\x0b\n\t_hostnameB\x14\n\x12_filesystem_layoutB\x0b\n\t_userdata\"W\n\x0c\x46irewallSpec\x12G\n\x0e\x66irewall_rules\x18\x13 \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\"T\n\x1cMachineServiceCreateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xa4\x02\n\x1bMachineServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeysB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cMachineServiceUpdateResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"v\n\x19MachineServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MachineQueryR\x05query\"T\n\x1aMachineServiceListResponse\x12\x36\n\x08machines\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.MachineR\x08machines\"_\n\x1bMachineServiceDeleteRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cMachineServiceDeleteResponse\x12\x34\n\x07machine\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.MachineR\x07machine\"\xc1\x04\n\x07Machine\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12:\n\tpartition\x18\x03 \x01(\x0b\x32\x1c.metalstack.api.v2.PartitionR\tpartition\x12\x1c\n\x04rack\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04rack\x12+\n\x04size\x18\x05 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\x12>\n\x08hardware\x18\x06 \x01(\x0b\x32\".metalstack.api.v2.MachineHardwareR\x08hardware\x12\x32\n\x04\x62ios\x18\x07 \x01(\x0b\x32\x1e.metalstack.api.v2.MachineBiosR\x04\x62ios\x12\x44\n\nallocation\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.MachineAllocationR\nallocation\x12\x38\n\x06status\x18\t \x01(\x0b\x32 .metalstack.api.v2.MachineStatusR\x06status\x12p\n\x1arecent_provisioning_events\x18\n \x01(\x0b\x32\x32.metalstack.api.v2.MachineRecentProvisioningEventsR\x18recentProvisioningEvents\"\xa4\x02\n\rMachineStatus\x12\x41\n\tcondition\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.MachineConditionR\tcondition\x12N\n\tled_state\x18\x02 \x01(\x0b\x32\x31.metalstack.api.v2.MachineChassisIdentifyLEDStateR\x08ledState\x12N\n\nliveliness\x18\x03 \x01(\x0e\x32$.metalstack.api.v2.MachineLivelinessB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nliveliness\x12\x30\n\x14metal_hammer_version\x18\x04 \x01(\tR\x12metalHammerVersion\"\xa1\x01\n\x10MachineCondition\x12?\n\x05state\x18\x01 \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\x12 \n\x06issuer\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xa2\x07\n\x11MachineAllocation\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x1c\n\x04name\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12\'\n\ncreated_by\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\tcreatedBy\x12\"\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12.\n\x05image\x18\x07 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12P\n\x11\x66ilesystem_layout\x18\x08 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\x12=\n\x08networks\x18\t \x03(\x0b\x32!.metalstack.api.v2.MachineNetworkR\x08networks\x12#\n\x08hostname\x18\n \x01(\tB\x07\xbaH\x04r\x02h\x01R\x08hostname\x12\x39\n\x0fssh_public_keys\x18\x0b \x03(\tB\x11\xbaH\x0e\x92\x01\x0b\x10\x32\"\x07r\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12%\n\x08userdata\x18\x0c \x01(\tB\t\xbaH\x06r\x04\x18\x80\x80\x02R\x08userdata\x12[\n\x0f\x61llocation_type\x18\r \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x61llocationType\x12G\n\x0e\x66irewall_rules\x18\x0e \x01(\x0b\x32 .metalstack.api.v2.FirewallRulesR\rfirewallRules\x12\x45\n\ndns_server\x18\x0f \x03(\x0b\x32\x1c.metalstack.api.v2.DNSServerB\x08\xbaH\x05\x92\x01\x02\x10\x03R\tdnsServer\x12\x45\n\nntp_server\x18\x10 \x03(\x0b\x32\x1c.metalstack.api.v2.NTPServerB\x08\xbaH\x05\x92\x01\x02\x10\nR\tntpServer\x12/\n\x03vpn\x18\x11 \x01(\x0b\x32\x1d.metalstack.api.v2.MachineVPNR\x03vpn\"}\n\x18MachineAllocationNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x30\n\x12no_auto_acquire_ip\x18\x02 \x01(\x08H\x00R\x0fnoAutoAcquireIp\x88\x01\x01\x42\x15\n\x13_no_auto_acquire_ip\"\x90\x01\n\rFirewallRules\x12=\n\x06\x65gress\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.FirewallEgressRuleR\x06\x65gress\x12@\n\x07ingress\x18\x02 \x03(\x0b\x32&.metalstack.api.v2.FirewallIngressRuleR\x07ingress\"\x87\x02\n\x12\x46irewallEgressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12\x31\n\x07\x63omment\x18\x04 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\xe5\x02\n\x13\x46irewallIngressRule\x12\x43\n\x08protocol\x18\x01 \x01(\x0e\x32\x1d.metalstack.api.v2.IPProtocolB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08protocol\x12$\n\x05ports\x18\x02 \x03(\rB\x0e\xbaH\x0b\x92\x01\x08\"\x06*\x04\x18\xfc\xff\x03R\x05ports\x12S\n\x02to\x18\x03 \x03(\tBC\xbaH@\x92\x01=\";\xba\x01\x38\n\x08valid_to\x12\x19to prefixes must be valid\x1a\x11this.isIpPrefix()R\x02to\x12[\n\x04\x66rom\x18\x04 \x03(\tBG\xbaHD\x92\x01\x41\"?\xba\x01<\n\nvalid_from\x12\x1b\x66rom prefixes must be valid\x1a\x11this.isIpPrefix()R\x04\x66rom\x12\x31\n\x07\x63omment\x18\x05 \x01(\tB\x17\xbaH\x14r\x0f\x18\x64\x32\x0b^[a-z_ -]*$\xd8\x01\x01R\x07\x63omment\"\x9e\x04\n\x0eMachineNetwork\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12K\n\x0cnetwork_type\x18\x05 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0bnetworkType\x12?\n\x08nat_type\x18\x06 \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x10\n\x03vrf\x18\x07 \x01(\x04R\x03vrf\x12\x10\n\x03\x61sn\x18\x08 \x01(\rR\x03\x61sn\"\xfb\x01\n\x0fMachineHardware\x12\x16\n\x06memory\x18\x01 \x01(\x04R\x06memory\x12;\n\x05\x64isks\x18\x03 \x03(\x0b\x32%.metalstack.api.v2.MachineBlockDeviceR\x05\x64isks\x12/\n\x04\x63pus\x18\x04 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalCPUR\x04\x63pus\x12/\n\x04gpus\x18\x05 \x03(\x0b\x32\x1b.metalstack.api.v2.MetalGPUR\x04gpus\x12\x31\n\x04nics\x18\x06 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\x04nics\"|\n\x08MetalCPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\x12\x14\n\x05\x63ores\x18\x03 \x01(\rR\x05\x63ores\x12\x18\n\x07threads\x18\x04 \x01(\rR\x07threads\"L\n\x08MetalGPU\x12 \n\x06vendor\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1e\n\x05model\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x05model\"\xae\x02\n\nMachineNic\x12\x41\n\x03mac\x18\x01 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x03mac\x12\x1e\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12(\n\nidentifier\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nidentifier\x12 \n\x06vendor\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x06vendor\x12\x1e\n\x05model\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05model\x12\x14\n\x05speed\x18\x06 \x01(\x04R\x05speed\x12;\n\tneighbors\x18\x07 \x03(\x0b\x32\x1d.metalstack.api.v2.MachineNicR\tneighbors\"F\n\x12MachineBlockDevice\x12\x1c\n\x04name\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"l\n\x1eMachineChassisIdentifyLEDState\x12\x1e\n\x05value\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x05value\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x0b\x64\x65scription\"q\n\x0bMachineBios\x12\"\n\x07version\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x07version\x12 \n\x06vendor\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x06vendor\x12\x1c\n\x04\x64\x61te\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x02R\x04\x64\x61te\"\xd3\x02\n\x1fMachineRecentProvisioningEvents\x12\x43\n\x06\x65vents\x18\x01 \x03(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x06\x65vents\x12\x42\n\x0flast_event_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\rlastEventTime\x12U\n\x10last_error_event\x18\x03 \x01(\x0b\x32+.metalstack.api.v2.MachineProvisioningEventR\x0elastErrorEvent\x12P\n\x05state\x18\x04 \x01(\x0e\x32\x30.metalstack.api.v2.MachineProvisioningEventStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x05state\"\xab\x01\n\x18MachineProvisioningEvent\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x45\n\x05\x65vent\x18\x02 \x01(\x0e\x32/.metalstack.api.v2.MachineProvisioningEventTypeR\x05\x65vent\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\"y\n\nMachineVPN\x12\x32\n\x15\x63ontrol_plane_address\x18\x01 \x01(\tR\x13\x63ontrolPlaneAddress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\x12\x1c\n\tconnected\x18\x03 \x01(\x08R\tconnected\"\xa7\x07\n\x0cMachineQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12-\n\tpartition\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12#\n\x04size\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04size\x88\x01\x01\x12#\n\x04rack\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x04rack\x88\x01\x01\x12\x36\n\x06labels\x18\x06 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\x88\x01\x01\x12N\n\nallocation\x18\x07 \x01(\x0b\x32).metalstack.api.v2.MachineAllocationQueryH\x06R\nallocation\x88\x01\x01\x12\x45\n\x07network\x18\x08 \x01(\x0b\x32&.metalstack.api.v2.MachineNetworkQueryH\x07R\x07network\x88\x01\x01\x12\x39\n\x03nic\x18\t \x01(\x0b\x32\".metalstack.api.v2.MachineNicQueryH\x08R\x03nic\x88\x01\x01\x12<\n\x04\x64isk\x18\n \x01(\x0b\x32#.metalstack.api.v2.MachineDiskQueryH\tR\x04\x64isk\x88\x01\x01\x12<\n\x04ipmi\x18\x0b \x01(\x0b\x32#.metalstack.api.v2.MachineIPMIQueryH\nR\x04ipmi\x88\x01\x01\x12\x39\n\x03\x66ru\x18\x0c \x01(\x0b\x32\".metalstack.api.v2.MachineFRUQueryH\x0bR\x03\x66ru\x88\x01\x01\x12H\n\x08hardware\x18\r \x01(\x0b\x32\'.metalstack.api.v2.MachineHardwareQueryH\x0cR\x08hardware\x88\x01\x01\x12:\n\x05state\x18\x0e \x01(\x0e\x32\x1f.metalstack.api.v2.MachineStateH\rR\x05state\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\x0c\n\n_partitionB\x07\n\x05_sizeB\x07\n\x05_rackB\t\n\x07_labelsB\r\n\x0b_allocationB\n\n\x08_networkB\x06\n\x04_nicB\x07\n\x05_diskB\x07\n\x05_ipmiB\x06\n\x04_fruB\x0b\n\t_hardwareB\x08\n\x06_state\"\x9f\x04\n\x16MachineAllocationQuery\x12!\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12%\n\x05image\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05image\x88\x01\x01\x12<\n\x11\x66ilesystem_layout\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x10\x66ilesystemLayout\x88\x01\x01\x12+\n\x08hostname\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x05R\x08hostname\x88\x01\x01\x12`\n\x0f\x61llocation_type\x18\x07 \x01(\x0e\x32(.metalstack.api.v2.MachineAllocationTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x61llocationType\x88\x01\x01\x12\x36\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x07R\x06labels\x88\x01\x01\x42\x07\n\x05_uuidB\x07\n\x05_nameB\n\n\x08_projectB\x08\n\x06_imageB\x14\n\x12_filesystem_layoutB\x0b\n\t_hostnameB\x12\n\x10_allocation_typeB\t\n\x07_labels\"\x9b\x03\n\x13MachineNetworkQuery\x12\x1a\n\x08networks\x18\x01 \x03(\tR\x08networks\x12\x62\n\x08prefixes\x18\x02 \x03(\tBF\xbaHC\x92\x01@\">\xba\x01;\n\x0evalid_prefixes\x12\x16prefixes must be valid\x1a\x11this.isIpPrefix()R\x08prefixes\x12\x91\x01\n\x14\x64\x65stination_prefixes\x18\x03 \x03(\tB^\xbaH[\x92\x01X\"V\xba\x01S\n\x1avalid_destination_prefixes\x12\"destination_prefixes must be valid\x1a\x11this.isIpPrefix()R\x13\x64\x65stinationPrefixes\x12H\n\x03ips\x18\x04 \x03(\tB6\xbaH3\x92\x01\x30\".\xba\x01+\n\tvalid_ips\x12\x11ips must be valid\x1a\x0bthis.isIp()R\x03ips\x12\x12\n\x04vrfs\x18\x05 \x03(\x04R\x04vrfs\x12\x12\n\x04\x61sns\x18\x06 \x03(\rR\x04\x61sns\"\x99\x02\n\x0fMachineNicQuery\x12J\n\x04macs\x18\x01 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x04macs\x12%\n\x05names\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12[\n\rneighbor_macs\x18\x03 \x03(\tB6\xbaH3\x92\x01\x30\x10\x64\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x0cneighborMacs\x12\x36\n\x0eneighbor_names\x18\x04 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\rneighborNames\"Y\n\x10MachineDiskQuery\x12%\n\x05names\x18\x01 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x64\"\x05r\x03\x18\x80\x01R\x05names\x12\x1e\n\x05sizes\x18\x02 \x03(\x04\x42\x08\xbaH\x05\x92\x01\x02\x10\x64R\x05sizes\"\xfd\x01\n\x10MachineIPMIQuery\x12&\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x07\x61\x64\x64ress\x88\x01\x01\x12\x46\n\x03mac\x18\x02 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$H\x01R\x03mac\x88\x01\x01\x12!\n\x04user\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x04user\x88\x01\x01\x12+\n\tinterface\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\tinterface\x88\x01\x01\x42\n\n\x08_addressB\x06\n\x04_macB\x07\n\x05_userB\x0c\n\n_interface\"\x88\x05\n\x0fMachineFRUQuery\x12=\n\x13\x63hassis_part_number\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x00R\x11\x63hassisPartNumber\x88\x01\x01\x12=\n\x13\x63hassis_part_serial\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x11\x63hassisPartSerial\x88\x01\x01\x12*\n\tboard_mfg\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x02R\x08\x62oardMfg\x88\x01\x01\x12\x30\n\x0c\x62oard_serial\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x03R\x0b\x62oardSerial\x88\x01\x01\x12\x39\n\x11\x62oard_part_number\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x04R\x0f\x62oardPartNumber\x88\x01\x01\x12@\n\x14product_manufacturer\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x13productManufacturer\x88\x01\x01\x12=\n\x13product_part_number\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x06R\x11productPartNumber\x88\x01\x01\x12\x34\n\x0eproduct_serial\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x07R\rproductSerial\x88\x01\x01\x42\x16\n\x14_chassis_part_numberB\x16\n\x14_chassis_part_serialB\x0c\n\n_board_mfgB\x0f\n\r_board_serialB\x14\n\x12_board_part_numberB\x17\n\x15_product_manufacturerB\x16\n\x14_product_part_numberB\x11\n\x0f_product_serial\"n\n\x14MachineHardwareQuery\x12\x1b\n\x06memory\x18\x01 \x01(\x04H\x00R\x06memory\x88\x01\x01\x12 \n\tcpu_cores\x18\x02 \x01(\rH\x01R\x08\x63puCores\x88\x01\x01\x42\t\n\x07_memoryB\x0c\n\n_cpu_cores*e\n\nIPProtocol\x12\x1b\n\x17IP_PROTOCOL_UNSPECIFIED\x10\x00\x12\x1c\n\x0fIP_PROTOCOL_TCP\x10\x01\x1a\x07\x82\xb2\x19\x03tcp\x12\x1c\n\x0fIP_PROTOCOL_UDP\x10\x02\x1a\x07\x82\xb2\x19\x03udp*\xaf\x01\n\x0cMachineState\x12#\n\x19MACHINE_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12(\n\x16MACHINE_STATE_RESERVED\x10\x01\x1a\x0c\x82\xb2\x19\x08reserved\x12$\n\x14MACHINE_STATE_LOCKED\x10\x02\x1a\n\x82\xb2\x19\x06locked\x12*\n\x17MACHINE_STATE_AVAILABLE\x10\x03\x1a\r\x82\xb2\x19\tavailable*\xdf\x01\n\x1dMachineProvisioningEventState\x12\x36\n,MACHINE_PROVISIONING_EVENT_STATE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12=\n*MACHINE_PROVISIONING_EVENT_STATE_CRASHLOOP\x10\x01\x1a\r\x82\xb2\x19\tcrashloop\x12G\n/MACHINE_PROVISIONING_EVENT_STATE_FAILED_RECLAIM\x10\x02\x1a\x12\x82\xb2\x19\x0e\x66\x61iled-reclaim*\x9f\x06\n\x1cMachineProvisioningEventType\x12/\n+MACHINE_PROVISIONING_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x34\n%MACHINE_PROVISIONING_EVENT_TYPE_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x41live\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_CRASHED\x10\x02\x1a\x0b\x82\xb2\x19\x07\x43rashed\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PXE_BOOTING\x10\x03\x1a\x0f\x82\xb2\x19\x0bPXE Booting\x12\x46\n.MACHINE_PROVISIONING_EVENT_TYPE_PLANNED_REBOOT\x10\x04\x1a\x12\x82\xb2\x19\x0ePlanned Reboot\x12<\n)MACHINE_PROVISIONING_EVENT_TYPE_PREPARING\x10\x05\x1a\r\x82\xb2\x19\tPreparing\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_REGISTERING\x10\x06\x1a\x0f\x82\xb2\x19\x0bRegistering\x12\x38\n\'MACHINE_PROVISIONING_EVENT_TYPE_WAITING\x10\x07\x1a\x0b\x82\xb2\x19\x07Waiting\x12>\n*MACHINE_PROVISIONING_EVENT_TYPE_INSTALLING\x10\x08\x1a\x0e\x82\xb2\x19\nInstalling\x12N\n2MACHINE_PROVISIONING_EVENT_TYPE_BOOTING_NEW_KERNEL\x10\t\x1a\x16\x82\xb2\x19\x12\x42ooting New Kernel\x12@\n+MACHINE_PROVISIONING_EVENT_TYPE_PHONED_HOME\x10\n\x1a\x0f\x82\xb2\x19\x0bPhoned Home\x12H\n/MACHINE_PROVISIONING_EVENT_TYPE_MACHINE_RECLAIM\x10\x0b\x1a\x13\x82\xb2\x19\x0fMachine Reclaim*\xba\x01\n\x11MachineLiveliness\x12(\n\x1eMACHINE_LIVELINESS_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\'\n\x18MACHINE_LIVELINESS_ALIVE\x10\x01\x1a\t\x82\xb2\x19\x05\x61live\x12%\n\x17MACHINE_LIVELINESS_DEAD\x10\x02\x1a\x08\x82\xb2\x19\x04\x64\x65\x61\x64\x12+\n\x1aMACHINE_LIVELINESS_UNKNOWN\x10\x03\x1a\x0b\x82\xb2\x19\x07unknown*\xac\x01\n\x15MachineAllocationType\x12-\n#MACHINE_ALLOCATION_TYPE_UNSPECIFIED\x10\x00\x1a\x04\x82\xb2\x19\x00\x12\x30\n\x1fMACHINE_ALLOCATION_TYPE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12\x32\n MACHINE_ALLOCATION_TYPE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall2\xca\x04\n\x0eMachineService\x12m\n\x03Get\x12+.metalstack.api.v2.MachineServiceGetRequest\x1a,.metalstack.api.v2.MachineServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.MachineServiceCreateRequest\x1a/.metalstack.api.v2.MachineServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.MachineServiceUpdateRequest\x1a/.metalstack.api.v2.MachineServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.MachineServiceListRequest\x1a-.metalstack.api.v2.MachineServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.MachineServiceDeleteRequest\x1a/.metalstack.api.v2.MachineServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cMachineProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
36
36
 
37
37
  _globals = globals()
38
38
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -268,14 +268,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
268
268
  _globals['_MACHINENICQUERY'].fields_by_name['macs']._serialized_options = b'\272H3\222\0010\020d\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$'
269
269
  _globals['_MACHINENICQUERY'].fields_by_name['names']._loaded_options = None
270
270
  _globals['_MACHINENICQUERY'].fields_by_name['names']._serialized_options = b'\272H\014\222\001\t\020d\"\005r\003\030\200\001'
271
- _globals['_MACHINENICQUERY'].fields_by_name['vrfs']._loaded_options = None
272
- _globals['_MACHINENICQUERY'].fields_by_name['vrfs']._serialized_options = b'\272H\005\222\001\002\020d'
273
271
  _globals['_MACHINENICQUERY'].fields_by_name['neighbor_macs']._loaded_options = None
274
272
  _globals['_MACHINENICQUERY'].fields_by_name['neighbor_macs']._serialized_options = b'\272H3\222\0010\020d\",r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$'
275
273
  _globals['_MACHINENICQUERY'].fields_by_name['neighbor_names']._loaded_options = None
276
274
  _globals['_MACHINENICQUERY'].fields_by_name['neighbor_names']._serialized_options = b'\272H\014\222\001\t\020d\"\005r\003\030\200\001'
277
- _globals['_MACHINENICQUERY'].fields_by_name['neighbor_vrfs']._loaded_options = None
278
- _globals['_MACHINENICQUERY'].fields_by_name['neighbor_vrfs']._serialized_options = b'\272H\005\222\001\002\020d'
279
275
  _globals['_MACHINEDISKQUERY'].fields_by_name['names']._loaded_options = None
280
276
  _globals['_MACHINEDISKQUERY'].fields_by_name['names']._serialized_options = b'\272H\014\222\001\t\020d\"\005r\003\030\200\001'
281
277
  _globals['_MACHINEDISKQUERY'].fields_by_name['sizes']._loaded_options = None
@@ -314,92 +310,94 @@ if not _descriptor._USE_C_DESCRIPTORS:
314
310
  _globals['_MACHINESERVICE'].methods_by_name['List']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
315
311
  _globals['_MACHINESERVICE'].methods_by_name['Delete']._loaded_options = None
316
312
  _globals['_MACHINESERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
317
- _globals['_IPPROTOCOL']._serialized_start=10840
318
- _globals['_IPPROTOCOL']._serialized_end=10941
319
- _globals['_MACHINESTATE']._serialized_start=10944
320
- _globals['_MACHINESTATE']._serialized_end=11119
321
- _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=11122
322
- _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=11345
323
- _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=11348
324
- _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=12147
325
- _globals['_MACHINELIVELINESS']._serialized_start=12150
326
- _globals['_MACHINELIVELINESS']._serialized_end=12336
327
- _globals['_MACHINEALLOCATIONTYPE']._serialized_start=12339
328
- _globals['_MACHINEALLOCATIONTYPE']._serialized_end=12511
313
+ _globals['_IPPROTOCOL']._serialized_start=10916
314
+ _globals['_IPPROTOCOL']._serialized_end=11017
315
+ _globals['_MACHINESTATE']._serialized_start=11020
316
+ _globals['_MACHINESTATE']._serialized_end=11195
317
+ _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_start=11198
318
+ _globals['_MACHINEPROVISIONINGEVENTSTATE']._serialized_end=11421
319
+ _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_start=11424
320
+ _globals['_MACHINEPROVISIONINGEVENTTYPE']._serialized_end=12223
321
+ _globals['_MACHINELIVELINESS']._serialized_start=12226
322
+ _globals['_MACHINELIVELINESS']._serialized_end=12412
323
+ _globals['_MACHINEALLOCATIONTYPE']._serialized_start=12415
324
+ _globals['_MACHINEALLOCATIONTYPE']._serialized_end=12587
329
325
  _globals['_MACHINESERVICEGETREQUEST']._serialized_start=313
330
326
  _globals['_MACHINESERVICEGETREQUEST']._serialized_end=405
331
327
  _globals['_MACHINESERVICEGETRESPONSE']._serialized_start=407
332
328
  _globals['_MACHINESERVICEGETRESPONSE']._serialized_end=488
333
329
  _globals['_MACHINESERVICECREATEREQUEST']._serialized_start=491
334
- _globals['_MACHINESERVICECREATEREQUEST']._serialized_end=1564
335
- _globals['_MACHINESERVICECREATERESPONSE']._serialized_start=1566
336
- _globals['_MACHINESERVICECREATERESPONSE']._serialized_end=1650
337
- _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_start=1653
338
- _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_end=1945
339
- _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_start=1947
340
- _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_end=2031
341
- _globals['_MACHINESERVICELISTREQUEST']._serialized_start=2033
342
- _globals['_MACHINESERVICELISTREQUEST']._serialized_end=2151
343
- _globals['_MACHINESERVICELISTRESPONSE']._serialized_start=2153
344
- _globals['_MACHINESERVICELISTRESPONSE']._serialized_end=2237
345
- _globals['_MACHINESERVICEDELETEREQUEST']._serialized_start=2239
346
- _globals['_MACHINESERVICEDELETEREQUEST']._serialized_end=2334
347
- _globals['_MACHINESERVICEDELETERESPONSE']._serialized_start=2336
348
- _globals['_MACHINESERVICEDELETERESPONSE']._serialized_end=2420
349
- _globals['_MACHINE']._serialized_start=2423
350
- _globals['_MACHINE']._serialized_end=3000
351
- _globals['_MACHINESTATUS']._serialized_start=3003
352
- _globals['_MACHINESTATUS']._serialized_end=3295
353
- _globals['_MACHINECONDITION']._serialized_start=3298
354
- _globals['_MACHINECONDITION']._serialized_end=3459
355
- _globals['_MACHINEALLOCATION']._serialized_start=3462
356
- _globals['_MACHINEALLOCATION']._serialized_end=4392
357
- _globals['_MACHINEALLOCATIONNETWORK']._serialized_start=4394
358
- _globals['_MACHINEALLOCATIONNETWORK']._serialized_end=4519
359
- _globals['_FIREWALLRULES']._serialized_start=4522
360
- _globals['_FIREWALLRULES']._serialized_end=4666
361
- _globals['_FIREWALLEGRESSRULE']._serialized_start=4669
362
- _globals['_FIREWALLEGRESSRULE']._serialized_end=4932
363
- _globals['_FIREWALLINGRESSRULE']._serialized_start=4935
364
- _globals['_FIREWALLINGRESSRULE']._serialized_end=5292
365
- _globals['_MACHINENETWORK']._serialized_start=5295
366
- _globals['_MACHINENETWORK']._serialized_end=5837
367
- _globals['_MACHINEHARDWARE']._serialized_start=5840
368
- _globals['_MACHINEHARDWARE']._serialized_end=6091
369
- _globals['_METALCPU']._serialized_start=6093
370
- _globals['_METALCPU']._serialized_end=6217
371
- _globals['_METALGPU']._serialized_start=6219
372
- _globals['_METALGPU']._serialized_end=6295
373
- _globals['_MACHINENIC']._serialized_start=6298
374
- _globals['_MACHINENIC']._serialized_end=6600
375
- _globals['_MACHINEBLOCKDEVICE']._serialized_start=6602
376
- _globals['_MACHINEBLOCKDEVICE']._serialized_end=6672
377
- _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=6674
378
- _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=6782
379
- _globals['_MACHINEBIOS']._serialized_start=6784
380
- _globals['_MACHINEBIOS']._serialized_end=6897
381
- _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=6900
382
- _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=7239
383
- _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=7242
384
- _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=7413
385
- _globals['_MACHINEVPN']._serialized_start=7415
386
- _globals['_MACHINEVPN']._serialized_end=7536
387
- _globals['_MACHINEQUERY']._serialized_start=7539
388
- _globals['_MACHINEQUERY']._serialized_end=8474
389
- _globals['_MACHINEALLOCATIONQUERY']._serialized_start=8477
390
- _globals['_MACHINEALLOCATIONQUERY']._serialized_end=8953
391
- _globals['_MACHINENETWORKQUERY']._serialized_start=8956
392
- _globals['_MACHINENETWORKQUERY']._serialized_end=9367
393
- _globals['_MACHINENICQUERY']._serialized_start=9370
394
- _globals['_MACHINENICQUERY']._serialized_end=9728
395
- _globals['_MACHINEDISKQUERY']._serialized_start=9730
396
- _globals['_MACHINEDISKQUERY']._serialized_end=9819
397
- _globals['_MACHINEIPMIQUERY']._serialized_start=9822
398
- _globals['_MACHINEIPMIQUERY']._serialized_end=10075
399
- _globals['_MACHINEFRUQUERY']._serialized_start=10078
400
- _globals['_MACHINEFRUQUERY']._serialized_end=10726
401
- _globals['_MACHINEHARDWAREQUERY']._serialized_start=10728
402
- _globals['_MACHINEHARDWAREQUERY']._serialized_end=10838
403
- _globals['_MACHINESERVICE']._serialized_start=12514
404
- _globals['_MACHINESERVICE']._serialized_end=13100
330
+ _globals['_MACHINESERVICECREATEREQUEST']._serialized_end=1561
331
+ _globals['_FIREWALLSPEC']._serialized_start=1563
332
+ _globals['_FIREWALLSPEC']._serialized_end=1650
333
+ _globals['_MACHINESERVICECREATERESPONSE']._serialized_start=1652
334
+ _globals['_MACHINESERVICECREATERESPONSE']._serialized_end=1736
335
+ _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_start=1739
336
+ _globals['_MACHINESERVICEUPDATEREQUEST']._serialized_end=2031
337
+ _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_start=2033
338
+ _globals['_MACHINESERVICEUPDATERESPONSE']._serialized_end=2117
339
+ _globals['_MACHINESERVICELISTREQUEST']._serialized_start=2119
340
+ _globals['_MACHINESERVICELISTREQUEST']._serialized_end=2237
341
+ _globals['_MACHINESERVICELISTRESPONSE']._serialized_start=2239
342
+ _globals['_MACHINESERVICELISTRESPONSE']._serialized_end=2323
343
+ _globals['_MACHINESERVICEDELETEREQUEST']._serialized_start=2325
344
+ _globals['_MACHINESERVICEDELETEREQUEST']._serialized_end=2420
345
+ _globals['_MACHINESERVICEDELETERESPONSE']._serialized_start=2422
346
+ _globals['_MACHINESERVICEDELETERESPONSE']._serialized_end=2506
347
+ _globals['_MACHINE']._serialized_start=2509
348
+ _globals['_MACHINE']._serialized_end=3086
349
+ _globals['_MACHINESTATUS']._serialized_start=3089
350
+ _globals['_MACHINESTATUS']._serialized_end=3381
351
+ _globals['_MACHINECONDITION']._serialized_start=3384
352
+ _globals['_MACHINECONDITION']._serialized_end=3545
353
+ _globals['_MACHINEALLOCATION']._serialized_start=3548
354
+ _globals['_MACHINEALLOCATION']._serialized_end=4478
355
+ _globals['_MACHINEALLOCATIONNETWORK']._serialized_start=4480
356
+ _globals['_MACHINEALLOCATIONNETWORK']._serialized_end=4605
357
+ _globals['_FIREWALLRULES']._serialized_start=4608
358
+ _globals['_FIREWALLRULES']._serialized_end=4752
359
+ _globals['_FIREWALLEGRESSRULE']._serialized_start=4755
360
+ _globals['_FIREWALLEGRESSRULE']._serialized_end=5018
361
+ _globals['_FIREWALLINGRESSRULE']._serialized_start=5021
362
+ _globals['_FIREWALLINGRESSRULE']._serialized_end=5378
363
+ _globals['_MACHINENETWORK']._serialized_start=5381
364
+ _globals['_MACHINENETWORK']._serialized_end=5923
365
+ _globals['_MACHINEHARDWARE']._serialized_start=5926
366
+ _globals['_MACHINEHARDWARE']._serialized_end=6177
367
+ _globals['_METALCPU']._serialized_start=6179
368
+ _globals['_METALCPU']._serialized_end=6303
369
+ _globals['_METALGPU']._serialized_start=6305
370
+ _globals['_METALGPU']._serialized_end=6381
371
+ _globals['_MACHINENIC']._serialized_start=6384
372
+ _globals['_MACHINENIC']._serialized_end=6686
373
+ _globals['_MACHINEBLOCKDEVICE']._serialized_start=6688
374
+ _globals['_MACHINEBLOCKDEVICE']._serialized_end=6758
375
+ _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_start=6760
376
+ _globals['_MACHINECHASSISIDENTIFYLEDSTATE']._serialized_end=6868
377
+ _globals['_MACHINEBIOS']._serialized_start=6870
378
+ _globals['_MACHINEBIOS']._serialized_end=6983
379
+ _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_start=6986
380
+ _globals['_MACHINERECENTPROVISIONINGEVENTS']._serialized_end=7325
381
+ _globals['_MACHINEPROVISIONINGEVENT']._serialized_start=7328
382
+ _globals['_MACHINEPROVISIONINGEVENT']._serialized_end=7499
383
+ _globals['_MACHINEVPN']._serialized_start=7501
384
+ _globals['_MACHINEVPN']._serialized_end=7622
385
+ _globals['_MACHINEQUERY']._serialized_start=7625
386
+ _globals['_MACHINEQUERY']._serialized_end=8560
387
+ _globals['_MACHINEALLOCATIONQUERY']._serialized_start=8563
388
+ _globals['_MACHINEALLOCATIONQUERY']._serialized_end=9106
389
+ _globals['_MACHINENETWORKQUERY']._serialized_start=9109
390
+ _globals['_MACHINENETWORKQUERY']._serialized_end=9520
391
+ _globals['_MACHINENICQUERY']._serialized_start=9523
392
+ _globals['_MACHINENICQUERY']._serialized_end=9804
393
+ _globals['_MACHINEDISKQUERY']._serialized_start=9806
394
+ _globals['_MACHINEDISKQUERY']._serialized_end=9895
395
+ _globals['_MACHINEIPMIQUERY']._serialized_start=9898
396
+ _globals['_MACHINEIPMIQUERY']._serialized_end=10151
397
+ _globals['_MACHINEFRUQUERY']._serialized_start=10154
398
+ _globals['_MACHINEFRUQUERY']._serialized_end=10802
399
+ _globals['_MACHINEHARDWAREQUERY']._serialized_start=10804
400
+ _globals['_MACHINEHARDWAREQUERY']._serialized_end=10914
401
+ _globals['_MACHINESERVICE']._serialized_start=12590
402
+ _globals['_MACHINESERVICE']._serialized_end=13176
405
403
  # @@protoc_insertion_point(module_scope)
@@ -108,7 +108,7 @@ class MachineServiceGetResponse(_message.Message):
108
108
  def __init__(self, machine: _Optional[_Union[Machine, _Mapping]] = ...) -> None: ...
109
109
 
110
110
  class MachineServiceCreateRequest(_message.Message):
111
- __slots__ = ("project", "uuid", "name", "description", "hostname", "partition", "size", "image", "filesystem_layout", "ssh_public_keys", "userdata", "labels", "networks", "ips", "placement_tags", "dns_server", "ntp_server", "allocation_type", "firewall_rules")
111
+ __slots__ = ("project", "uuid", "name", "description", "hostname", "partition", "size", "image", "filesystem_layout", "ssh_public_keys", "userdata", "labels", "networks", "ips", "placement_tags", "dns_server", "ntp_server", "allocation_type", "firewall_spec")
112
112
  PROJECT_FIELD_NUMBER: _ClassVar[int]
113
113
  UUID_FIELD_NUMBER: _ClassVar[int]
114
114
  NAME_FIELD_NUMBER: _ClassVar[int]
@@ -127,7 +127,7 @@ class MachineServiceCreateRequest(_message.Message):
127
127
  DNS_SERVER_FIELD_NUMBER: _ClassVar[int]
128
128
  NTP_SERVER_FIELD_NUMBER: _ClassVar[int]
129
129
  ALLOCATION_TYPE_FIELD_NUMBER: _ClassVar[int]
130
- FIREWALL_RULES_FIELD_NUMBER: _ClassVar[int]
130
+ FIREWALL_SPEC_FIELD_NUMBER: _ClassVar[int]
131
131
  project: str
132
132
  uuid: str
133
133
  name: str
@@ -146,8 +146,14 @@ class MachineServiceCreateRequest(_message.Message):
146
146
  dns_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.DNSServer]
147
147
  ntp_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.NTPServer]
148
148
  allocation_type: MachineAllocationType
149
+ firewall_spec: FirewallSpec
150
+ def __init__(self, project: _Optional[str] = ..., uuid: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., hostname: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineAllocationNetwork, _Mapping]]] = ..., ips: _Optional[_Iterable[str]] = ..., placement_tags: _Optional[_Iterable[str]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ..., firewall_spec: _Optional[_Union[FirewallSpec, _Mapping]] = ...) -> None: ...
151
+
152
+ class FirewallSpec(_message.Message):
153
+ __slots__ = ("firewall_rules",)
154
+ FIREWALL_RULES_FIELD_NUMBER: _ClassVar[int]
149
155
  firewall_rules: FirewallRules
150
- def __init__(self, project: _Optional[str] = ..., uuid: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., hostname: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., ssh_public_keys: _Optional[_Iterable[str]] = ..., userdata: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., networks: _Optional[_Iterable[_Union[MachineAllocationNetwork, _Mapping]]] = ..., ips: _Optional[_Iterable[str]] = ..., placement_tags: _Optional[_Iterable[str]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ..., firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ...) -> None: ...
156
+ def __init__(self, firewall_rules: _Optional[_Union[FirewallRules, _Mapping]] = ...) -> None: ...
151
157
 
152
158
  class MachineServiceCreateResponse(_message.Message):
153
159
  __slots__ = ("machine",)
@@ -491,7 +497,7 @@ class MachineQuery(_message.Message):
491
497
  def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., partition: _Optional[str] = ..., size: _Optional[str] = ..., rack: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., allocation: _Optional[_Union[MachineAllocationQuery, _Mapping]] = ..., network: _Optional[_Union[MachineNetworkQuery, _Mapping]] = ..., nic: _Optional[_Union[MachineNicQuery, _Mapping]] = ..., disk: _Optional[_Union[MachineDiskQuery, _Mapping]] = ..., ipmi: _Optional[_Union[MachineIPMIQuery, _Mapping]] = ..., fru: _Optional[_Union[MachineFRUQuery, _Mapping]] = ..., hardware: _Optional[_Union[MachineHardwareQuery, _Mapping]] = ..., state: _Optional[_Union[MachineState, str]] = ...) -> None: ...
492
498
 
493
499
  class MachineAllocationQuery(_message.Message):
494
- __slots__ = ("uuid", "name", "project", "image", "filesystem_layout", "hostname", "allocation_type")
500
+ __slots__ = ("uuid", "name", "project", "image", "filesystem_layout", "hostname", "allocation_type", "labels")
495
501
  UUID_FIELD_NUMBER: _ClassVar[int]
496
502
  NAME_FIELD_NUMBER: _ClassVar[int]
497
503
  PROJECT_FIELD_NUMBER: _ClassVar[int]
@@ -499,6 +505,7 @@ class MachineAllocationQuery(_message.Message):
499
505
  FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
500
506
  HOSTNAME_FIELD_NUMBER: _ClassVar[int]
501
507
  ALLOCATION_TYPE_FIELD_NUMBER: _ClassVar[int]
508
+ LABELS_FIELD_NUMBER: _ClassVar[int]
502
509
  uuid: str
503
510
  name: str
504
511
  project: str
@@ -506,7 +513,8 @@ class MachineAllocationQuery(_message.Message):
506
513
  filesystem_layout: str
507
514
  hostname: str
508
515
  allocation_type: MachineAllocationType
509
- def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., hostname: _Optional[str] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ...) -> None: ...
516
+ labels: _common_pb2.Labels
517
+ def __init__(self, uuid: _Optional[str] = ..., name: _Optional[str] = ..., project: _Optional[str] = ..., image: _Optional[str] = ..., filesystem_layout: _Optional[str] = ..., hostname: _Optional[str] = ..., allocation_type: _Optional[_Union[MachineAllocationType, str]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
510
518
 
511
519
  class MachineNetworkQuery(_message.Message):
512
520
  __slots__ = ("networks", "prefixes", "destination_prefixes", "ips", "vrfs", "asns")
@@ -525,20 +533,16 @@ class MachineNetworkQuery(_message.Message):
525
533
  def __init__(self, networks: _Optional[_Iterable[str]] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., ips: _Optional[_Iterable[str]] = ..., vrfs: _Optional[_Iterable[int]] = ..., asns: _Optional[_Iterable[int]] = ...) -> None: ...
526
534
 
527
535
  class MachineNicQuery(_message.Message):
528
- __slots__ = ("macs", "names", "vrfs", "neighbor_macs", "neighbor_names", "neighbor_vrfs")
536
+ __slots__ = ("macs", "names", "neighbor_macs", "neighbor_names")
529
537
  MACS_FIELD_NUMBER: _ClassVar[int]
530
538
  NAMES_FIELD_NUMBER: _ClassVar[int]
531
- VRFS_FIELD_NUMBER: _ClassVar[int]
532
539
  NEIGHBOR_MACS_FIELD_NUMBER: _ClassVar[int]
533
540
  NEIGHBOR_NAMES_FIELD_NUMBER: _ClassVar[int]
534
- NEIGHBOR_VRFS_FIELD_NUMBER: _ClassVar[int]
535
541
  macs: _containers.RepeatedScalarFieldContainer[str]
536
542
  names: _containers.RepeatedScalarFieldContainer[str]
537
- vrfs: _containers.RepeatedScalarFieldContainer[int]
538
543
  neighbor_macs: _containers.RepeatedScalarFieldContainer[str]
539
544
  neighbor_names: _containers.RepeatedScalarFieldContainer[str]
540
- neighbor_vrfs: _containers.RepeatedScalarFieldContainer[int]
541
- def __init__(self, macs: _Optional[_Iterable[str]] = ..., names: _Optional[_Iterable[str]] = ..., vrfs: _Optional[_Iterable[int]] = ..., neighbor_macs: _Optional[_Iterable[str]] = ..., neighbor_names: _Optional[_Iterable[str]] = ..., neighbor_vrfs: _Optional[_Iterable[int]] = ...) -> None: ...
545
+ def __init__(self, macs: _Optional[_Iterable[str]] = ..., names: _Optional[_Iterable[str]] = ..., neighbor_macs: _Optional[_Iterable[str]] = ..., neighbor_names: _Optional[_Iterable[str]] = ...) -> None: ...
542
546
 
543
547
  class MachineDiskQuery(_message.Message):
544
548
  __slots__ = ("names", "sizes")