metal-stack-api 0.0.18__py3-none-any.whl → 0.0.21__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. {metal_stack_api-0.0.18.dist-info → metal_stack_api-0.0.21.dist-info}/METADATA +1 -1
  2. {metal_stack_api-0.0.18.dist-info → metal_stack_api-0.0.21.dist-info}/RECORD +35 -35
  3. metalstack/admin/v2/filesystem_pb2.py +19 -11
  4. metalstack/admin/v2/filesystem_pb2.pyi +24 -5
  5. metalstack/admin/v2/image_pb2.py +34 -19
  6. metalstack/admin/v2/image_pb2.pyi +21 -4
  7. metalstack/admin/v2/network_pb2.py +18 -16
  8. metalstack/admin/v2/network_pb2.pyi +4 -2
  9. metalstack/admin/v2/partition_pb2.py +27 -17
  10. metalstack/admin/v2/partition_pb2.pyi +18 -4
  11. metalstack/admin/v2/size_pb2.py +12 -10
  12. metalstack/admin/v2/size_pb2.pyi +4 -2
  13. metalstack/api/v2/common_pb2.py +20 -18
  14. metalstack/api/v2/common_pb2.pyi +19 -2
  15. metalstack/api/v2/filesystem_pb2.py +31 -33
  16. metalstack/api/v2/filesystem_pb2.pyi +0 -6
  17. metalstack/api/v2/image_pb2.py +10 -8
  18. metalstack/api/v2/image_pb2.pyi +6 -2
  19. metalstack/api/v2/ip_pb2.py +26 -24
  20. metalstack/api/v2/ip_pb2.pyi +4 -2
  21. metalstack/api/v2/machine_pb2.py +82 -80
  22. metalstack/api/v2/machine_pb2.pyi +4 -2
  23. metalstack/api/v2/network_pb2.py +36 -34
  24. metalstack/api/v2/network_pb2.pyi +4 -2
  25. metalstack/api/v2/partition_pb2.py +18 -18
  26. metalstack/api/v2/partition_pb2.pyi +4 -2
  27. metalstack/api/v2/project_pb2.py +52 -50
  28. metalstack/api/v2/project_pb2.pyi +8 -4
  29. metalstack/api/v2/size_pb2.py +6 -6
  30. metalstack/api/v2/tenant_pb2.py +53 -51
  31. metalstack/api/v2/tenant_pb2.pyi +8 -4
  32. metalstack/api/v2/token_pb2.py +18 -16
  33. metalstack/api/v2/token_pb2.pyi +4 -2
  34. {metal_stack_api-0.0.18.dist-info → metal_stack_api-0.0.21.dist-info}/WHEEL +0 -0
  35. {metal_stack_api-0.0.18.dist-info → metal_stack_api-0.0.21.dist-info}/top_level.txt +0 -0
@@ -16,10 +16,24 @@ class PartitionServiceCreateRequest(_message.Message):
16
16
  def __init__(self, partition: _Optional[_Union[_partition_pb2.Partition, _Mapping]] = ...) -> None: ...
17
17
 
18
18
  class PartitionServiceUpdateRequest(_message.Message):
19
- __slots__ = ("partition",)
20
- PARTITION_FIELD_NUMBER: _ClassVar[int]
21
- partition: _partition_pb2.Partition
22
- def __init__(self, partition: _Optional[_Union[_partition_pb2.Partition, _Mapping]] = ...) -> None: ...
19
+ __slots__ = ("id", "update_meta", "description", "boot_configuration", "dns_server", "ntp_server", "mgmt_service_addresses", "labels")
20
+ ID_FIELD_NUMBER: _ClassVar[int]
21
+ UPDATE_META_FIELD_NUMBER: _ClassVar[int]
22
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
23
+ BOOT_CONFIGURATION_FIELD_NUMBER: _ClassVar[int]
24
+ DNS_SERVER_FIELD_NUMBER: _ClassVar[int]
25
+ NTP_SERVER_FIELD_NUMBER: _ClassVar[int]
26
+ MGMT_SERVICE_ADDRESSES_FIELD_NUMBER: _ClassVar[int]
27
+ LABELS_FIELD_NUMBER: _ClassVar[int]
28
+ id: str
29
+ update_meta: _common_pb2.UpdateMeta
30
+ description: str
31
+ boot_configuration: _partition_pb2.PartitionBootConfiguration
32
+ dns_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.DNSServer]
33
+ ntp_server: _containers.RepeatedCompositeFieldContainer[_partition_pb2.NTPServer]
34
+ mgmt_service_addresses: _containers.RepeatedScalarFieldContainer[str]
35
+ labels: _common_pb2.UpdateLabels
36
+ def __init__(self, id: _Optional[str] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ..., description: _Optional[str] = ..., boot_configuration: _Optional[_Union[_partition_pb2.PartitionBootConfiguration, _Mapping]] = ..., dns_server: _Optional[_Iterable[_Union[_partition_pb2.DNSServer, _Mapping]]] = ..., ntp_server: _Optional[_Iterable[_Union[_partition_pb2.NTPServer, _Mapping]]] = ..., mgmt_service_addresses: _Optional[_Iterable[str]] = ..., labels: _Optional[_Union[_common_pb2.UpdateLabels, _Mapping]] = ...) -> None: ...
23
37
 
24
38
  class PartitionServiceDeleteRequest(_message.Message):
25
39
  __slots__ = ("id",)
@@ -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 size_pb2 as metalstack_dot_api_dot_v2_dot_size__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/admin/v2/size.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1cmetalstack/api/v2/size.proto\"G\n\x18SizeServiceCreateRequest\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"H\n\x19SizeServiceCreateResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"\xb5\x02\n\x18SizeServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x43\n\x0b\x63onstraints\x18\x06 \x03(\x0b\x32!.metalstack.api.v2.SizeConstraintR\x0b\x63onstraints\x12<\n\x06labels\x18\x07 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"H\n\x19SizeServiceUpdateResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"6\n\x18SizeServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"H\n\x19SizeServiceDeleteResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size2\xe0\x02\n\x0bSizeService\x12o\n\x06\x43reate\x12-.metalstack.admin.v2.SizeServiceCreateRequest\x1a..metalstack.admin.v2.SizeServiceCreateResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12o\n\x06Update\x12-.metalstack.admin.v2.SizeServiceUpdateRequest\x1a..metalstack.admin.v2.SizeServiceUpdateResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12o\n\x06\x44\x65lete\x12-.metalstack.admin.v2.SizeServiceDeleteRequest\x1a..metalstack.admin.v2.SizeServiceDeleteResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x42\xcd\x01\n\x17\x63om.metalstack.admin.v2B\tSizeProtoP\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\x1emetalstack/admin/v2/size.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1cmetalstack/api/v2/size.proto\"G\n\x18SizeServiceCreateRequest\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"H\n\x19SizeServiceCreateResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"\xfd\x02\n\x18SizeServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x43\n\x0b\x63onstraints\x18\x05 \x03(\x0b\x32!.metalstack.api.v2.SizeConstraintR\x0b\x63onstraints\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"H\n\x19SizeServiceUpdateResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size\"6\n\x18SizeServiceDeleteRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"H\n\x19SizeServiceDeleteResponse\x12+\n\x04size\x18\x01 \x01(\x0b\x32\x17.metalstack.api.v2.SizeR\x04size2\xe0\x02\n\x0bSizeService\x12o\n\x06\x43reate\x12-.metalstack.admin.v2.SizeServiceCreateRequest\x1a..metalstack.admin.v2.SizeServiceCreateResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12o\n\x06Update\x12-.metalstack.admin.v2.SizeServiceUpdateRequest\x1a..metalstack.admin.v2.SizeServiceUpdateResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x12o\n\x06\x44\x65lete\x12-.metalstack.admin.v2.SizeServiceDeleteRequest\x1a..metalstack.admin.v2.SizeServiceDeleteResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x42\xcd\x01\n\x17\x63om.metalstack.admin.v2B\tSizeProtoP\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\tSizeProtoP\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['_SIZESERVICEUPDATEREQUEST'].fields_by_name['id']._loaded_options = None
39
39
  _globals['_SIZESERVICEUPDATEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
40
+ _globals['_SIZESERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None
41
+ _globals['_SIZESERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001'
40
42
  _globals['_SIZESERVICEUPDATEREQUEST'].fields_by_name['name']._loaded_options = None
41
43
  _globals['_SIZESERVICEUPDATEREQUEST'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
42
44
  _globals['_SIZESERVICEUPDATEREQUEST'].fields_by_name['description']._loaded_options = None
@@ -54,13 +56,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
54
56
  _globals['_SIZESERVICECREATERESPONSE']._serialized_start=219
55
57
  _globals['_SIZESERVICECREATERESPONSE']._serialized_end=291
56
58
  _globals['_SIZESERVICEUPDATEREQUEST']._serialized_start=294
57
- _globals['_SIZESERVICEUPDATEREQUEST']._serialized_end=603
58
- _globals['_SIZESERVICEUPDATERESPONSE']._serialized_start=605
59
- _globals['_SIZESERVICEUPDATERESPONSE']._serialized_end=677
60
- _globals['_SIZESERVICEDELETEREQUEST']._serialized_start=679
61
- _globals['_SIZESERVICEDELETEREQUEST']._serialized_end=733
62
- _globals['_SIZESERVICEDELETERESPONSE']._serialized_start=735
63
- _globals['_SIZESERVICEDELETERESPONSE']._serialized_end=807
64
- _globals['_SIZESERVICE']._serialized_start=810
65
- _globals['_SIZESERVICE']._serialized_end=1162
59
+ _globals['_SIZESERVICEUPDATEREQUEST']._serialized_end=675
60
+ _globals['_SIZESERVICEUPDATERESPONSE']._serialized_start=677
61
+ _globals['_SIZESERVICEUPDATERESPONSE']._serialized_end=749
62
+ _globals['_SIZESERVICEDELETEREQUEST']._serialized_start=751
63
+ _globals['_SIZESERVICEDELETEREQUEST']._serialized_end=805
64
+ _globals['_SIZESERVICEDELETERESPONSE']._serialized_start=807
65
+ _globals['_SIZESERVICEDELETERESPONSE']._serialized_end=879
66
+ _globals['_SIZESERVICE']._serialized_start=882
67
+ _globals['_SIZESERVICE']._serialized_end=1234
66
68
  # @@protoc_insertion_point(module_scope)
@@ -22,18 +22,20 @@ class SizeServiceCreateResponse(_message.Message):
22
22
  def __init__(self, size: _Optional[_Union[_size_pb2.Size, _Mapping]] = ...) -> None: ...
23
23
 
24
24
  class SizeServiceUpdateRequest(_message.Message):
25
- __slots__ = ("id", "name", "description", "constraints", "labels")
25
+ __slots__ = ("id", "update_meta", "name", "description", "constraints", "labels")
26
26
  ID_FIELD_NUMBER: _ClassVar[int]
27
+ UPDATE_META_FIELD_NUMBER: _ClassVar[int]
27
28
  NAME_FIELD_NUMBER: _ClassVar[int]
28
29
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
29
30
  CONSTRAINTS_FIELD_NUMBER: _ClassVar[int]
30
31
  LABELS_FIELD_NUMBER: _ClassVar[int]
31
32
  id: str
33
+ update_meta: _common_pb2.UpdateMeta
32
34
  name: str
33
35
  description: str
34
36
  constraints: _containers.RepeatedCompositeFieldContainer[_size_pb2.SizeConstraint]
35
37
  labels: _common_pb2.UpdateLabels
36
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., constraints: _Optional[_Iterable[_Union[_size_pb2.SizeConstraint, _Mapping]]] = ..., labels: _Optional[_Union[_common_pb2.UpdateLabels, _Mapping]] = ...) -> None: ...
38
+ def __init__(self, id: _Optional[str] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., constraints: _Optional[_Iterable[_Union[_size_pb2.SizeConstraint, _Mapping]]] = ..., labels: _Optional[_Union[_common_pb2.UpdateLabels, _Mapping]] = ...) -> None: ...
37
39
 
38
40
  class SizeServiceUpdateResponse(_message.Message):
39
41
  __slots__ = ("size",)
@@ -27,7 +27,7 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor
27
27
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/common.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"O\n\x06Paging\x12\x17\n\x04page\x18\x01 \x01(\x04H\x00R\x04page\x88\x01\x01\x12\x19\n\x05\x63ount\x18\x02 \x01(\x04H\x01R\x05\x63ount\x88\x01\x01\x42\x07\n\x05_pageB\x08\n\x06_count\"\x9c\x01\n\x06Labels\x12W\n\x06labels\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.Labels.LabelsEntryB\x18\xbaH\x15\x9a\x01\x12\"\x07r\x05\x10\x01\x18\x80\x02*\x07r\x05\x10\x00\x18\x80\x02R\x06labels\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xfd\x01\n\x04Meta\x12\x36\n\x06labels\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x00R\x06labels\x88\x01\x01\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12-\n\ngeneration\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x01R\ngeneration\x88\x01\x01\x42\t\n\x07_labelsB\r\n\x0b_generation\"Y\n\x0cUpdateLabels\x12\x31\n\x06update\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06update\x12\x16\n\x06remove\x18\x02 \x03(\tR\x06remove*\x87\x01\n\nTenantRole\x12\x1b\n\x17TENANT_ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11TENANT_ROLE_OWNER\x10\x01\x12\x16\n\x12TENANT_ROLE_EDITOR\x10\x02\x12\x16\n\x12TENANT_ROLE_VIEWER\x10\x03\x12\x15\n\x11TENANT_ROLE_GUEST\x10\x04*u\n\x0bProjectRole\x12\x1c\n\x18PROJECT_ROLE_UNSPECIFIED\x10\x00\x12\x16\n\x12PROJECT_ROLE_OWNER\x10\x01\x12\x17\n\x13PROJECT_ROLE_EDITOR\x10\x02\x12\x17\n\x13PROJECT_ROLE_VIEWER\x10\x03*U\n\tAdminRole\x12\x1a\n\x16\x41\x44MIN_ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41\x44MIN_ROLE_EDITOR\x10\x01\x12\x15\n\x11\x41\x44MIN_ROLE_VIEWER\x10\x02*U\n\tInfraRole\x12\x1a\n\x16INFRA_ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11INFRA_ROLE_EDITOR\x10\x01\x12\x15\n\x11INFRA_ROLE_VIEWER\x10\x02*T\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x01\x12\x13\n\x0fVISIBILITY_SELF\x10\x03*R\n\x08\x41uditing\x12\x18\n\x14\x41UDITING_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41UDITING_INCLUDED\x10\x01\x12\x15\n\x11\x41UDITING_EXCLUDED\x10\x02:b\n\x0ctenant_roles\x12\x1e.google.protobuf.MethodOptions\x18\xb8\x8e\x03 \x03(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x0btenantRoles:e\n\rproject_roles\x12\x1e.google.protobuf.MethodOptions\x18\xb9\x8e\x03 \x03(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x0cprojectRoles:_\n\x0b\x61\x64min_roles\x12\x1e.google.protobuf.MethodOptions\x18\xba\x8e\x03 \x03(\x0e\x32\x1c.metalstack.api.v2.AdminRoleR\nadminRoles:_\n\nvisibility\x12\x1e.google.protobuf.MethodOptions\x18\xbb\x8e\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.VisibilityR\nvisibility:Y\n\x08\x61uditing\x12\x1e.google.protobuf.MethodOptions\x18\xbc\x8e\x03 \x01(\x0e\x32\x1b.metalstack.api.v2.AuditingR\x08\x61uditing:_\n\x0binfra_roles\x12\x1e.google.protobuf.MethodOptions\x18\xbd\x8e\x03 \x03(\x0e\x32\x1c.metalstack.api.v2.InfraRoleR\ninfraRoles:O\n\x11\x65num_string_value\x12!.google.protobuf.EnumValueOptions\x18\xa0\x96\x03 \x01(\tR\x0f\x65numStringValueB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0b\x43ommonProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/common.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"O\n\x06Paging\x12\x17\n\x04page\x18\x01 \x01(\x04H\x00R\x04page\x88\x01\x01\x12\x19\n\x05\x63ount\x18\x02 \x01(\x04H\x01R\x05\x63ount\x88\x01\x01\x42\x07\n\x05_pageB\x08\n\x06_count\"\x9c\x01\n\x06Labels\x12W\n\x06labels\x18\x01 \x03(\x0b\x32%.metalstack.api.v2.Labels.LabelsEntryB\x18\xbaH\x15\x9a\x01\x12\"\x07r\x05\x10\x01\x18\x80\x02*\x07r\x05\x10\x00\x18\x80\x02R\x06labels\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xdf\x01\n\x04Meta\x12\x36\n\x06labels\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x00R\x06labels\x88\x01\x01\x12\x39\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1e\n\ngeneration\x18\x04 \x01(\x04R\ngenerationB\t\n\x07_labels\"Y\n\x0cUpdateLabels\x12\x31\n\x06update\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06update\x12\x16\n\x06remove\x18\x02 \x03(\tR\x06remove\"\xa0\x01\n\nUpdateMeta\x12\x39\n\nupdated_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12W\n\x10locking_strategy\x18\x02 \x01(\x0e\x32,.metalstack.api.v2.OptimisticLockingStrategyR\x0flockingStrategy*\x87\x01\n\nTenantRole\x12\x1b\n\x17TENANT_ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11TENANT_ROLE_OWNER\x10\x01\x12\x16\n\x12TENANT_ROLE_EDITOR\x10\x02\x12\x16\n\x12TENANT_ROLE_VIEWER\x10\x03\x12\x15\n\x11TENANT_ROLE_GUEST\x10\x04*u\n\x0bProjectRole\x12\x1c\n\x18PROJECT_ROLE_UNSPECIFIED\x10\x00\x12\x16\n\x12PROJECT_ROLE_OWNER\x10\x01\x12\x17\n\x13PROJECT_ROLE_EDITOR\x10\x02\x12\x17\n\x13PROJECT_ROLE_VIEWER\x10\x03*U\n\tAdminRole\x12\x1a\n\x16\x41\x44MIN_ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41\x44MIN_ROLE_EDITOR\x10\x01\x12\x15\n\x11\x41\x44MIN_ROLE_VIEWER\x10\x02*U\n\tInfraRole\x12\x1a\n\x16INFRA_ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11INFRA_ROLE_EDITOR\x10\x01\x12\x15\n\x11INFRA_ROLE_VIEWER\x10\x02*T\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x01\x12\x13\n\x0fVISIBILITY_SELF\x10\x03*R\n\x08\x41uditing\x12\x18\n\x14\x41UDITING_UNSPECIFIED\x10\x00\x12\x15\n\x11\x41UDITING_INCLUDED\x10\x01\x12\x15\n\x11\x41UDITING_EXCLUDED\x10\x02*\x98\x01\n\x19OptimisticLockingStrategy\x12+\n\'OPTIMISTIC_LOCKING_STRATEGY_UNSPECIFIED\x10\x00\x12&\n\"OPTIMISTIC_LOCKING_STRATEGY_CLIENT\x10\x01\x12&\n\"OPTIMISTIC_LOCKING_STRATEGY_SERVER\x10\x02:b\n\x0ctenant_roles\x12\x1e.google.protobuf.MethodOptions\x18\xb8\x8e\x03 \x03(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x0btenantRoles:e\n\rproject_roles\x12\x1e.google.protobuf.MethodOptions\x18\xb9\x8e\x03 \x03(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x0cprojectRoles:_\n\x0b\x61\x64min_roles\x12\x1e.google.protobuf.MethodOptions\x18\xba\x8e\x03 \x03(\x0e\x32\x1c.metalstack.api.v2.AdminRoleR\nadminRoles:_\n\nvisibility\x12\x1e.google.protobuf.MethodOptions\x18\xbb\x8e\x03 \x01(\x0e\x32\x1d.metalstack.api.v2.VisibilityR\nvisibility:Y\n\x08\x61uditing\x12\x1e.google.protobuf.MethodOptions\x18\xbc\x8e\x03 \x01(\x0e\x32\x1b.metalstack.api.v2.AuditingR\x08\x61uditing:_\n\x0binfra_roles\x12\x1e.google.protobuf.MethodOptions\x18\xbd\x8e\x03 \x03(\x0e\x32\x1c.metalstack.api.v2.InfraRoleR\ninfraRoles:O\n\x11\x65num_string_value\x12!.google.protobuf.EnumValueOptions\x18\xa0\x96\x03 \x01(\tR\x0f\x65numStringValueB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0b\x43ommonProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -39,20 +39,20 @@ if not _descriptor._USE_C_DESCRIPTORS:
39
39
  _globals['_LABELS_LABELSENTRY']._serialized_options = b'8\001'
40
40
  _globals['_LABELS'].fields_by_name['labels']._loaded_options = None
41
41
  _globals['_LABELS'].fields_by_name['labels']._serialized_options = b'\272H\025\232\001\022\"\007r\005\020\001\030\200\002*\007r\005\020\000\030\200\002'
42
- _globals['_META'].fields_by_name['generation']._loaded_options = None
43
- _globals['_META'].fields_by_name['generation']._serialized_options = b'\272H\005r\003\260\001\001'
44
- _globals['_TENANTROLE']._serialized_start=737
45
- _globals['_TENANTROLE']._serialized_end=872
46
- _globals['_PROJECTROLE']._serialized_start=874
47
- _globals['_PROJECTROLE']._serialized_end=991
48
- _globals['_ADMINROLE']._serialized_start=993
49
- _globals['_ADMINROLE']._serialized_end=1078
50
- _globals['_INFRAROLE']._serialized_start=1080
51
- _globals['_INFRAROLE']._serialized_end=1165
52
- _globals['_VISIBILITY']._serialized_start=1167
53
- _globals['_VISIBILITY']._serialized_end=1251
54
- _globals['_AUDITING']._serialized_start=1253
55
- _globals['_AUDITING']._serialized_end=1335
42
+ _globals['_TENANTROLE']._serialized_start=870
43
+ _globals['_TENANTROLE']._serialized_end=1005
44
+ _globals['_PROJECTROLE']._serialized_start=1007
45
+ _globals['_PROJECTROLE']._serialized_end=1124
46
+ _globals['_ADMINROLE']._serialized_start=1126
47
+ _globals['_ADMINROLE']._serialized_end=1211
48
+ _globals['_INFRAROLE']._serialized_start=1213
49
+ _globals['_INFRAROLE']._serialized_end=1298
50
+ _globals['_VISIBILITY']._serialized_start=1300
51
+ _globals['_VISIBILITY']._serialized_end=1384
52
+ _globals['_AUDITING']._serialized_start=1386
53
+ _globals['_AUDITING']._serialized_end=1468
54
+ _globals['_OPTIMISTICLOCKINGSTRATEGY']._serialized_start=1471
55
+ _globals['_OPTIMISTICLOCKINGSTRATEGY']._serialized_end=1623
56
56
  _globals['_PAGING']._serialized_start=149
57
57
  _globals['_PAGING']._serialized_end=228
58
58
  _globals['_LABELS']._serialized_start=231
@@ -60,7 +60,9 @@ if not _descriptor._USE_C_DESCRIPTORS:
60
60
  _globals['_LABELS_LABELSENTRY']._serialized_start=330
61
61
  _globals['_LABELS_LABELSENTRY']._serialized_end=387
62
62
  _globals['_META']._serialized_start=390
63
- _globals['_META']._serialized_end=643
64
- _globals['_UPDATELABELS']._serialized_start=645
65
- _globals['_UPDATELABELS']._serialized_end=734
63
+ _globals['_META']._serialized_end=613
64
+ _globals['_UPDATELABELS']._serialized_start=615
65
+ _globals['_UPDATELABELS']._serialized_end=704
66
+ _globals['_UPDATEMETA']._serialized_start=707
67
+ _globals['_UPDATEMETA']._serialized_end=867
66
68
  # @@protoc_insertion_point(module_scope)
@@ -50,6 +50,12 @@ class Auditing(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
50
50
  AUDITING_UNSPECIFIED: _ClassVar[Auditing]
51
51
  AUDITING_INCLUDED: _ClassVar[Auditing]
52
52
  AUDITING_EXCLUDED: _ClassVar[Auditing]
53
+
54
+ class OptimisticLockingStrategy(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
55
+ __slots__ = ()
56
+ OPTIMISTIC_LOCKING_STRATEGY_UNSPECIFIED: _ClassVar[OptimisticLockingStrategy]
57
+ OPTIMISTIC_LOCKING_STRATEGY_CLIENT: _ClassVar[OptimisticLockingStrategy]
58
+ OPTIMISTIC_LOCKING_STRATEGY_SERVER: _ClassVar[OptimisticLockingStrategy]
53
59
  TENANT_ROLE_UNSPECIFIED: TenantRole
54
60
  TENANT_ROLE_OWNER: TenantRole
55
61
  TENANT_ROLE_EDITOR: TenantRole
@@ -71,6 +77,9 @@ VISIBILITY_SELF: Visibility
71
77
  AUDITING_UNSPECIFIED: Auditing
72
78
  AUDITING_INCLUDED: Auditing
73
79
  AUDITING_EXCLUDED: Auditing
80
+ OPTIMISTIC_LOCKING_STRATEGY_UNSPECIFIED: OptimisticLockingStrategy
81
+ OPTIMISTIC_LOCKING_STRATEGY_CLIENT: OptimisticLockingStrategy
82
+ OPTIMISTIC_LOCKING_STRATEGY_SERVER: OptimisticLockingStrategy
74
83
  TENANT_ROLES_FIELD_NUMBER: _ClassVar[int]
75
84
  tenant_roles: _descriptor.FieldDescriptor
76
85
  PROJECT_ROLES_FIELD_NUMBER: _ClassVar[int]
@@ -116,8 +125,8 @@ class Meta(_message.Message):
116
125
  labels: Labels
117
126
  created_at: _timestamp_pb2.Timestamp
118
127
  updated_at: _timestamp_pb2.Timestamp
119
- generation: str
120
- def __init__(self, labels: _Optional[_Union[Labels, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., generation: _Optional[str] = ...) -> None: ...
128
+ generation: int
129
+ def __init__(self, labels: _Optional[_Union[Labels, _Mapping]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., generation: _Optional[int] = ...) -> None: ...
121
130
 
122
131
  class UpdateLabels(_message.Message):
123
132
  __slots__ = ("update", "remove")
@@ -126,3 +135,11 @@ class UpdateLabels(_message.Message):
126
135
  update: Labels
127
136
  remove: _containers.RepeatedScalarFieldContainer[str]
128
137
  def __init__(self, update: _Optional[_Union[Labels, _Mapping]] = ..., remove: _Optional[_Iterable[str]] = ...) -> None: ...
138
+
139
+ class UpdateMeta(_message.Message):
140
+ __slots__ = ("updated_at", "locking_strategy")
141
+ UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
142
+ LOCKING_STRATEGY_FIELD_NUMBER: _ClassVar[int]
143
+ updated_at: _timestamp_pb2.Timestamp
144
+ locking_strategy: OptimisticLockingStrategy
145
+ def __init__(self, updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., locking_strategy: _Optional[_Union[OptimisticLockingStrategy, str]] = ...) -> None: ...
@@ -26,7 +26,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"metalstack/api/v2/filesystem.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"9\n\x1b\x46ilesystemServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"F\n\x1c\x46ilesystemServiceListRequest\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x42\x05\n\x03_id\"p\n\x1c\x46ilesystemServiceGetResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"s\n\x1d\x46ilesystemServiceListResponse\x12R\n\x12\x66ilesystem_layouts\x18\x01 \x03(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x11\x66ilesystemLayouts\"\xdb\x01\n\x1d\x46ilesystemServiceMatchRequest\x12L\n\x0esize_and_image\x18\x01 \x01(\x0b\x32$.metalstack.api.v2.MatchImageAndSizeH\x00R\x0csizeAndImage\x12\x63\n\x1cmachine_and_filesystemlayout\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MatchMachineH\x00R\x1amachineAndFilesystemlayoutB\x07\n\x05match\"U\n\x11MatchImageAndSize\x12\x1e\n\x04size\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04size\x12 \n\x05image\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05image\"k\n\x0cMatchMachine\x12\"\n\x07machine\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07machine\x12\x37\n\x11\x66ilesystem_layout\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x10\x66ilesystemLayout\"p\n\x1c\x46ilesystemServiceTryResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"r\n\x1e\x46ilesystemServiceMatchResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"\xcb\x04\n\x10\x46ilesystemLayout\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12?\n\x0b\x66ilesystems\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.FilesystemR\x0b\x66ilesystems\x12-\n\x05\x64isks\x18\x06 \x03(\x0b\x32\x17.metalstack.api.v2.DiskR\x05\x64isks\x12+\n\x04raid\x18\x07 \x03(\x0b\x32\x17.metalstack.api.v2.RaidR\x04raid\x12\x43\n\rvolume_groups\x18\x08 \x03(\x0b\x32\x1e.metalstack.api.v2.VolumeGroupR\x0cvolumeGroups\x12I\n\x0flogical_volumes\x18\t \x03(\x0b\x32 .metalstack.api.v2.LogicalVolumeR\x0elogicalVolumes\x12P\n\x0b\x63onstraints\x18\n \x01(\x0b\x32..metalstack.api.v2.FilesystemLayoutConstraintsR\x0b\x63onstraintsB\x07\n\x05_nameB\x0e\n\x0c_description\"\xc2\x01\n\x1b\x46ilesystemLayoutConstraints\x12\x14\n\x05sizes\x18\x01 \x03(\tR\x05sizes\x12R\n\x06images\x18\x02 \x03(\x0b\x32:.metalstack.api.v2.FilesystemLayoutConstraints.ImagesEntryR\x06images\x1a\x39\n\x0bImagesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb6\x03\n\nFilesystem\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12>\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\x19.metalstack.api.v2.FormatB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x06\x66ormat\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12#\n\x04path\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80 H\x02R\x04path\x88\x01\x01\x12%\n\x05label\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05label\x88\x01\x01\x12\x38\n\rmount_options\x18\x07 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\x0cmountOptions\x12:\n\x0e\x63reate_options\x18\x08 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptionsB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_pathB\x08\n\x06_label\"l\n\x04\x44isk\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12@\n\npartitions\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.DiskPartitionR\npartitions\"\xd4\x01\n\x04Raid\x12\x1d\n\narray_name\x18\x01 \x01(\tR\tarrayName\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12?\n\x05level\x18\x03 \x01(\x0e\x32\x1c.metalstack.api.v2.RaidLevelB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x05level\x12:\n\x0e\x63reate_options\x18\x04 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptions\x12\x16\n\x06spares\x18\x05 \x01(\x05R\x06spares\"\xb6\x01\n\rDiskPartition\x12\x16\n\x06number\x18\x01 \x01(\rR\x06number\x12\x19\n\x05label\x18\x02 \x01(\tH\x00R\x05label\x88\x01\x01\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12G\n\x08gpt_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.GPTTypeB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01H\x01R\x07gptType\x88\x01\x01\x42\x08\n\x06_labelB\x0b\n\t_gpt_type\"[\n\x0bVolumeGroup\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\"\xb3\x01\n\rLogicalVolume\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12-\n\x0cvolume_group\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0bvolumeGroup\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12?\n\x08lvm_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.LVMTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07lvmType*\x86\x01\n\x07LVMType\x12\x18\n\x14LVM_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x0fLVM_TYPE_LINEAR\x10\x01\x1a\n\x82\xb2\x19\x06linear\x12!\n\x10LVM_TYPE_STRIPED\x10\x02\x1a\x0b\x82\xb2\x19\x07striped\x12\x1d\n\x0eLVM_TYPE_RAID1\x10\x03\x1a\t\x82\xb2\x19\x05raid1*\xc4\x01\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x19\n\x0b\x46ORMAT_VFAT\x10\x01\x1a\x08\x82\xb2\x19\x04vfat\x12\x19\n\x0b\x46ORMAT_EXT3\x10\x02\x1a\x08\x82\xb2\x19\x04\x65xt3\x12\x19\n\x0b\x46ORMAT_EXT4\x10\x03\x1a\x08\x82\xb2\x19\x04\x65xt4\x12\x19\n\x0b\x46ORMAT_SWAP\x10\x04\x1a\x08\x82\xb2\x19\x04swap\x12\x1b\n\x0c\x46ORMAT_TMPFS\x10\x05\x1a\t\x82\xb2\x19\x05tmpfs\x12\x19\n\x0b\x46ORMAT_NONE\x10\x06\x1a\x08\x82\xb2\x19\x04none*\xa3\x01\n\x07GPTType\x12\x18\n\x14GPT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rGPT_TYPE_BOOT\x10\x01\x1a\x08\x82\xb2\x19\x04\x65\x66\x30\x30\x12\x1c\n\x0eGPT_TYPE_LINUX\x10\x02\x1a\x08\x82\xb2\x19\x04\x38\x33\x30\x30\x12!\n\x13GPT_TYPE_LINUX_RAID\x10\x03\x1a\x08\x82\xb2\x19\x04\x66\x64\x30\x30\x12 \n\x12GPT_TYPE_LINUX_LVM\x10\x04\x1a\x08\x82\xb2\x19\x04\x38\x65\x30\x30*K\n\tRaidLevel\x12\x1a\n\x16RAID_LEVEL_UNSPECIFIED\x10\x00\x12\x10\n\x0cRAID_LEVEL_0\x10\x01\x12\x10\n\x0cRAID_LEVEL_1\x10\x02\x32\xf2\x02\n\x11\x46ilesystemService\x12p\n\x03Get\x12..metalstack.api.v2.FilesystemServiceGetRequest\x1a/.metalstack.api.v2.FilesystemServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12s\n\x04List\x12/.metalstack.api.v2.FilesystemServiceListRequest\x1a\x30.metalstack.api.v2.FilesystemServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12v\n\x05Match\x12\x30.metalstack.api.v2.FilesystemServiceMatchRequest\x1a\x31.metalstack.api.v2.FilesystemServiceMatchResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc5\x01\n\x15\x63om.metalstack.api.v2B\x0f\x46ilesystemProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"metalstack/api/v2/filesystem.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"9\n\x1b\x46ilesystemServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"F\n\x1c\x46ilesystemServiceListRequest\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x42\x05\n\x03_id\"p\n\x1c\x46ilesystemServiceGetResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"s\n\x1d\x46ilesystemServiceListResponse\x12R\n\x12\x66ilesystem_layouts\x18\x01 \x03(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x11\x66ilesystemLayouts\"\xdb\x01\n\x1d\x46ilesystemServiceMatchRequest\x12L\n\x0esize_and_image\x18\x01 \x01(\x0b\x32$.metalstack.api.v2.MatchImageAndSizeH\x00R\x0csizeAndImage\x12\x63\n\x1cmachine_and_filesystemlayout\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.MatchMachineH\x00R\x1amachineAndFilesystemlayoutB\x07\n\x05match\"U\n\x11MatchImageAndSize\x12\x1e\n\x04size\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04size\x12 \n\x05image\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05image\"k\n\x0cMatchMachine\x12\"\n\x07machine\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07machine\x12\x37\n\x11\x66ilesystem_layout\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x10\x66ilesystemLayout\"r\n\x1e\x46ilesystemServiceMatchResponse\x12P\n\x11\x66ilesystem_layout\x18\x01 \x01(\x0b\x32#.metalstack.api.v2.FilesystemLayoutR\x10\x66ilesystemLayout\"\xcb\x04\n\x10\x46ilesystemLayout\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12?\n\x0b\x66ilesystems\x18\x05 \x03(\x0b\x32\x1d.metalstack.api.v2.FilesystemR\x0b\x66ilesystems\x12-\n\x05\x64isks\x18\x06 \x03(\x0b\x32\x17.metalstack.api.v2.DiskR\x05\x64isks\x12+\n\x04raid\x18\x07 \x03(\x0b\x32\x17.metalstack.api.v2.RaidR\x04raid\x12\x43\n\rvolume_groups\x18\x08 \x03(\x0b\x32\x1e.metalstack.api.v2.VolumeGroupR\x0cvolumeGroups\x12I\n\x0flogical_volumes\x18\t \x03(\x0b\x32 .metalstack.api.v2.LogicalVolumeR\x0elogicalVolumes\x12P\n\x0b\x63onstraints\x18\n \x01(\x0b\x32..metalstack.api.v2.FilesystemLayoutConstraintsR\x0b\x63onstraintsB\x07\n\x05_nameB\x0e\n\x0c_description\"\xc2\x01\n\x1b\x46ilesystemLayoutConstraints\x12\x14\n\x05sizes\x18\x01 \x03(\tR\x05sizes\x12R\n\x06images\x18\x02 \x03(\x0b\x32:.metalstack.api.v2.FilesystemLayoutConstraints.ImagesEntryR\x06images\x1a\x39\n\x0bImagesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb6\x03\n\nFilesystem\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12>\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\x19.metalstack.api.v2.FormatB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x06\x66ormat\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12#\n\x04path\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80 H\x02R\x04path\x88\x01\x01\x12%\n\x05label\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x05label\x88\x01\x01\x12\x38\n\rmount_options\x18\x07 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\x0cmountOptions\x12:\n\x0e\x63reate_options\x18\x08 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptionsB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_pathB\x08\n\x06_label\"l\n\x04\x44isk\x12\"\n\x06\x64\x65vice\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x06\x64\x65vice\x12@\n\npartitions\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.DiskPartitionR\npartitions\"\xd4\x01\n\x04Raid\x12\x1d\n\narray_name\x18\x01 \x01(\tR\tarrayName\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12?\n\x05level\x18\x03 \x01(\x0e\x32\x1c.metalstack.api.v2.RaidLevelB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x05level\x12:\n\x0e\x63reate_options\x18\x04 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\x07r\x05\x10\x01\x18\x80\x01R\rcreateOptions\x12\x16\n\x06spares\x18\x05 \x01(\x05R\x06spares\"\xb6\x01\n\rDiskPartition\x12\x16\n\x06number\x18\x01 \x01(\rR\x06number\x12\x19\n\x05label\x18\x02 \x01(\tH\x00R\x05label\x88\x01\x01\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12G\n\x08gpt_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.GPTTypeB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01H\x01R\x07gptType\x88\x01\x01\x42\x08\n\x06_labelB\x0b\n\t_gpt_type\"[\n\x0bVolumeGroup\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12\x18\n\x07\x64\x65vices\x18\x02 \x03(\tR\x07\x64\x65vices\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\"\xb3\x01\n\rLogicalVolume\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12-\n\x0cvolume_group\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0bvolumeGroup\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12?\n\x08lvm_type\x18\x04 \x01(\x0e\x32\x1a.metalstack.api.v2.LVMTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07lvmType*\x86\x01\n\x07LVMType\x12\x18\n\x14LVM_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x0fLVM_TYPE_LINEAR\x10\x01\x1a\n\x82\xb2\x19\x06linear\x12!\n\x10LVM_TYPE_STRIPED\x10\x02\x1a\x0b\x82\xb2\x19\x07striped\x12\x1d\n\x0eLVM_TYPE_RAID1\x10\x03\x1a\t\x82\xb2\x19\x05raid1*\xc4\x01\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x19\n\x0b\x46ORMAT_VFAT\x10\x01\x1a\x08\x82\xb2\x19\x04vfat\x12\x19\n\x0b\x46ORMAT_EXT3\x10\x02\x1a\x08\x82\xb2\x19\x04\x65xt3\x12\x19\n\x0b\x46ORMAT_EXT4\x10\x03\x1a\x08\x82\xb2\x19\x04\x65xt4\x12\x19\n\x0b\x46ORMAT_SWAP\x10\x04\x1a\x08\x82\xb2\x19\x04swap\x12\x1b\n\x0c\x46ORMAT_TMPFS\x10\x05\x1a\t\x82\xb2\x19\x05tmpfs\x12\x19\n\x0b\x46ORMAT_NONE\x10\x06\x1a\x08\x82\xb2\x19\x04none*\xa3\x01\n\x07GPTType\x12\x18\n\x14GPT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rGPT_TYPE_BOOT\x10\x01\x1a\x08\x82\xb2\x19\x04\x65\x66\x30\x30\x12\x1c\n\x0eGPT_TYPE_LINUX\x10\x02\x1a\x08\x82\xb2\x19\x04\x38\x33\x30\x30\x12!\n\x13GPT_TYPE_LINUX_RAID\x10\x03\x1a\x08\x82\xb2\x19\x04\x66\x64\x30\x30\x12 \n\x12GPT_TYPE_LINUX_LVM\x10\x04\x1a\x08\x82\xb2\x19\x04\x38\x65\x30\x30*K\n\tRaidLevel\x12\x1a\n\x16RAID_LEVEL_UNSPECIFIED\x10\x00\x12\x10\n\x0cRAID_LEVEL_0\x10\x01\x12\x10\n\x0cRAID_LEVEL_1\x10\x02\x32\xf2\x02\n\x11\x46ilesystemService\x12p\n\x03Get\x12..metalstack.api.v2.FilesystemServiceGetRequest\x1a/.metalstack.api.v2.FilesystemServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12s\n\x04List\x12/.metalstack.api.v2.FilesystemServiceListRequest\x1a\x30.metalstack.api.v2.FilesystemServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12v\n\x05Match\x12\x30.metalstack.api.v2.FilesystemServiceMatchRequest\x1a\x31.metalstack.api.v2.FilesystemServiceMatchResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc5\x01\n\x15\x63om.metalstack.api.v2B\x0f\x46ilesystemProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -118,14 +118,14 @@ if not _descriptor._USE_C_DESCRIPTORS:
118
118
  _globals['_FILESYSTEMSERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003\340\363\030\002'
119
119
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Match']._loaded_options = None
120
120
  _globals['_FILESYSTEMSERVICE'].methods_by_name['Match']._serialized_options = b'\330\363\030\003\340\363\030\002'
121
- _globals['_LVMTYPE']._serialized_start=3142
122
- _globals['_LVMTYPE']._serialized_end=3276
123
- _globals['_FORMAT']._serialized_start=3279
124
- _globals['_FORMAT']._serialized_end=3475
125
- _globals['_GPTTYPE']._serialized_start=3478
126
- _globals['_GPTTYPE']._serialized_end=3641
127
- _globals['_RAIDLEVEL']._serialized_start=3643
128
- _globals['_RAIDLEVEL']._serialized_end=3718
121
+ _globals['_LVMTYPE']._serialized_start=3028
122
+ _globals['_LVMTYPE']._serialized_end=3162
123
+ _globals['_FORMAT']._serialized_start=3165
124
+ _globals['_FORMAT']._serialized_end=3361
125
+ _globals['_GPTTYPE']._serialized_start=3364
126
+ _globals['_GPTTYPE']._serialized_end=3527
127
+ _globals['_RAIDLEVEL']._serialized_start=3529
128
+ _globals['_RAIDLEVEL']._serialized_end=3604
129
129
  _globals['_FILESYSTEMSERVICEGETREQUEST']._serialized_start=118
130
130
  _globals['_FILESYSTEMSERVICEGETREQUEST']._serialized_end=175
131
131
  _globals['_FILESYSTEMSERVICELISTREQUEST']._serialized_start=177
@@ -140,28 +140,26 @@ if not _descriptor._USE_C_DESCRIPTORS:
140
140
  _globals['_MATCHIMAGEANDSIZE']._serialized_end=787
141
141
  _globals['_MATCHMACHINE']._serialized_start=789
142
142
  _globals['_MATCHMACHINE']._serialized_end=896
143
- _globals['_FILESYSTEMSERVICETRYRESPONSE']._serialized_start=898
144
- _globals['_FILESYSTEMSERVICETRYRESPONSE']._serialized_end=1010
145
- _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_start=1012
146
- _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_end=1126
147
- _globals['_FILESYSTEMLAYOUT']._serialized_start=1129
148
- _globals['_FILESYSTEMLAYOUT']._serialized_end=1716
149
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_start=1719
150
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_end=1913
151
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_start=1856
152
- _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_end=1913
153
- _globals['_FILESYSTEM']._serialized_start=1916
154
- _globals['_FILESYSTEM']._serialized_end=2354
155
- _globals['_DISK']._serialized_start=2356
156
- _globals['_DISK']._serialized_end=2464
157
- _globals['_RAID']._serialized_start=2467
158
- _globals['_RAID']._serialized_end=2679
159
- _globals['_DISKPARTITION']._serialized_start=2682
160
- _globals['_DISKPARTITION']._serialized_end=2864
161
- _globals['_VOLUMEGROUP']._serialized_start=2866
162
- _globals['_VOLUMEGROUP']._serialized_end=2957
163
- _globals['_LOGICALVOLUME']._serialized_start=2960
164
- _globals['_LOGICALVOLUME']._serialized_end=3139
165
- _globals['_FILESYSTEMSERVICE']._serialized_start=3721
166
- _globals['_FILESYSTEMSERVICE']._serialized_end=4091
143
+ _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_start=898
144
+ _globals['_FILESYSTEMSERVICEMATCHRESPONSE']._serialized_end=1012
145
+ _globals['_FILESYSTEMLAYOUT']._serialized_start=1015
146
+ _globals['_FILESYSTEMLAYOUT']._serialized_end=1602
147
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_start=1605
148
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS']._serialized_end=1799
149
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_start=1742
150
+ _globals['_FILESYSTEMLAYOUTCONSTRAINTS_IMAGESENTRY']._serialized_end=1799
151
+ _globals['_FILESYSTEM']._serialized_start=1802
152
+ _globals['_FILESYSTEM']._serialized_end=2240
153
+ _globals['_DISK']._serialized_start=2242
154
+ _globals['_DISK']._serialized_end=2350
155
+ _globals['_RAID']._serialized_start=2353
156
+ _globals['_RAID']._serialized_end=2565
157
+ _globals['_DISKPARTITION']._serialized_start=2568
158
+ _globals['_DISKPARTITION']._serialized_end=2750
159
+ _globals['_VOLUMEGROUP']._serialized_start=2752
160
+ _globals['_VOLUMEGROUP']._serialized_end=2843
161
+ _globals['_LOGICALVOLUME']._serialized_start=2846
162
+ _globals['_LOGICALVOLUME']._serialized_end=3025
163
+ _globals['_FILESYSTEMSERVICE']._serialized_start=3607
164
+ _globals['_FILESYSTEMSERVICE']._serialized_end=3977
167
165
  # @@protoc_insertion_point(module_scope)
@@ -107,12 +107,6 @@ class MatchMachine(_message.Message):
107
107
  filesystem_layout: str
108
108
  def __init__(self, machine: _Optional[str] = ..., filesystem_layout: _Optional[str] = ...) -> None: ...
109
109
 
110
- class FilesystemServiceTryResponse(_message.Message):
111
- __slots__ = ("filesystem_layout",)
112
- FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
113
- filesystem_layout: FilesystemLayout
114
- def __init__(self, filesystem_layout: _Optional[_Union[FilesystemLayout, _Mapping]] = ...) -> None: ...
115
-
116
110
  class FilesystemServiceMatchResponse(_message.Message):
117
111
  __slots__ = ("filesystem_layout",)
118
112
  FILESYSTEM_LAYOUT_FIELD_NUMBER: _ClassVar[int]
@@ -27,7 +27,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
27
27
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/api/v2/image.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"4\n\x16ImageServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"N\n\x17ImageServiceListRequest\x12\x33\n\x05query\x18\x01 \x01(\x0b\x32\x1d.metalstack.api.v2.ImageQueryR\x05query\"+\n\x19ImageServiceLatestRequest\x12\x0e\n\x02os\x18\x01 \x01(\tR\x02os\"I\n\x17ImageServiceGetResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"L\n\x18ImageServiceListResponse\x12\x30\n\x06images\x18\x01 \x03(\x0b\x32\x18.metalstack.api.v2.ImageR\x06images\"L\n\x1aImageServiceLatestResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"\xa8\x04\n\x05Image\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12J\n\x03url\x18\x03 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x03url\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x83\x01\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureBF\xbaHC\x92\x01@\x08\x01\"<\xba\x01\x39\n\x08\x66\x65\x61tures\x12\x15\x66\x65\x61ture must be valid\x1a\x16this >= 0 && this <= 2R\x08\x66\x65\x61tures\x12X\n\x0e\x63lassification\x18\x07 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x63lassification\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAtB\x07\n\x05_nameB\x0e\n\x0c_description\"U\n\nImageUsage\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12\x17\n\x07used_by\x18\x02 \x03(\tR\x06usedBy\"\xcc\x03\n\nImageQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12\x1f\n\x02os\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x02os\x88\x01\x01\x12)\n\x07version\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01H\x02R\x07version\x88\x01\x01\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x0b\x64\x65scription\x88\x01\x01\x12H\n\x07\x66\x65\x61ture\x18\x06 \x01(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x07\x66\x65\x61ture\x88\x01\x01\x12]\n\x0e\x63lassification\x18\x07 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x0e\x63lassification\x88\x01\x01\x42\x05\n\x03_idB\x05\n\x03_osB\n\n\x08_versionB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\n\n\x08_featureB\x11\n\x0f_classification*\x7f\n\x0cImageFeature\x12\x1d\n\x19IMAGE_FEATURE_UNSPECIFIED\x10\x00\x12&\n\x15IMAGE_FEATURE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12(\n\x16IMAGE_FEATURE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xd2\x01\n\x13ImageClassification\x12$\n IMAGE_CLASSIFICATION_UNSPECIFIED\x10\x00\x12-\n\x1cIMAGE_CLASSIFICATION_PREVIEW\x10\x01\x1a\x0b\x82\xb2\x19\x07preview\x12\x31\n\x1eIMAGE_CLASSIFICATION_SUPPORTED\x10\x02\x1a\r\x82\xb2\x19\tsupported\x12\x33\n\x1fIMAGE_CLASSIFICATION_DEPRECATED\x10\x03\x1a\x0e\x82\xb2\x19\ndeprecated2\xd2\x02\n\x0cImageService\x12\x66\n\x03Get\x12).metalstack.api.v2.ImageServiceGetRequest\x1a*.metalstack.api.v2.ImageServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12i\n\x04List\x12*.metalstack.api.v2.ImageServiceListRequest\x1a+.metalstack.api.v2.ImageServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12o\n\x06Latest\x12,.metalstack.api.v2.ImageServiceLatestRequest\x1a-.metalstack.api.v2.ImageServiceLatestResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc0\x01\n\x15\x63om.metalstack.api.v2B\nImageProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/api/v2/image.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"4\n\x16ImageServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\"N\n\x17ImageServiceListRequest\x12\x33\n\x05query\x18\x01 \x01(\x0b\x32\x1d.metalstack.api.v2.ImageQueryR\x05query\"+\n\x19ImageServiceLatestRequest\x12\x0e\n\x02os\x18\x01 \x01(\tR\x02os\"I\n\x17ImageServiceGetResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"L\n\x18ImageServiceListResponse\x12\x30\n\x06images\x18\x01 \x03(\x0b\x32\x18.metalstack.api.v2.ImageR\x06images\"L\n\x1aImageServiceLatestResponse\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\"\xa8\x04\n\x05Image\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12J\n\x03url\x18\x03 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x03url\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x83\x01\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureBF\xbaHC\x92\x01@\x08\x01\"<\xba\x01\x39\n\x08\x66\x65\x61tures\x12\x15\x66\x65\x61ture must be valid\x1a\x16this >= 0 && this <= 2R\x08\x66\x65\x61tures\x12X\n\x0e\x63lassification\x18\x07 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0e\x63lassification\x12\x39\n\nexpires_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAtB\x07\n\x05_nameB\x0e\n\x0c_description\"U\n\nImageUsage\x12.\n\x05image\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.ImageR\x05image\x12\x17\n\x07used_by\x18\x02 \x03(\tR\x06usedBy\"\xe8\x04\n\nImageQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12\x1f\n\x02os\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x02os\x88\x01\x01\x12)\n\x07version\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01H\x02R\x07version\x88\x01\x01\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x04R\x0b\x64\x65scription\x88\x01\x01\x12O\n\x03url\x18\x06 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_url\x12\x17url must be a valid URI\x1a\x0cthis.isUri()H\x05R\x03url\x88\x01\x01\x12H\n\x07\x66\x65\x61ture\x18\x07 \x01(\x0e\x32\x1f.metalstack.api.v2.ImageFeatureB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x07\x66\x65\x61ture\x88\x01\x01\x12]\n\x0e\x63lassification\x18\x08 \x01(\x0e\x32&.metalstack.api.v2.ImageClassificationB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x07R\x0e\x63lassification\x88\x01\x01\x12\x36\n\x06labels\x18\t \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x08R\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x05\n\x03_osB\n\n\x08_versionB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x06\n\x04_urlB\n\n\x08_featureB\x11\n\x0f_classificationB\t\n\x07_labels*\x7f\n\x0cImageFeature\x12\x1d\n\x19IMAGE_FEATURE_UNSPECIFIED\x10\x00\x12&\n\x15IMAGE_FEATURE_MACHINE\x10\x01\x1a\x0b\x82\xb2\x19\x07machine\x12(\n\x16IMAGE_FEATURE_FIREWALL\x10\x02\x1a\x0c\x82\xb2\x19\x08\x66irewall*\xd2\x01\n\x13ImageClassification\x12$\n IMAGE_CLASSIFICATION_UNSPECIFIED\x10\x00\x12-\n\x1cIMAGE_CLASSIFICATION_PREVIEW\x10\x01\x1a\x0b\x82\xb2\x19\x07preview\x12\x31\n\x1eIMAGE_CLASSIFICATION_SUPPORTED\x10\x02\x1a\r\x82\xb2\x19\tsupported\x12\x33\n\x1fIMAGE_CLASSIFICATION_DEPRECATED\x10\x03\x1a\x0e\x82\xb2\x19\ndeprecated2\xd2\x02\n\x0cImageService\x12\x66\n\x03Get\x12).metalstack.api.v2.ImageServiceGetRequest\x1a*.metalstack.api.v2.ImageServiceGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12i\n\x04List\x12*.metalstack.api.v2.ImageServiceListRequest\x1a+.metalstack.api.v2.ImageServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12o\n\x06Latest\x12,.metalstack.api.v2.ImageServiceLatestRequest\x1a-.metalstack.api.v2.ImageServiceLatestResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc0\x01\n\x15\x63om.metalstack.api.v2B\nImageProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -69,6 +69,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
69
69
  _globals['_IMAGEQUERY'].fields_by_name['name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
70
70
  _globals['_IMAGEQUERY'].fields_by_name['description']._loaded_options = None
71
71
  _globals['_IMAGEQUERY'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
72
+ _globals['_IMAGEQUERY'].fields_by_name['url']._loaded_options = None
73
+ _globals['_IMAGEQUERY'].fields_by_name['url']._serialized_options = b'\272H5\272\0012\n\tvalid_url\022\027url must be a valid URI\032\014this.isUri()'
72
74
  _globals['_IMAGEQUERY'].fields_by_name['feature']._loaded_options = None
73
75
  _globals['_IMAGEQUERY'].fields_by_name['feature']._serialized_options = b'\272H\005\202\001\002\020\001'
74
76
  _globals['_IMAGEQUERY'].fields_by_name['classification']._loaded_options = None
@@ -79,10 +81,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
79
81
  _globals['_IMAGESERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003\340\363\030\002'
80
82
  _globals['_IMAGESERVICE'].methods_by_name['Latest']._loaded_options = None
81
83
  _globals['_IMAGESERVICE'].methods_by_name['Latest']._serialized_options = b'\330\363\030\003\340\363\030\002'
82
- _globals['_IMAGEFEATURE']._serialized_start=1661
83
- _globals['_IMAGEFEATURE']._serialized_end=1788
84
- _globals['_IMAGECLASSIFICATION']._serialized_start=1791
85
- _globals['_IMAGECLASSIFICATION']._serialized_end=2001
84
+ _globals['_IMAGEFEATURE']._serialized_start=1817
85
+ _globals['_IMAGEFEATURE']._serialized_end=1944
86
+ _globals['_IMAGECLASSIFICATION']._serialized_start=1947
87
+ _globals['_IMAGECLASSIFICATION']._serialized_end=2157
86
88
  _globals['_IMAGESERVICEGETREQUEST']._serialized_start=146
87
89
  _globals['_IMAGESERVICEGETREQUEST']._serialized_end=198
88
90
  _globals['_IMAGESERVICELISTREQUEST']._serialized_start=200
@@ -100,7 +102,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
100
102
  _globals['_IMAGEUSAGE']._serialized_start=1111
101
103
  _globals['_IMAGEUSAGE']._serialized_end=1196
102
104
  _globals['_IMAGEQUERY']._serialized_start=1199
103
- _globals['_IMAGEQUERY']._serialized_end=1659
104
- _globals['_IMAGESERVICE']._serialized_start=2004
105
- _globals['_IMAGESERVICE']._serialized_end=2342
105
+ _globals['_IMAGEQUERY']._serialized_end=1815
106
+ _globals['_IMAGESERVICE']._serialized_start=2160
107
+ _globals['_IMAGESERVICE']._serialized_end=2498
106
108
  # @@protoc_insertion_point(module_scope)
@@ -97,19 +97,23 @@ class ImageUsage(_message.Message):
97
97
  def __init__(self, image: _Optional[_Union[Image, _Mapping]] = ..., used_by: _Optional[_Iterable[str]] = ...) -> None: ...
98
98
 
99
99
  class ImageQuery(_message.Message):
100
- __slots__ = ("id", "os", "version", "name", "description", "feature", "classification")
100
+ __slots__ = ("id", "os", "version", "name", "description", "url", "feature", "classification", "labels")
101
101
  ID_FIELD_NUMBER: _ClassVar[int]
102
102
  OS_FIELD_NUMBER: _ClassVar[int]
103
103
  VERSION_FIELD_NUMBER: _ClassVar[int]
104
104
  NAME_FIELD_NUMBER: _ClassVar[int]
105
105
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
106
+ URL_FIELD_NUMBER: _ClassVar[int]
106
107
  FEATURE_FIELD_NUMBER: _ClassVar[int]
107
108
  CLASSIFICATION_FIELD_NUMBER: _ClassVar[int]
109
+ LABELS_FIELD_NUMBER: _ClassVar[int]
108
110
  id: str
109
111
  os: str
110
112
  version: str
111
113
  name: str
112
114
  description: str
115
+ url: str
113
116
  feature: ImageFeature
114
117
  classification: ImageClassification
115
- def __init__(self, id: _Optional[str] = ..., os: _Optional[str] = ..., version: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., feature: _Optional[_Union[ImageFeature, str]] = ..., classification: _Optional[_Union[ImageClassification, str]] = ...) -> None: ...
118
+ labels: _common_pb2.Labels
119
+ def __init__(self, id: _Optional[str] = ..., os: _Optional[str] = ..., version: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., url: _Optional[str] = ..., feature: _Optional[_Union[ImageFeature, str]] = ..., classification: _Optional[_Union[ImageClassification, str]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
@@ -26,7 +26,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ametalstack/api/v2/ip.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"\xf2\x02\n\x02IP\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\x17\n\x02ip\x18\x03 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\x1e\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12$\n\x07network\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07network\x12\"\n\x07project\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x37\n\x04type\x18\x08 \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12+\n\tnamespace\x18\t \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\tnamespace\x88\x01\x01\x42\x0c\n\n_namespace\"\x8d\x01\n\x13IPServiceGetRequest\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12+\n\tnamespace\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\tnamespace\x88\x01\x01\x42\x0c\n\n_namespace\"\xa2\x04\n\x16IPServiceCreateRequest\x12$\n\x07network\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07network\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x1c\n\x02ip\x18\x05 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x02R\x02ip\x88\x01\x01\x12\'\n\x07machine\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07machine\x88\x01\x01\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x04R\x06labels\x88\x01\x01\x12<\n\x04type\x18\x08 \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12X\n\x0e\x61\x64\x64ress_family\x18\t \x01(\x0e\x32\".metalstack.api.v2.IPAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x05\n\x03_ipB\n\n\x08_machineB\t\n\x07_labelsB\x07\n\x05_typeB\x11\n\x0f_address_family\"\xd4\x02\n\x16IPServiceUpdateRequest\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x04type\x18\x05 \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x02R\x04type\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_typeB\t\n\x07_labels\"l\n\x14IPServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x30\n\x05query\x18\x02 \x01(\x0b\x32\x1a.metalstack.api.v2.IPQueryR\x05query\"\xae\x05\n\x07IPQuery\x12\x1c\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x02ip\x88\x01\x01\x12)\n\x07network\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x07network\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04name\x88\x01\x01\x12!\n\x04uuid\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x04uuid\x88\x01\x01\x12\'\n\x07machine\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\x07machine\x88\x01\x01\x12:\n\x12parent_prefix_cidr\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x06R\x10parentPrefixCidr\x88\x01\x01\x12\x36\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x07R\x06labels\x88\x01\x01\x12<\n\x04type\x18\t \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\x04type\x88\x01\x01\x12X\n\x0e\x61\x64\x64ress_family\x18\n \x01(\x0e\x32\".metalstack.api.v2.IPAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\raddressFamily\x88\x01\x01\x12+\n\tnamespace\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\nR\tnamespace\x88\x01\x01\x42\x05\n\x03_ipB\n\n\x08_networkB\n\n\x08_projectB\x07\n\x05_nameB\x07\n\x05_uuidB\n\n\x08_machineB\x15\n\x13_parent_prefix_cidrB\t\n\x07_labelsB\x07\n\x05_typeB\x11\n\x0f_address_familyB\x0c\n\n_namespace\"U\n\x16IPServiceDeleteRequest\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"=\n\x14IPServiceGetResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip\"@\n\x17IPServiceUpdateResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip\"@\n\x17IPServiceCreateResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip\"@\n\x15IPServiceListResponse\x12\'\n\x03ips\x18\x01 \x03(\x0b\x32\x15.metalstack.api.v2.IPR\x03ips\"@\n\x17IPServiceDeleteResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip*g\n\x06IPType\x12\x17\n\x13IP_TYPE_UNSPECIFIED\x10\x00\x12$\n\x11IP_TYPE_EPHEMERAL\x10\x01\x1a\r\x82\xb2\x19\tephemeral\x12\x1e\n\x0eIP_TYPE_STATIC\x10\x02\x1a\n\x82\xb2\x19\x06static*|\n\x0fIPAddressFamily\x12!\n\x1dIP_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\"\n\x14IP_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\"\n\x14IP_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv62\x93\x04\n\tIPService\x12\x63\n\x03Get\x12&.metalstack.api.v2.IPServiceGetRequest\x1a\'.metalstack.api.v2.IPServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12g\n\x06\x43reate\x12).metalstack.api.v2.IPServiceCreateRequest\x1a*.metalstack.api.v2.IPServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12g\n\x06Update\x12).metalstack.api.v2.IPServiceUpdateRequest\x1a*.metalstack.api.v2.IPServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12\x66\n\x04List\x12\'.metalstack.api.v2.IPServiceListRequest\x1a(.metalstack.api.v2.IPServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12g\n\x06\x44\x65lete\x12).metalstack.api.v2.IPServiceDeleteRequest\x1a*.metalstack.api.v2.IPServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xbd\x01\n\x15\x63om.metalstack.api.v2B\x07IpProtoP\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\x1ametalstack/api/v2/ip.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\"\xf2\x02\n\x02IP\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\x17\n\x02ip\x18\x03 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\x1e\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12*\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\x0b\x64\x65scription\x12$\n\x07network\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07network\x12\"\n\x07project\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x37\n\x04type\x18\x08 \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12+\n\tnamespace\x18\t \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\tnamespace\x88\x01\x01\x42\x0c\n\n_namespace\"\x8d\x01\n\x13IPServiceGetRequest\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12+\n\tnamespace\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\tnamespace\x88\x01\x01\x42\x0c\n\n_namespace\"\xa2\x04\n\x16IPServiceCreateRequest\x12$\n\x07network\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07network\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\x1c\n\x02ip\x18\x05 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x02R\x02ip\x88\x01\x01\x12\'\n\x07machine\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07machine\x88\x01\x01\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x04R\x06labels\x88\x01\x01\x12<\n\x04type\x18\x08 \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12X\n\x0e\x61\x64\x64ress_family\x18\t \x01(\x0e\x32\".metalstack.api.v2.IPAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x05\n\x03_ipB\n\n\x08_machineB\t\n\x07_labelsB\x07\n\x05_typeB\x11\n\x0f_address_family\"\x9c\x03\n\x16IPServiceUpdateRequest\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12/\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x04type\x18\x06 \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x02R\x04type\x88\x01\x01\x12<\n\x06labels\x18\x07 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x03R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x07\n\x05_typeB\t\n\x07_labels\"l\n\x14IPServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x30\n\x05query\x18\x02 \x01(\x0b\x32\x1a.metalstack.api.v2.IPQueryR\x05query\"\xae\x05\n\x07IPQuery\x12\x1c\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x00R\x02ip\x88\x01\x01\x12)\n\x07network\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x07network\x88\x01\x01\x12\'\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x02R\x07project\x88\x01\x01\x12#\n\x04name\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x04name\x88\x01\x01\x12!\n\x04uuid\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x04uuid\x88\x01\x01\x12\'\n\x07machine\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\x07machine\x88\x01\x01\x12:\n\x12parent_prefix_cidr\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x06R\x10parentPrefixCidr\x88\x01\x01\x12\x36\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x07R\x06labels\x88\x01\x01\x12<\n\x04type\x18\t \x01(\x0e\x32\x19.metalstack.api.v2.IPTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\x04type\x88\x01\x01\x12X\n\x0e\x61\x64\x64ress_family\x18\n \x01(\x0e\x32\".metalstack.api.v2.IPAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\raddressFamily\x88\x01\x01\x12+\n\tnamespace\x18\x0b \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\nR\tnamespace\x88\x01\x01\x42\x05\n\x03_ipB\n\n\x08_networkB\n\n\x08_projectB\x07\n\x05_nameB\x07\n\x05_uuidB\n\n\x08_machineB\x15\n\x13_parent_prefix_cidrB\t\n\x07_labelsB\x07\n\x05_typeB\x11\n\x0f_address_familyB\x0c\n\n_namespace\"U\n\x16IPServiceDeleteRequest\x12\x17\n\x02ip\x18\x01 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x02ip\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"=\n\x14IPServiceGetResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip\"@\n\x17IPServiceUpdateResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip\"@\n\x17IPServiceCreateResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip\"@\n\x15IPServiceListResponse\x12\'\n\x03ips\x18\x01 \x03(\x0b\x32\x15.metalstack.api.v2.IPR\x03ips\"@\n\x17IPServiceDeleteResponse\x12%\n\x02ip\x18\x01 \x01(\x0b\x32\x15.metalstack.api.v2.IPR\x02ip*g\n\x06IPType\x12\x17\n\x13IP_TYPE_UNSPECIFIED\x10\x00\x12$\n\x11IP_TYPE_EPHEMERAL\x10\x01\x1a\r\x82\xb2\x19\tephemeral\x12\x1e\n\x0eIP_TYPE_STATIC\x10\x02\x1a\n\x82\xb2\x19\x06static*|\n\x0fIPAddressFamily\x12!\n\x1dIP_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\"\n\x14IP_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\"\n\x14IP_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv62\x93\x04\n\tIPService\x12\x63\n\x03Get\x12&.metalstack.api.v2.IPServiceGetRequest\x1a\'.metalstack.api.v2.IPServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12g\n\x06\x43reate\x12).metalstack.api.v2.IPServiceCreateRequest\x1a*.metalstack.api.v2.IPServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12g\n\x06Update\x12).metalstack.api.v2.IPServiceUpdateRequest\x1a*.metalstack.api.v2.IPServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12\x66\n\x04List\x12\'.metalstack.api.v2.IPServiceListRequest\x1a(.metalstack.api.v2.IPServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12g\n\x06\x44\x65lete\x12).metalstack.api.v2.IPServiceDeleteRequest\x1a*.metalstack.api.v2.IPServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xbd\x01\n\x15\x63om.metalstack.api.v2B\x07IpProtoP\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)
@@ -82,6 +82,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
82
82
  _globals['_IPSERVICECREATEREQUEST'].fields_by_name['address_family']._serialized_options = b'\272H\005\202\001\002\020\001'
83
83
  _globals['_IPSERVICEUPDATEREQUEST'].fields_by_name['ip']._loaded_options = None
84
84
  _globals['_IPSERVICEUPDATEREQUEST'].fields_by_name['ip']._serialized_options = b'\272H\004r\002p\001'
85
+ _globals['_IPSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._loaded_options = None
86
+ _globals['_IPSERVICEUPDATEREQUEST'].fields_by_name['update_meta']._serialized_options = b'\272H\003\310\001\001'
85
87
  _globals['_IPSERVICEUPDATEREQUEST'].fields_by_name['project']._loaded_options = None
86
88
  _globals['_IPSERVICEUPDATEREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
87
89
  _globals['_IPSERVICEUPDATEREQUEST'].fields_by_name['name']._loaded_options = None
@@ -126,10 +128,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
126
128
  _globals['_IPSERVICE'].methods_by_name['List']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
127
129
  _globals['_IPSERVICE'].methods_by_name['Delete']._loaded_options = None
128
130
  _globals['_IPSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
129
- _globals['_IPTYPE']._serialized_start=2732
130
- _globals['_IPTYPE']._serialized_end=2835
131
- _globals['_IPADDRESSFAMILY']._serialized_start=2837
132
- _globals['_IPADDRESSFAMILY']._serialized_end=2961
131
+ _globals['_IPTYPE']._serialized_start=2804
132
+ _globals['_IPTYPE']._serialized_end=2907
133
+ _globals['_IPADDRESSFAMILY']._serialized_start=2909
134
+ _globals['_IPADDRESSFAMILY']._serialized_end=3033
133
135
  _globals['_IP']._serialized_start=111
134
136
  _globals['_IP']._serialized_end=481
135
137
  _globals['_IPSERVICEGETREQUEST']._serialized_start=484
@@ -137,23 +139,23 @@ if not _descriptor._USE_C_DESCRIPTORS:
137
139
  _globals['_IPSERVICECREATEREQUEST']._serialized_start=628
138
140
  _globals['_IPSERVICECREATEREQUEST']._serialized_end=1174
139
141
  _globals['_IPSERVICEUPDATEREQUEST']._serialized_start=1177
140
- _globals['_IPSERVICEUPDATEREQUEST']._serialized_end=1517
141
- _globals['_IPSERVICELISTREQUEST']._serialized_start=1519
142
- _globals['_IPSERVICELISTREQUEST']._serialized_end=1627
143
- _globals['_IPQUERY']._serialized_start=1630
144
- _globals['_IPQUERY']._serialized_end=2316
145
- _globals['_IPSERVICEDELETEREQUEST']._serialized_start=2318
146
- _globals['_IPSERVICEDELETEREQUEST']._serialized_end=2403
147
- _globals['_IPSERVICEGETRESPONSE']._serialized_start=2405
148
- _globals['_IPSERVICEGETRESPONSE']._serialized_end=2466
149
- _globals['_IPSERVICEUPDATERESPONSE']._serialized_start=2468
150
- _globals['_IPSERVICEUPDATERESPONSE']._serialized_end=2532
151
- _globals['_IPSERVICECREATERESPONSE']._serialized_start=2534
152
- _globals['_IPSERVICECREATERESPONSE']._serialized_end=2598
153
- _globals['_IPSERVICELISTRESPONSE']._serialized_start=2600
154
- _globals['_IPSERVICELISTRESPONSE']._serialized_end=2664
155
- _globals['_IPSERVICEDELETERESPONSE']._serialized_start=2666
156
- _globals['_IPSERVICEDELETERESPONSE']._serialized_end=2730
157
- _globals['_IPSERVICE']._serialized_start=2964
158
- _globals['_IPSERVICE']._serialized_end=3495
142
+ _globals['_IPSERVICEUPDATEREQUEST']._serialized_end=1589
143
+ _globals['_IPSERVICELISTREQUEST']._serialized_start=1591
144
+ _globals['_IPSERVICELISTREQUEST']._serialized_end=1699
145
+ _globals['_IPQUERY']._serialized_start=1702
146
+ _globals['_IPQUERY']._serialized_end=2388
147
+ _globals['_IPSERVICEDELETEREQUEST']._serialized_start=2390
148
+ _globals['_IPSERVICEDELETEREQUEST']._serialized_end=2475
149
+ _globals['_IPSERVICEGETRESPONSE']._serialized_start=2477
150
+ _globals['_IPSERVICEGETRESPONSE']._serialized_end=2538
151
+ _globals['_IPSERVICEUPDATERESPONSE']._serialized_start=2540
152
+ _globals['_IPSERVICEUPDATERESPONSE']._serialized_end=2604
153
+ _globals['_IPSERVICECREATERESPONSE']._serialized_start=2606
154
+ _globals['_IPSERVICECREATERESPONSE']._serialized_end=2670
155
+ _globals['_IPSERVICELISTRESPONSE']._serialized_start=2672
156
+ _globals['_IPSERVICELISTRESPONSE']._serialized_end=2736
157
+ _globals['_IPSERVICEDELETERESPONSE']._serialized_start=2738
158
+ _globals['_IPSERVICEDELETERESPONSE']._serialized_end=2802
159
+ _globals['_IPSERVICE']._serialized_start=3036
160
+ _globals['_IPSERVICE']._serialized_end=3567
159
161
  # @@protoc_insertion_point(module_scope)
@@ -82,20 +82,22 @@ class IPServiceCreateRequest(_message.Message):
82
82
  def __init__(self, network: _Optional[str] = ..., project: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., ip: _Optional[str] = ..., machine: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., type: _Optional[_Union[IPType, str]] = ..., address_family: _Optional[_Union[IPAddressFamily, str]] = ...) -> None: ...
83
83
 
84
84
  class IPServiceUpdateRequest(_message.Message):
85
- __slots__ = ("ip", "project", "name", "description", "type", "labels")
85
+ __slots__ = ("ip", "update_meta", "project", "name", "description", "type", "labels")
86
86
  IP_FIELD_NUMBER: _ClassVar[int]
87
+ UPDATE_META_FIELD_NUMBER: _ClassVar[int]
87
88
  PROJECT_FIELD_NUMBER: _ClassVar[int]
88
89
  NAME_FIELD_NUMBER: _ClassVar[int]
89
90
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
90
91
  TYPE_FIELD_NUMBER: _ClassVar[int]
91
92
  LABELS_FIELD_NUMBER: _ClassVar[int]
92
93
  ip: str
94
+ update_meta: _common_pb2.UpdateMeta
93
95
  project: str
94
96
  name: str
95
97
  description: str
96
98
  type: IPType
97
99
  labels: _common_pb2.UpdateLabels
98
- def __init__(self, ip: _Optional[str] = ..., project: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., type: _Optional[_Union[IPType, str]] = ..., labels: _Optional[_Union[_common_pb2.UpdateLabels, _Mapping]] = ...) -> None: ...
100
+ def __init__(self, ip: _Optional[str] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ..., project: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., type: _Optional[_Union[IPType, str]] = ..., labels: _Optional[_Union[_common_pb2.UpdateLabels, _Mapping]] = ...) -> None: ...
99
101
 
100
102
  class IPServiceListRequest(_message.Message):
101
103
  __slots__ = ("project", "query")