metal-stack-api 0.0.19__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.
@@ -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\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")