metal-stack-api 0.0.28__py3-none-any.whl → 0.0.30__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.
- {metal_stack_api-0.0.28.dist-info → metal_stack_api-0.0.30.dist-info}/METADATA +1 -1
- {metal_stack_api-0.0.28.dist-info → metal_stack_api-0.0.30.dist-info}/RECORD +12 -12
- metalstack/admin/v2/ip_connect.py +0 -65
- metalstack/admin/v2/ip_pb2.py +3 -11
- metalstack/admin/v2/ip_pb2.pyi +0 -18
- metalstack/api/v2/token_pb2.py +44 -44
- metalstack/api/v2/token_pb2.pyi +14 -8
- metalstack/infra/v2/switch_connect.py +65 -0
- metalstack/infra/v2/switch_pb2.py +29 -17
- metalstack/infra/v2/switch_pb2.pyi +18 -2
- {metal_stack_api-0.0.28.dist-info → metal_stack_api-0.0.30.dist-info}/WHEEL +0 -0
- {metal_stack_api-0.0.28.dist-info → metal_stack_api-0.0.30.dist-info}/top_level.txt +0 -0
|
@@ -7,9 +7,9 @@ metalstack/admin/v2/filesystem_pb2.pyi,sha256=yeb3mYmuTvjdSgzVl6wDSpUGQ1HLX2AWKr
|
|
|
7
7
|
metalstack/admin/v2/image_connect.py,sha256=4-MlnrMTSEKWJlIwII3_KyGqAfQJANSEssy8_Ng2tm8,15489
|
|
8
8
|
metalstack/admin/v2/image_pb2.py,sha256=bM0V2ASGVA2Q-L-uFlNQY3c-Uy1crHikMgBnnbWDoQw,8518
|
|
9
9
|
metalstack/admin/v2/image_pb2.pyi,sha256=dY5Cep_Sd6LyGcmEuCyJduInDiZ32uvwyIqzoUxlNkk,3656
|
|
10
|
-
metalstack/admin/v2/ip_connect.py,sha256=
|
|
11
|
-
metalstack/admin/v2/ip_pb2.py,sha256=
|
|
12
|
-
metalstack/admin/v2/ip_pb2.pyi,sha256=
|
|
10
|
+
metalstack/admin/v2/ip_connect.py,sha256=4nmE0hsWGW4tJlmu0860Dp_-hHMLqvyO85fPAOTht18,5165
|
|
11
|
+
metalstack/admin/v2/ip_pb2.py,sha256=owBqFboWObmSeIdpokLiTY-gPQqZiABYEYGzhgfGATc,2913
|
|
12
|
+
metalstack/admin/v2/ip_pb2.pyi,sha256=bU9pxQ4p-8jucl25-w-T3JgqoXlX61Nb44kMVs9PCjA,970
|
|
13
13
|
metalstack/admin/v2/machine_connect.py,sha256=q1qASGH8O7n0XDOVv9SY5TDkAGI82PXxw7795pCtzLc,8793
|
|
14
14
|
metalstack/admin/v2/machine_pb2.py,sha256=fXxAZAe1PXumPocR7936rmcMNjntcZxZviPhD7cF4mQ,4704
|
|
15
15
|
metalstack/admin/v2/machine_pb2.pyi,sha256=dGSQx-mG_B26Jv5eWAZ7_V06klPYwsqLatfY77g99kY,1739
|
|
@@ -73,8 +73,8 @@ metalstack/api/v2/tenant_connect.py,sha256=uzhCOeURjHqdoBwJJPr8tyS-uPapLEBfy1ppW
|
|
|
73
73
|
metalstack/api/v2/tenant_pb2.py,sha256=qXx8jxNzWpPLFy6A0QpGay-WVs23OJaerEBa9KkafRY,18910
|
|
74
74
|
metalstack/api/v2/tenant_pb2.pyi,sha256=prHKgu4r4r1jFb5nSrTRdn2Q7C8iCBd7l5sPMMs6W3o,10822
|
|
75
75
|
metalstack/api/v2/token_connect.py,sha256=eeWuMi194zSJ2w8kNq0p25PTAaGxvENttZtG-7lW1q0,21893
|
|
76
|
-
metalstack/api/v2/token_pb2.py,sha256=
|
|
77
|
-
metalstack/api/v2/token_pb2.pyi,sha256=
|
|
76
|
+
metalstack/api/v2/token_pb2.py,sha256=6SnWtIpbS3euvqyweeIw0cu_fko9m22niZZ4OePsGZM,18368
|
|
77
|
+
metalstack/api/v2/token_pb2.pyi,sha256=JRjKXbJRBHvalqEuQAb9i31ShpcltdRNmuyggtB4Wro,10123
|
|
78
78
|
metalstack/api/v2/user_connect.py,sha256=rZ4NpRKVWzKdLuO9nRAIo4bw7mpByfFucvmtI9MvIZE,5185
|
|
79
79
|
metalstack/api/v2/user_pb2.py,sha256=-XsdgiSt3LiAKAChABQc-JMjFXEXXcpojW7HkpAGLyM,3993
|
|
80
80
|
metalstack/api/v2/user_pb2.pyi,sha256=rXGPGTVvEkxJrNr2UHuSfxUGDoNpOxXodaZ_5eEjbqg,2032
|
|
@@ -88,10 +88,10 @@ metalstack/infra/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
|
|
|
88
88
|
metalstack/infra/v2/bmc_connect.py,sha256=OJQQnWJmYANeDoCcwQDR-wQUiyZ0bNlNsOxDFFnaklk,5332
|
|
89
89
|
metalstack/infra/v2/bmc_pb2.py,sha256=4NUyjsGQ5a5FbfHyCfKBkxVbad6Vt8RvH8QwnMCjwhg,2701
|
|
90
90
|
metalstack/infra/v2/bmc_pb2.pyi,sha256=e4FGBnDQhg6K_zlhoC170lw-0OSlSdHK3So6r3Reh1E,444
|
|
91
|
-
metalstack/infra/v2/switch_connect.py,sha256=
|
|
92
|
-
metalstack/infra/v2/switch_pb2.py,sha256=
|
|
93
|
-
metalstack/infra/v2/switch_pb2.pyi,sha256=
|
|
94
|
-
metal_stack_api-0.0.
|
|
95
|
-
metal_stack_api-0.0.
|
|
96
|
-
metal_stack_api-0.0.
|
|
97
|
-
metal_stack_api-0.0.
|
|
91
|
+
metalstack/infra/v2/switch_connect.py,sha256=TftYMAVcYhwFaenInmBK21CnGTyN5pXNDrKQLDWFTz4,12319
|
|
92
|
+
metalstack/infra/v2/switch_pb2.py,sha256=ZoVTK-bwTP33GOKvK3-GlphfHaYmmVmS8_ZrKloFB-o,7728
|
|
93
|
+
metalstack/infra/v2/switch_pb2.pyi,sha256=SSUHCM5ImRTV1U1X_uEA51qWZYtEd-_ZesVESiKeWNw,4309
|
|
94
|
+
metal_stack_api-0.0.30.dist-info/METADATA,sha256=RegEe18C0LudvlUqmo1Uqx7Pp6rLqX7secuERzuNpMc,874
|
|
95
|
+
metal_stack_api-0.0.30.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
96
|
+
metal_stack_api-0.0.30.dist-info/top_level.txt,sha256=OqZoCBTOYMgPJJ3GbO1ZfY7eRpW9Ljc5g3Ajlu44n2I,11
|
|
97
|
+
metal_stack_api-0.0.30.dist-info/RECORD,,
|
|
@@ -19,9 +19,6 @@ class IPService(Protocol):
|
|
|
19
19
|
async def list(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListResponse:
|
|
20
20
|
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
21
21
|
|
|
22
|
-
async def issues(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse:
|
|
23
|
-
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
24
|
-
|
|
25
22
|
|
|
26
23
|
class IPServiceASGIApplication(ConnectASGIApplication):
|
|
27
24
|
def __init__(self, service: IPService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
|
|
@@ -37,16 +34,6 @@ class IPServiceASGIApplication(ConnectASGIApplication):
|
|
|
37
34
|
),
|
|
38
35
|
function=service.list,
|
|
39
36
|
),
|
|
40
|
-
"/metalstack.admin.v2.IPService/Issues": Endpoint.unary(
|
|
41
|
-
method=MethodInfo(
|
|
42
|
-
name="Issues",
|
|
43
|
-
service_name="metalstack.admin.v2.IPService",
|
|
44
|
-
input=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest,
|
|
45
|
-
output=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse,
|
|
46
|
-
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
47
|
-
),
|
|
48
|
-
function=service.issues,
|
|
49
|
-
),
|
|
50
37
|
},
|
|
51
38
|
interceptors=interceptors,
|
|
52
39
|
read_max_bytes=read_max_bytes,
|
|
@@ -79,32 +66,10 @@ class IPServiceClient(ConnectClient):
|
|
|
79
66
|
timeout_ms=timeout_ms,
|
|
80
67
|
)
|
|
81
68
|
|
|
82
|
-
async def issues(
|
|
83
|
-
self,
|
|
84
|
-
request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest,
|
|
85
|
-
*,
|
|
86
|
-
headers: Headers | Mapping[str, str] | None = None,
|
|
87
|
-
timeout_ms: int | None = None,
|
|
88
|
-
) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse:
|
|
89
|
-
return await self.execute_unary(
|
|
90
|
-
request=request,
|
|
91
|
-
method=MethodInfo(
|
|
92
|
-
name="Issues",
|
|
93
|
-
service_name="metalstack.admin.v2.IPService",
|
|
94
|
-
input=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest,
|
|
95
|
-
output=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse,
|
|
96
|
-
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
97
|
-
),
|
|
98
|
-
headers=headers,
|
|
99
|
-
timeout_ms=timeout_ms,
|
|
100
|
-
)
|
|
101
|
-
|
|
102
69
|
|
|
103
70
|
class IPServiceSync(Protocol):
|
|
104
71
|
def list(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceListResponse:
|
|
105
72
|
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
106
|
-
def issues(self, request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse:
|
|
107
|
-
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
108
73
|
|
|
109
74
|
|
|
110
75
|
class IPServiceWSGIApplication(ConnectWSGIApplication):
|
|
@@ -121,16 +86,6 @@ class IPServiceWSGIApplication(ConnectWSGIApplication):
|
|
|
121
86
|
),
|
|
122
87
|
function=service.list,
|
|
123
88
|
),
|
|
124
|
-
"/metalstack.admin.v2.IPService/Issues": EndpointSync.unary(
|
|
125
|
-
method=MethodInfo(
|
|
126
|
-
name="Issues",
|
|
127
|
-
service_name="metalstack.admin.v2.IPService",
|
|
128
|
-
input=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest,
|
|
129
|
-
output=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse,
|
|
130
|
-
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
131
|
-
),
|
|
132
|
-
function=service.issues,
|
|
133
|
-
),
|
|
134
89
|
},
|
|
135
90
|
interceptors=interceptors,
|
|
136
91
|
read_max_bytes=read_max_bytes,
|
|
@@ -162,23 +117,3 @@ class IPServiceClientSync(ConnectClientSync):
|
|
|
162
117
|
headers=headers,
|
|
163
118
|
timeout_ms=timeout_ms,
|
|
164
119
|
)
|
|
165
|
-
|
|
166
|
-
def issues(
|
|
167
|
-
self,
|
|
168
|
-
request: metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest,
|
|
169
|
-
*,
|
|
170
|
-
headers: Headers | Mapping[str, str] | None = None,
|
|
171
|
-
timeout_ms: int | None = None,
|
|
172
|
-
) -> metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse:
|
|
173
|
-
return self.execute_unary(
|
|
174
|
-
request=request,
|
|
175
|
-
method=MethodInfo(
|
|
176
|
-
name="Issues",
|
|
177
|
-
service_name="metalstack.admin.v2.IPService",
|
|
178
|
-
input=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesRequest,
|
|
179
|
-
output=metalstack_dot_admin_dot_v2_dot_ip__pb2.IPServiceIssuesResponse,
|
|
180
|
-
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
181
|
-
),
|
|
182
|
-
headers=headers,
|
|
183
|
-
timeout_ms=timeout_ms,
|
|
184
|
-
)
|
metalstack/admin/v2/ip_pb2.py
CHANGED
|
@@ -26,7 +26,7 @@ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common
|
|
|
26
26
|
from metalstack.api.v2 import ip_pb2 as metalstack_dot_api_dot_v2_dot_ip__pb2
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cmetalstack/admin/v2/ip.proto\x12\x13metalstack.admin.v2\x1a\x1emetalstack/api/v2/common.proto\x1a\x1ametalstack/api/v2/ip.proto\"H\n\x14IPServiceListRequest\x12\x30\n\x05query\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.IPQueryR\x05query\"@\n\x15IPServiceListResponse\x12\'\n\x03ips\x18\x01 \x03(\x0b\x32\x15.metalstack.api.v2.IPR\
|
|
29
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cmetalstack/admin/v2/ip.proto\x12\x13metalstack.admin.v2\x1a\x1emetalstack/api/v2/common.proto\x1a\x1ametalstack/api/v2/ip.proto\"H\n\x14IPServiceListRequest\x12\x30\n\x05query\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.IPQueryR\x05query\"@\n\x15IPServiceListResponse\x12\'\n\x03ips\x18\x01 \x03(\x0b\x32\x15.metalstack.api.v2.IPR\x03ips2v\n\tIPService\x12i\n\x04List\x12).metalstack.admin.v2.IPServiceListRequest\x1a*.metalstack.admin.v2.IPServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x42\xcb\x01\n\x17\x63om.metalstack.admin.v2B\x07IpProtoP\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
30
|
|
|
31
31
|
_globals = globals()
|
|
32
32
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -36,18 +36,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
36
36
|
_globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.admin.v2B\007IpProtoP\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'
|
|
37
37
|
_globals['_IPSERVICE'].methods_by_name['List']._loaded_options = None
|
|
38
38
|
_globals['_IPSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
|
|
39
|
-
_globals['_IPSERVICE'].methods_by_name['Issues']._loaded_options = None
|
|
40
|
-
_globals['_IPSERVICE'].methods_by_name['Issues']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
|
|
41
39
|
_globals['_IPSERVICELISTREQUEST']._serialized_start=113
|
|
42
40
|
_globals['_IPSERVICELISTREQUEST']._serialized_end=185
|
|
43
41
|
_globals['_IPSERVICELISTRESPONSE']._serialized_start=187
|
|
44
42
|
_globals['_IPSERVICELISTRESPONSE']._serialized_end=251
|
|
45
|
-
_globals['
|
|
46
|
-
_globals['
|
|
47
|
-
_globals['_IPSERVICEISSUESRESPONSE']._serialized_start=279
|
|
48
|
-
_globals['_IPSERVICEISSUESRESPONSE']._serialized_end=358
|
|
49
|
-
_globals['_IPISSUE']._serialized_start=360
|
|
50
|
-
_globals['_IPISSUE']._serialized_end=442
|
|
51
|
-
_globals['_IPSERVICE']._serialized_start=445
|
|
52
|
-
_globals['_IPSERVICE']._serialized_end=676
|
|
43
|
+
_globals['_IPSERVICE']._serialized_start=253
|
|
44
|
+
_globals['_IPSERVICE']._serialized_end=371
|
|
53
45
|
# @@protoc_insertion_point(module_scope)
|
metalstack/admin/v2/ip_pb2.pyi
CHANGED
|
@@ -19,21 +19,3 @@ class IPServiceListResponse(_message.Message):
|
|
|
19
19
|
IPS_FIELD_NUMBER: _ClassVar[int]
|
|
20
20
|
ips: _containers.RepeatedCompositeFieldContainer[_ip_pb2.IP]
|
|
21
21
|
def __init__(self, ips: _Optional[_Iterable[_Union[_ip_pb2.IP, _Mapping]]] = ...) -> None: ...
|
|
22
|
-
|
|
23
|
-
class IPServiceIssuesRequest(_message.Message):
|
|
24
|
-
__slots__ = ()
|
|
25
|
-
def __init__(self) -> None: ...
|
|
26
|
-
|
|
27
|
-
class IPServiceIssuesResponse(_message.Message):
|
|
28
|
-
__slots__ = ("issues",)
|
|
29
|
-
ISSUES_FIELD_NUMBER: _ClassVar[int]
|
|
30
|
-
issues: _containers.RepeatedCompositeFieldContainer[IPIssue]
|
|
31
|
-
def __init__(self, issues: _Optional[_Iterable[_Union[IPIssue, _Mapping]]] = ...) -> None: ...
|
|
32
|
-
|
|
33
|
-
class IPIssue(_message.Message):
|
|
34
|
-
__slots__ = ("description", "ip")
|
|
35
|
-
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
|
|
36
|
-
IP_FIELD_NUMBER: _ClassVar[int]
|
|
37
|
-
description: str
|
|
38
|
-
ip: _ip_pb2.IP
|
|
39
|
-
def __init__(self, description: _Optional[str] = ..., ip: _Optional[_Union[_ip_pb2.IP, _Mapping]] = ...) -> None: ...
|
metalstack/api/v2/token_pb2.py
CHANGED
|
@@ -29,7 +29,7 @@ from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common
|
|
|
29
29
|
from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/api/v2/token.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\
|
|
32
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/api/v2/token.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"\xe3\x06\n\x05Token\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x1e\n\x04user\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x04user\x12+\n\x04meta\x18\x03 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12-\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12P\n\x0bpermissions\x18\x05 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionB\t\xbaH\x06\x92\x01\x03\x10\xf4\x03R\x0bpermissions\x12\x34\n\x07\x65xpires\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65xpires\x12\x37\n\tissued_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08issuedAt\x12\x45\n\ntoken_type\x18\x08 \x01(\x0e\x32\x1c.metalstack.api.v2.TokenTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\ttokenType\x12O\n\rproject_roles\x18\t \x03(\x0b\x32*.metalstack.api.v2.Token.ProjectRolesEntryR\x0cprojectRoles\x12L\n\x0ctenant_roles\x18\n \x03(\x0b\x32).metalstack.api.v2.Token.TenantRolesEntryR\x0btenantRoles\x12J\n\nadmin_role\x18\x0b \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\tadminRole\x88\x01\x01\x1a_\n\x11ProjectRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x05value:\x02\x38\x01\x1a]\n\x10TenantRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x33\n\x05value\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x05value:\x02\x38\x01\x42\r\n\x0b_admin_role\"\xa7\x06\n\x19TokenServiceCreateRequest\x12-\n\x0b\x64\x65scription\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01R\x0b\x64\x65scription\x12O\n\x0bpermissions\x18\x02 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionB\x08\xbaH\x05\x92\x01\x02\x10\x64R\x0bpermissions\x12G\n\x07\x65xpires\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x12\xbaH\x0f\xaa\x01\x0c\x1a\x05\x08\x81\xe7\x84\x0f\x32\x03\x08\xd8\x04R\x07\x65xpires\x12y\n\rproject_roles\x18\x05 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceCreateRequest.ProjectRolesEntryB\x14\xbaH\x11\x9a\x01\x0e\"\x05r\x03\xb0\x01\x01*\x05\x82\x01\x02\x10\x01R\x0cprojectRoles\x12x\n\x0ctenant_roles\x18\x06 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceCreateRequest.TenantRolesEntryB\x16\xbaH\x13\x9a\x01\x10\"\x07r\x05\x10\x03\x18\x80\x01*\x05\x82\x01\x02\x10\x01R\x0btenantRoles\x12J\n\nadmin_role\x18\x07 \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\tadminRole\x88\x01\x01\x12\x31\n\x06labels\x18\x08 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x1a_\n\x11ProjectRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x05value:\x02\x38\x01\x1a]\n\x10TenantRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x33\n\x05value\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x05value:\x02\x38\x01\x42\r\n\x0b_admin_role\"]\n\x10MethodPermission\x12$\n\x07subject\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\x07subject\x12#\n\x07methods\x18\x02 \x03(\tB\t\xbaH\x06\x92\x01\x03\x10\xf4\x03R\x07methods\"d\n\x1aTokenServiceCreateResponse\x12.\n\x05token\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.TokenR\x05token\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"\x19\n\x17TokenServiceListRequest\"L\n\x18TokenServiceListResponse\x12\x30\n\x06tokens\x18\x01 \x03(\x0b\x32\x18.metalstack.api.v2.TokenR\x06tokens\"9\n\x19TokenServiceRevokeRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"\x1c\n\x1aTokenServiceRevokeResponse\"\xd5\x06\n\x19TokenServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x00R\nupdateMeta\x12\x32\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x45\n\x0bpermissions\x18\x04 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionR\x0bpermissions\x12y\n\rproject_roles\x18\x05 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceUpdateRequest.ProjectRolesEntryB\x14\xbaH\x11\x9a\x01\x0e\"\x05r\x03\xb0\x01\x01*\x05\x82\x01\x02\x10\x01R\x0cprojectRoles\x12x\n\x0ctenant_roles\x18\x06 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceUpdateRequest.TenantRolesEntryB\x16\xbaH\x13\x9a\x01\x10\"\x07r\x05\x10\x03\x18\x80\x01*\x05\x82\x01\x02\x10\x01R\x0btenantRoles\x12J\n\nadmin_role\x18\x07 \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\tadminRole\x88\x01\x01\x12\x37\n\x06labels\x18\x08 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsR\x06labels\x1a_\n\x11ProjectRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleR\x05value:\x02\x38\x01\x1a]\n\x10TenantRolesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x33\n\x05value\x18\x02 \x01(\x0e\x32\x1d.metalstack.api.v2.TenantRoleR\x05value:\x02\x38\x01\x42\x0e\n\x0c_descriptionB\r\n\x0b_admin_role\"L\n\x1aTokenServiceUpdateResponse\x12.\n\x05token\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.TokenR\x05token\"6\n\x16TokenServiceGetRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\"I\n\x17TokenServiceGetResponse\x12.\n\x05token\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.TokenR\x05token\"\x1c\n\x1aTokenServiceRefreshRequest\"e\n\x1bTokenServiceRefreshResponse\x12.\n\x05token\x18\x01 \x01(\x0b\x32\x18.metalstack.api.v2.TokenR\x05token\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret*P\n\tTokenType\x12\x1a\n\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eTOKEN_TYPE_API\x10\x01\x12\x13\n\x0fTOKEN_TYPE_USER\x10\x02\x32\x90\x05\n\x0cTokenService\x12\x62\n\x03Get\x12).metalstack.api.v2.TokenServiceGetRequest\x1a*.metalstack.api.v2.TokenServiceGetResponse\"\x04\xd8\xf3\x18\x03\x12k\n\x06\x43reate\x12,.metalstack.api.v2.TokenServiceCreateRequest\x1a-.metalstack.api.v2.TokenServiceCreateResponse\"\x04\xd8\xf3\x18\x03\x12k\n\x06Update\x12,.metalstack.api.v2.TokenServiceUpdateRequest\x1a-.metalstack.api.v2.TokenServiceUpdateResponse\"\x04\xd8\xf3\x18\x03\x12\x65\n\x04List\x12*.metalstack.api.v2.TokenServiceListRequest\x1a+.metalstack.api.v2.TokenServiceListResponse\"\x04\xd8\xf3\x18\x03\x12k\n\x06Revoke\x12,.metalstack.api.v2.TokenServiceRevokeRequest\x1a-.metalstack.api.v2.TokenServiceRevokeResponse\"\x04\xd8\xf3\x18\x03\x12n\n\x07Refresh\x12-.metalstack.api.v2.TokenServiceRefreshRequest\x1a..metalstack.api.v2.TokenServiceRefreshResponse\"\x04\xd8\xf3\x18\x03\x42\xc0\x01\n\x15\x63om.metalstack.api.v2B\nTokenProtoP\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')
|
|
33
33
|
|
|
34
34
|
_globals = globals()
|
|
35
35
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -105,48 +105,48 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
105
105
|
_globals['_TOKENSERVICE'].methods_by_name['Revoke']._serialized_options = b'\330\363\030\003'
|
|
106
106
|
_globals['_TOKENSERVICE'].methods_by_name['Refresh']._loaded_options = None
|
|
107
107
|
_globals['_TOKENSERVICE'].methods_by_name['Refresh']._serialized_options = b'\330\363\030\003'
|
|
108
|
-
_globals['_TOKENTYPE']._serialized_start=
|
|
109
|
-
_globals['_TOKENTYPE']._serialized_end=
|
|
108
|
+
_globals['_TOKENTYPE']._serialized_start=3489
|
|
109
|
+
_globals['_TOKENTYPE']._serialized_end=3569
|
|
110
110
|
_globals['_TOKEN']._serialized_start=221
|
|
111
|
-
_globals['_TOKEN']._serialized_end=
|
|
112
|
-
_globals['_TOKEN_PROJECTROLESENTRY']._serialized_start=
|
|
113
|
-
_globals['_TOKEN_PROJECTROLESENTRY']._serialized_end=
|
|
114
|
-
_globals['_TOKEN_TENANTROLESENTRY']._serialized_start=
|
|
115
|
-
_globals['_TOKEN_TENANTROLESENTRY']._serialized_end=
|
|
116
|
-
_globals['_TOKENSERVICECREATEREQUEST']._serialized_start=
|
|
117
|
-
_globals['_TOKENSERVICECREATEREQUEST']._serialized_end=
|
|
118
|
-
_globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._serialized_start=
|
|
119
|
-
_globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._serialized_end=
|
|
120
|
-
_globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._serialized_start=
|
|
121
|
-
_globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._serialized_end=
|
|
122
|
-
_globals['_METHODPERMISSION']._serialized_start=
|
|
123
|
-
_globals['_METHODPERMISSION']._serialized_end=
|
|
124
|
-
_globals['_TOKENSERVICECREATERESPONSE']._serialized_start=
|
|
125
|
-
_globals['_TOKENSERVICECREATERESPONSE']._serialized_end=
|
|
126
|
-
_globals['_TOKENSERVICELISTREQUEST']._serialized_start=
|
|
127
|
-
_globals['_TOKENSERVICELISTREQUEST']._serialized_end=
|
|
128
|
-
_globals['_TOKENSERVICELISTRESPONSE']._serialized_start=
|
|
129
|
-
_globals['_TOKENSERVICELISTRESPONSE']._serialized_end=
|
|
130
|
-
_globals['_TOKENSERVICEREVOKEREQUEST']._serialized_start=
|
|
131
|
-
_globals['_TOKENSERVICEREVOKEREQUEST']._serialized_end=
|
|
132
|
-
_globals['_TOKENSERVICEREVOKERESPONSE']._serialized_start=
|
|
133
|
-
_globals['_TOKENSERVICEREVOKERESPONSE']._serialized_end=
|
|
134
|
-
_globals['_TOKENSERVICEUPDATEREQUEST']._serialized_start=
|
|
135
|
-
_globals['_TOKENSERVICEUPDATEREQUEST']._serialized_end=
|
|
136
|
-
_globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._serialized_start=
|
|
137
|
-
_globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._serialized_end=
|
|
138
|
-
_globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._serialized_start=
|
|
139
|
-
_globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._serialized_end=
|
|
140
|
-
_globals['_TOKENSERVICEUPDATERESPONSE']._serialized_start=
|
|
141
|
-
_globals['_TOKENSERVICEUPDATERESPONSE']._serialized_end=
|
|
142
|
-
_globals['_TOKENSERVICEGETREQUEST']._serialized_start=
|
|
143
|
-
_globals['_TOKENSERVICEGETREQUEST']._serialized_end=
|
|
144
|
-
_globals['_TOKENSERVICEGETRESPONSE']._serialized_start=
|
|
145
|
-
_globals['_TOKENSERVICEGETRESPONSE']._serialized_end=
|
|
146
|
-
_globals['_TOKENSERVICEREFRESHREQUEST']._serialized_start=
|
|
147
|
-
_globals['_TOKENSERVICEREFRESHREQUEST']._serialized_end=
|
|
148
|
-
_globals['_TOKENSERVICEREFRESHRESPONSE']._serialized_start=
|
|
149
|
-
_globals['_TOKENSERVICEREFRESHRESPONSE']._serialized_end=
|
|
150
|
-
_globals['_TOKENSERVICE']._serialized_start=
|
|
151
|
-
_globals['_TOKENSERVICE']._serialized_end=
|
|
111
|
+
_globals['_TOKEN']._serialized_end=1088
|
|
112
|
+
_globals['_TOKEN_PROJECTROLESENTRY']._serialized_start=883
|
|
113
|
+
_globals['_TOKEN_PROJECTROLESENTRY']._serialized_end=978
|
|
114
|
+
_globals['_TOKEN_TENANTROLESENTRY']._serialized_start=980
|
|
115
|
+
_globals['_TOKEN_TENANTROLESENTRY']._serialized_end=1073
|
|
116
|
+
_globals['_TOKENSERVICECREATEREQUEST']._serialized_start=1091
|
|
117
|
+
_globals['_TOKENSERVICECREATEREQUEST']._serialized_end=1898
|
|
118
|
+
_globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._serialized_start=883
|
|
119
|
+
_globals['_TOKENSERVICECREATEREQUEST_PROJECTROLESENTRY']._serialized_end=978
|
|
120
|
+
_globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._serialized_start=980
|
|
121
|
+
_globals['_TOKENSERVICECREATEREQUEST_TENANTROLESENTRY']._serialized_end=1073
|
|
122
|
+
_globals['_METHODPERMISSION']._serialized_start=1900
|
|
123
|
+
_globals['_METHODPERMISSION']._serialized_end=1993
|
|
124
|
+
_globals['_TOKENSERVICECREATERESPONSE']._serialized_start=1995
|
|
125
|
+
_globals['_TOKENSERVICECREATERESPONSE']._serialized_end=2095
|
|
126
|
+
_globals['_TOKENSERVICELISTREQUEST']._serialized_start=2097
|
|
127
|
+
_globals['_TOKENSERVICELISTREQUEST']._serialized_end=2122
|
|
128
|
+
_globals['_TOKENSERVICELISTRESPONSE']._serialized_start=2124
|
|
129
|
+
_globals['_TOKENSERVICELISTRESPONSE']._serialized_end=2200
|
|
130
|
+
_globals['_TOKENSERVICEREVOKEREQUEST']._serialized_start=2202
|
|
131
|
+
_globals['_TOKENSERVICEREVOKEREQUEST']._serialized_end=2259
|
|
132
|
+
_globals['_TOKENSERVICEREVOKERESPONSE']._serialized_start=2261
|
|
133
|
+
_globals['_TOKENSERVICEREVOKERESPONSE']._serialized_end=2289
|
|
134
|
+
_globals['_TOKENSERVICEUPDATEREQUEST']._serialized_start=2292
|
|
135
|
+
_globals['_TOKENSERVICEUPDATEREQUEST']._serialized_end=3145
|
|
136
|
+
_globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._serialized_start=883
|
|
137
|
+
_globals['_TOKENSERVICEUPDATEREQUEST_PROJECTROLESENTRY']._serialized_end=978
|
|
138
|
+
_globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._serialized_start=980
|
|
139
|
+
_globals['_TOKENSERVICEUPDATEREQUEST_TENANTROLESENTRY']._serialized_end=1073
|
|
140
|
+
_globals['_TOKENSERVICEUPDATERESPONSE']._serialized_start=3147
|
|
141
|
+
_globals['_TOKENSERVICEUPDATERESPONSE']._serialized_end=3223
|
|
142
|
+
_globals['_TOKENSERVICEGETREQUEST']._serialized_start=3225
|
|
143
|
+
_globals['_TOKENSERVICEGETREQUEST']._serialized_end=3279
|
|
144
|
+
_globals['_TOKENSERVICEGETRESPONSE']._serialized_start=3281
|
|
145
|
+
_globals['_TOKENSERVICEGETRESPONSE']._serialized_end=3354
|
|
146
|
+
_globals['_TOKENSERVICEREFRESHREQUEST']._serialized_start=3356
|
|
147
|
+
_globals['_TOKENSERVICEREFRESHREQUEST']._serialized_end=3384
|
|
148
|
+
_globals['_TOKENSERVICEREFRESHRESPONSE']._serialized_start=3386
|
|
149
|
+
_globals['_TOKENSERVICEREFRESHRESPONSE']._serialized_end=3487
|
|
150
|
+
_globals['_TOKENSERVICE']._serialized_start=3572
|
|
151
|
+
_globals['_TOKENSERVICE']._serialized_end=4228
|
|
152
152
|
# @@protoc_insertion_point(module_scope)
|
metalstack/api/v2/token_pb2.pyi
CHANGED
|
@@ -18,13 +18,13 @@ class TokenType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
|
18
18
|
__slots__ = ()
|
|
19
19
|
TOKEN_TYPE_UNSPECIFIED: _ClassVar[TokenType]
|
|
20
20
|
TOKEN_TYPE_API: _ClassVar[TokenType]
|
|
21
|
-
|
|
21
|
+
TOKEN_TYPE_USER: _ClassVar[TokenType]
|
|
22
22
|
TOKEN_TYPE_UNSPECIFIED: TokenType
|
|
23
23
|
TOKEN_TYPE_API: TokenType
|
|
24
|
-
|
|
24
|
+
TOKEN_TYPE_USER: TokenType
|
|
25
25
|
|
|
26
26
|
class Token(_message.Message):
|
|
27
|
-
__slots__ = ("uuid", "user", "description", "permissions", "expires", "issued_at", "token_type", "project_roles", "tenant_roles", "admin_role")
|
|
27
|
+
__slots__ = ("uuid", "user", "meta", "description", "permissions", "expires", "issued_at", "token_type", "project_roles", "tenant_roles", "admin_role")
|
|
28
28
|
class ProjectRolesEntry(_message.Message):
|
|
29
29
|
__slots__ = ("key", "value")
|
|
30
30
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -41,6 +41,7 @@ class Token(_message.Message):
|
|
|
41
41
|
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_common_pb2.TenantRole, str]] = ...) -> None: ...
|
|
42
42
|
UUID_FIELD_NUMBER: _ClassVar[int]
|
|
43
43
|
USER_FIELD_NUMBER: _ClassVar[int]
|
|
44
|
+
META_FIELD_NUMBER: _ClassVar[int]
|
|
44
45
|
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
|
|
45
46
|
PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
|
|
46
47
|
EXPIRES_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -51,6 +52,7 @@ class Token(_message.Message):
|
|
|
51
52
|
ADMIN_ROLE_FIELD_NUMBER: _ClassVar[int]
|
|
52
53
|
uuid: str
|
|
53
54
|
user: str
|
|
55
|
+
meta: _common_pb2.Meta
|
|
54
56
|
description: str
|
|
55
57
|
permissions: _containers.RepeatedCompositeFieldContainer[MethodPermission]
|
|
56
58
|
expires: _timestamp_pb2.Timestamp
|
|
@@ -59,10 +61,10 @@ class Token(_message.Message):
|
|
|
59
61
|
project_roles: _containers.ScalarMap[str, _common_pb2.ProjectRole]
|
|
60
62
|
tenant_roles: _containers.ScalarMap[str, _common_pb2.TenantRole]
|
|
61
63
|
admin_role: _common_pb2.AdminRole
|
|
62
|
-
def __init__(self, uuid: _Optional[str] = ..., user: _Optional[str] = ..., description: _Optional[str] = ..., permissions: _Optional[_Iterable[_Union[MethodPermission, _Mapping]]] = ..., expires: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., issued_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., token_type: _Optional[_Union[TokenType, str]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ...) -> None: ...
|
|
64
|
+
def __init__(self, uuid: _Optional[str] = ..., user: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., description: _Optional[str] = ..., permissions: _Optional[_Iterable[_Union[MethodPermission, _Mapping]]] = ..., expires: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., issued_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., token_type: _Optional[_Union[TokenType, str]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ...) -> None: ...
|
|
63
65
|
|
|
64
66
|
class TokenServiceCreateRequest(_message.Message):
|
|
65
|
-
__slots__ = ("description", "permissions", "expires", "project_roles", "tenant_roles", "admin_role")
|
|
67
|
+
__slots__ = ("description", "permissions", "expires", "project_roles", "tenant_roles", "admin_role", "labels")
|
|
66
68
|
class ProjectRolesEntry(_message.Message):
|
|
67
69
|
__slots__ = ("key", "value")
|
|
68
70
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -83,13 +85,15 @@ class TokenServiceCreateRequest(_message.Message):
|
|
|
83
85
|
PROJECT_ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
84
86
|
TENANT_ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
85
87
|
ADMIN_ROLE_FIELD_NUMBER: _ClassVar[int]
|
|
88
|
+
LABELS_FIELD_NUMBER: _ClassVar[int]
|
|
86
89
|
description: str
|
|
87
90
|
permissions: _containers.RepeatedCompositeFieldContainer[MethodPermission]
|
|
88
91
|
expires: _duration_pb2.Duration
|
|
89
92
|
project_roles: _containers.ScalarMap[str, _common_pb2.ProjectRole]
|
|
90
93
|
tenant_roles: _containers.ScalarMap[str, _common_pb2.TenantRole]
|
|
91
94
|
admin_role: _common_pb2.AdminRole
|
|
92
|
-
|
|
95
|
+
labels: _common_pb2.Labels
|
|
96
|
+
def __init__(self, description: _Optional[str] = ..., permissions: _Optional[_Iterable[_Union[MethodPermission, _Mapping]]] = ..., expires: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
|
|
93
97
|
|
|
94
98
|
class MethodPermission(_message.Message):
|
|
95
99
|
__slots__ = ("subject", "methods")
|
|
@@ -128,7 +132,7 @@ class TokenServiceRevokeResponse(_message.Message):
|
|
|
128
132
|
def __init__(self) -> None: ...
|
|
129
133
|
|
|
130
134
|
class TokenServiceUpdateRequest(_message.Message):
|
|
131
|
-
__slots__ = ("uuid", "update_meta", "description", "permissions", "project_roles", "tenant_roles", "admin_role")
|
|
135
|
+
__slots__ = ("uuid", "update_meta", "description", "permissions", "project_roles", "tenant_roles", "admin_role", "labels")
|
|
132
136
|
class ProjectRolesEntry(_message.Message):
|
|
133
137
|
__slots__ = ("key", "value")
|
|
134
138
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -150,6 +154,7 @@ class TokenServiceUpdateRequest(_message.Message):
|
|
|
150
154
|
PROJECT_ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
151
155
|
TENANT_ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
152
156
|
ADMIN_ROLE_FIELD_NUMBER: _ClassVar[int]
|
|
157
|
+
LABELS_FIELD_NUMBER: _ClassVar[int]
|
|
153
158
|
uuid: str
|
|
154
159
|
update_meta: _common_pb2.UpdateMeta
|
|
155
160
|
description: str
|
|
@@ -157,7 +162,8 @@ class TokenServiceUpdateRequest(_message.Message):
|
|
|
157
162
|
project_roles: _containers.ScalarMap[str, _common_pb2.ProjectRole]
|
|
158
163
|
tenant_roles: _containers.ScalarMap[str, _common_pb2.TenantRole]
|
|
159
164
|
admin_role: _common_pb2.AdminRole
|
|
160
|
-
|
|
165
|
+
labels: _common_pb2.UpdateLabels
|
|
166
|
+
def __init__(self, uuid: _Optional[str] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ..., description: _Optional[str] = ..., permissions: _Optional[_Iterable[_Union[MethodPermission, _Mapping]]] = ..., project_roles: _Optional[_Mapping[str, _common_pb2.ProjectRole]] = ..., tenant_roles: _Optional[_Mapping[str, _common_pb2.TenantRole]] = ..., admin_role: _Optional[_Union[_common_pb2.AdminRole, str]] = ..., labels: _Optional[_Union[_common_pb2.UpdateLabels, _Mapping]] = ...) -> None: ...
|
|
161
167
|
|
|
162
168
|
class TokenServiceUpdateResponse(_message.Message):
|
|
163
169
|
__slots__ = ("token",)
|
|
@@ -16,6 +16,9 @@ import metalstack.infra.v2.switch_pb2 as metalstack_dot_infra_dot_v2_dot_switch_
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class SwitchService(Protocol):
|
|
19
|
+
async def get(self, request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse:
|
|
20
|
+
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
21
|
+
|
|
19
22
|
async def register(self, request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceRegisterRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceRegisterResponse:
|
|
20
23
|
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
21
24
|
|
|
@@ -27,6 +30,16 @@ class SwitchServiceASGIApplication(ConnectASGIApplication):
|
|
|
27
30
|
def __init__(self, service: SwitchService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
|
|
28
31
|
super().__init__(
|
|
29
32
|
endpoints={
|
|
33
|
+
"/metalstack.infra.v2.SwitchService/Get": Endpoint.unary(
|
|
34
|
+
method=MethodInfo(
|
|
35
|
+
name="Get",
|
|
36
|
+
service_name="metalstack.infra.v2.SwitchService",
|
|
37
|
+
input=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest,
|
|
38
|
+
output=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse,
|
|
39
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
40
|
+
),
|
|
41
|
+
function=service.get,
|
|
42
|
+
),
|
|
30
43
|
"/metalstack.infra.v2.SwitchService/Register": Endpoint.unary(
|
|
31
44
|
method=MethodInfo(
|
|
32
45
|
name="Register",
|
|
@@ -59,6 +72,26 @@ class SwitchServiceASGIApplication(ConnectASGIApplication):
|
|
|
59
72
|
|
|
60
73
|
|
|
61
74
|
class SwitchServiceClient(ConnectClient):
|
|
75
|
+
async def get(
|
|
76
|
+
self,
|
|
77
|
+
request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest,
|
|
78
|
+
*,
|
|
79
|
+
headers: Headers | Mapping[str, str] | None = None,
|
|
80
|
+
timeout_ms: int | None = None,
|
|
81
|
+
) -> metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse:
|
|
82
|
+
return await self.execute_unary(
|
|
83
|
+
request=request,
|
|
84
|
+
method=MethodInfo(
|
|
85
|
+
name="Get",
|
|
86
|
+
service_name="metalstack.infra.v2.SwitchService",
|
|
87
|
+
input=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest,
|
|
88
|
+
output=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse,
|
|
89
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
90
|
+
),
|
|
91
|
+
headers=headers,
|
|
92
|
+
timeout_ms=timeout_ms,
|
|
93
|
+
)
|
|
94
|
+
|
|
62
95
|
async def register(
|
|
63
96
|
self,
|
|
64
97
|
request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceRegisterRequest,
|
|
@@ -101,6 +134,8 @@ class SwitchServiceClient(ConnectClient):
|
|
|
101
134
|
|
|
102
135
|
|
|
103
136
|
class SwitchServiceSync(Protocol):
|
|
137
|
+
def get(self, request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse:
|
|
138
|
+
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
104
139
|
def register(self, request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceRegisterRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceRegisterResponse:
|
|
105
140
|
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
106
141
|
def heartbeat(self, request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceHeartbeatRequest, ctx: RequestContext) -> metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceHeartbeatResponse:
|
|
@@ -111,6 +146,16 @@ class SwitchServiceWSGIApplication(ConnectWSGIApplication):
|
|
|
111
146
|
def __init__(self, service: SwitchServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
|
|
112
147
|
super().__init__(
|
|
113
148
|
endpoints={
|
|
149
|
+
"/metalstack.infra.v2.SwitchService/Get": EndpointSync.unary(
|
|
150
|
+
method=MethodInfo(
|
|
151
|
+
name="Get",
|
|
152
|
+
service_name="metalstack.infra.v2.SwitchService",
|
|
153
|
+
input=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest,
|
|
154
|
+
output=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse,
|
|
155
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
156
|
+
),
|
|
157
|
+
function=service.get,
|
|
158
|
+
),
|
|
114
159
|
"/metalstack.infra.v2.SwitchService/Register": EndpointSync.unary(
|
|
115
160
|
method=MethodInfo(
|
|
116
161
|
name="Register",
|
|
@@ -143,6 +188,26 @@ class SwitchServiceWSGIApplication(ConnectWSGIApplication):
|
|
|
143
188
|
|
|
144
189
|
|
|
145
190
|
class SwitchServiceClientSync(ConnectClientSync):
|
|
191
|
+
def get(
|
|
192
|
+
self,
|
|
193
|
+
request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest,
|
|
194
|
+
*,
|
|
195
|
+
headers: Headers | Mapping[str, str] | None = None,
|
|
196
|
+
timeout_ms: int | None = None,
|
|
197
|
+
) -> metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse:
|
|
198
|
+
return self.execute_unary(
|
|
199
|
+
request=request,
|
|
200
|
+
method=MethodInfo(
|
|
201
|
+
name="Get",
|
|
202
|
+
service_name="metalstack.infra.v2.SwitchService",
|
|
203
|
+
input=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetRequest,
|
|
204
|
+
output=metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceGetResponse,
|
|
205
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
206
|
+
),
|
|
207
|
+
headers=headers,
|
|
208
|
+
timeout_ms=timeout_ms,
|
|
209
|
+
)
|
|
210
|
+
|
|
146
211
|
def register(
|
|
147
212
|
self,
|
|
148
213
|
request: metalstack_dot_infra_dot_v2_dot_switch__pb2.SwitchServiceRegisterRequest,
|
|
@@ -22,13 +22,15 @@ _runtime_version.ValidateProtobufRuntimeVersion(
|
|
|
22
22
|
_sym_db = _symbol_database.Default()
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
25
26
|
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
|
|
26
27
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
27
28
|
from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
|
|
29
|
+
from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
|
|
28
30
|
from metalstack.api.v2 import switch_pb2 as metalstack_dot_api_dot_v2_dot_switch__pb2
|
|
29
31
|
|
|
30
32
|
|
|
31
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/infra/v2/switch.proto\x12\x13metalstack.infra.v2\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1emetalstack/api/v2/switch.proto\"Q\n\x1cSwitchServiceRegisterRequest\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"R\n\x1dSwitchServiceRegisterResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"\
|
|
33
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/infra/v2/switch.proto\x12\x13metalstack.infra.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/switch.proto\"8\n\x17SwitchServiceGetRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\"M\n\x18SwitchServiceGetResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"Q\n\x1cSwitchServiceRegisterRequest\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"R\n\x1dSwitchServiceRegisterResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"\xbb\x04\n\x1dSwitchServiceHeartbeatRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x35\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x19\n\x05\x65rror\x18\x03 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x12\x63\n\x0bport_states\x18\x04 \x03(\x0b\x32\x42.metalstack.infra.v2.SwitchServiceHeartbeatRequest.PortStatesEntryR\nportStates\x12m\n\x0f\x62gp_port_states\x18\x05 \x03(\x0b\x32\x45.metalstack.infra.v2.SwitchServiceHeartbeatRequest.BgpPortStatesEntryR\rbgpPortStates\x1a\x62\n\x0fPortStatesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusR\x05value:\x02\x38\x01\x1ag\n\x12\x42gpPortStatesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12;\n\x05value\x18\x02 \x01(\x0b\x32%.metalstack.api.v2.SwitchBGPPortStateR\x05value:\x02\x38\x01\x42\x08\n\x06_error\"\xb7\x01\n\x1eSwitchServiceHeartbeatResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\tlast_sync\x18\x02 \x01(\x0b\x32\x1f.metalstack.infra.v2.SwitchSyncR\x08lastSync\x12G\n\x0flast_sync_error\x18\x03 \x01(\x0b\x32\x1f.metalstack.infra.v2.SwitchSyncR\rlastSyncError\"\x98\x01\n\nSwitchSync\x12.\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x35\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x19\n\x05\x65rror\x18\x03 \x01(\tH\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error2\xfd\x02\n\rSwitchService\x12m\n\x03Get\x12,.metalstack.infra.v2.SwitchServiceGetRequest\x1a-.metalstack.infra.v2.SwitchServiceGetResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x12|\n\x08Register\x12\x31.metalstack.infra.v2.SwitchServiceRegisterRequest\x1a\x32.metalstack.infra.v2.SwitchServiceRegisterResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x12\x7f\n\tHeartbeat\x12\x32.metalstack.infra.v2.SwitchServiceHeartbeatRequest\x1a\x33.metalstack.infra.v2.SwitchServiceHeartbeatResponse\"\t\xe0\xf3\x18\x02\xea\xf3\x18\x01\x01\x42\xcf\x01\n\x17\x63om.metalstack.infra.v2B\x0bSwitchProtoP\x01Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\xa2\x02\x03MIX\xaa\x02\x13Metalstack.Infra.V2\xca\x02\x13Metalstack\\Infra\\V2\xe2\x02\x1fMetalstack\\Infra\\V2\\GPBMetadata\xea\x02\x15Metalstack::Infra::V2b\x06proto3')
|
|
32
34
|
|
|
33
35
|
_globals = globals()
|
|
34
36
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -36,28 +38,38 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metalstack.infra.v2.switch_
|
|
|
36
38
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
37
39
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
38
40
|
_globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.infra.v2B\013SwitchProtoP\001Z9github.com/metal-stack/api/go/metalstack/infra/v2;infrav2\242\002\003MIX\252\002\023Metalstack.Infra.V2\312\002\023Metalstack\\Infra\\V2\342\002\037Metalstack\\Infra\\V2\\GPBMetadata\352\002\025Metalstack::Infra::V2'
|
|
41
|
+
_globals['_SWITCHSERVICEGETREQUEST'].fields_by_name['id']._loaded_options = None
|
|
42
|
+
_globals['_SWITCHSERVICEGETREQUEST'].fields_by_name['id']._serialized_options = b'\272H\nr\010h\001\300\263\256\261\002\001'
|
|
39
43
|
_globals['_SWITCHSERVICEHEARTBEATREQUEST_PORTSTATESENTRY']._loaded_options = None
|
|
40
44
|
_globals['_SWITCHSERVICEHEARTBEATREQUEST_PORTSTATESENTRY']._serialized_options = b'8\001'
|
|
41
45
|
_globals['_SWITCHSERVICEHEARTBEATREQUEST_BGPPORTSTATESENTRY']._loaded_options = None
|
|
42
46
|
_globals['_SWITCHSERVICEHEARTBEATREQUEST_BGPPORTSTATESENTRY']._serialized_options = b'8\001'
|
|
47
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST'].fields_by_name['id']._loaded_options = None
|
|
48
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST'].fields_by_name['id']._serialized_options = b'\272H\nr\010h\001\300\263\256\261\002\001'
|
|
49
|
+
_globals['_SWITCHSERVICE'].methods_by_name['Get']._loaded_options = None
|
|
50
|
+
_globals['_SWITCHSERVICE'].methods_by_name['Get']._serialized_options = b'\340\363\030\002\352\363\030\001\001'
|
|
43
51
|
_globals['_SWITCHSERVICE'].methods_by_name['Register']._loaded_options = None
|
|
44
52
|
_globals['_SWITCHSERVICE'].methods_by_name['Register']._serialized_options = b'\340\363\030\002\352\363\030\001\001'
|
|
45
53
|
_globals['_SWITCHSERVICE'].methods_by_name['Heartbeat']._loaded_options = None
|
|
46
54
|
_globals['_SWITCHSERVICE'].methods_by_name['Heartbeat']._serialized_options = b'\340\363\030\002\352\363\030\001\001'
|
|
47
|
-
_globals['
|
|
48
|
-
_globals['
|
|
49
|
-
_globals['
|
|
50
|
-
_globals['
|
|
51
|
-
_globals['
|
|
52
|
-
_globals['
|
|
53
|
-
_globals['
|
|
54
|
-
_globals['
|
|
55
|
-
_globals['
|
|
56
|
-
_globals['
|
|
57
|
-
_globals['
|
|
58
|
-
_globals['
|
|
59
|
-
_globals['
|
|
60
|
-
_globals['
|
|
61
|
-
_globals['
|
|
62
|
-
_globals['
|
|
55
|
+
_globals['_SWITCHSERVICEGETREQUEST']._serialized_start=257
|
|
56
|
+
_globals['_SWITCHSERVICEGETREQUEST']._serialized_end=313
|
|
57
|
+
_globals['_SWITCHSERVICEGETRESPONSE']._serialized_start=315
|
|
58
|
+
_globals['_SWITCHSERVICEGETRESPONSE']._serialized_end=392
|
|
59
|
+
_globals['_SWITCHSERVICEREGISTERREQUEST']._serialized_start=394
|
|
60
|
+
_globals['_SWITCHSERVICEREGISTERREQUEST']._serialized_end=475
|
|
61
|
+
_globals['_SWITCHSERVICEREGISTERRESPONSE']._serialized_start=477
|
|
62
|
+
_globals['_SWITCHSERVICEREGISTERRESPONSE']._serialized_end=559
|
|
63
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST']._serialized_start=562
|
|
64
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST']._serialized_end=1133
|
|
65
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST_PORTSTATESENTRY']._serialized_start=920
|
|
66
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST_PORTSTATESENTRY']._serialized_end=1018
|
|
67
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST_BGPPORTSTATESENTRY']._serialized_start=1020
|
|
68
|
+
_globals['_SWITCHSERVICEHEARTBEATREQUEST_BGPPORTSTATESENTRY']._serialized_end=1123
|
|
69
|
+
_globals['_SWITCHSERVICEHEARTBEATRESPONSE']._serialized_start=1136
|
|
70
|
+
_globals['_SWITCHSERVICEHEARTBEATRESPONSE']._serialized_end=1319
|
|
71
|
+
_globals['_SWITCHSYNC']._serialized_start=1322
|
|
72
|
+
_globals['_SWITCHSYNC']._serialized_end=1474
|
|
73
|
+
_globals['_SWITCHSERVICE']._serialized_start=1477
|
|
74
|
+
_globals['_SWITCHSERVICE']._serialized_end=1858
|
|
63
75
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import datetime
|
|
2
2
|
|
|
3
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
3
4
|
from google.protobuf import duration_pb2 as _duration_pb2
|
|
4
5
|
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|
|
5
6
|
from metalstack.api.v2 import common_pb2 as _common_pb2
|
|
7
|
+
from metalstack.api.v2 import predefined_rules_pb2 as _predefined_rules_pb2
|
|
6
8
|
from metalstack.api.v2 import switch_pb2 as _switch_pb2
|
|
7
9
|
from google.protobuf.internal import containers as _containers
|
|
8
10
|
from google.protobuf import descriptor as _descriptor
|
|
@@ -12,6 +14,18 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
|
12
14
|
|
|
13
15
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
14
16
|
|
|
17
|
+
class SwitchServiceGetRequest(_message.Message):
|
|
18
|
+
__slots__ = ("id",)
|
|
19
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
|
20
|
+
id: str
|
|
21
|
+
def __init__(self, id: _Optional[str] = ...) -> None: ...
|
|
22
|
+
|
|
23
|
+
class SwitchServiceGetResponse(_message.Message):
|
|
24
|
+
__slots__ = ("switch",)
|
|
25
|
+
SWITCH_FIELD_NUMBER: _ClassVar[int]
|
|
26
|
+
switch: _switch_pb2.Switch
|
|
27
|
+
def __init__(self, switch: _Optional[_Union[_switch_pb2.Switch, _Mapping]] = ...) -> None: ...
|
|
28
|
+
|
|
15
29
|
class SwitchServiceRegisterRequest(_message.Message):
|
|
16
30
|
__slots__ = ("switch",)
|
|
17
31
|
SWITCH_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -25,7 +39,7 @@ class SwitchServiceRegisterResponse(_message.Message):
|
|
|
25
39
|
def __init__(self, switch: _Optional[_Union[_switch_pb2.Switch, _Mapping]] = ...) -> None: ...
|
|
26
40
|
|
|
27
41
|
class SwitchServiceHeartbeatRequest(_message.Message):
|
|
28
|
-
__slots__ = ("duration", "error", "port_states", "bgp_port_states")
|
|
42
|
+
__slots__ = ("id", "duration", "error", "port_states", "bgp_port_states")
|
|
29
43
|
class PortStatesEntry(_message.Message):
|
|
30
44
|
__slots__ = ("key", "value")
|
|
31
45
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -40,15 +54,17 @@ class SwitchServiceHeartbeatRequest(_message.Message):
|
|
|
40
54
|
key: str
|
|
41
55
|
value: _switch_pb2.SwitchBGPPortState
|
|
42
56
|
def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_switch_pb2.SwitchBGPPortState, _Mapping]] = ...) -> None: ...
|
|
57
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
|
43
58
|
DURATION_FIELD_NUMBER: _ClassVar[int]
|
|
44
59
|
ERROR_FIELD_NUMBER: _ClassVar[int]
|
|
45
60
|
PORT_STATES_FIELD_NUMBER: _ClassVar[int]
|
|
46
61
|
BGP_PORT_STATES_FIELD_NUMBER: _ClassVar[int]
|
|
62
|
+
id: str
|
|
47
63
|
duration: _duration_pb2.Duration
|
|
48
64
|
error: str
|
|
49
65
|
port_states: _containers.ScalarMap[str, _switch_pb2.SwitchPortStatus]
|
|
50
66
|
bgp_port_states: _containers.MessageMap[str, _switch_pb2.SwitchBGPPortState]
|
|
51
|
-
def __init__(self, duration: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., error: _Optional[str] = ..., port_states: _Optional[_Mapping[str, _switch_pb2.SwitchPortStatus]] = ..., bgp_port_states: _Optional[_Mapping[str, _switch_pb2.SwitchBGPPortState]] = ...) -> None: ...
|
|
67
|
+
def __init__(self, id: _Optional[str] = ..., duration: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., error: _Optional[str] = ..., port_states: _Optional[_Mapping[str, _switch_pb2.SwitchPortStatus]] = ..., bgp_port_states: _Optional[_Mapping[str, _switch_pb2.SwitchBGPPortState]] = ...) -> None: ...
|
|
52
68
|
|
|
53
69
|
class SwitchServiceHeartbeatResponse(_message.Message):
|
|
54
70
|
__slots__ = ("id", "last_sync", "last_sync_error")
|
|
File without changes
|
|
File without changes
|