metal-stack-api 0.0.3__py3-none-any.whl → 0.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metal-stack-api
3
- Version: 0.0.3
3
+ Version: 0.0.4
4
4
  Summary: Python API client for metal-stack api
5
5
  Home-page: https://github.com/metal-stack/api
6
6
  Author: metal-stack authors
@@ -83,10 +83,10 @@ metalstack/api/v2/tenant_connecpy.py,sha256=h3SRO8qxzYHfDhLJp87RXq0kmSYMjyePYIdC
83
83
  metalstack/api/v2/tenant_pb2.py,sha256=aD8oD-ZCVPWAOwxHaYuPcZZl56ErLSvZvMlbBLI6wTE,17665
84
84
  metalstack/api/v2/tenant_pb2.pyi,sha256=fopXmxKCtaDU9aGdM4Ams8wgx63B1DXcE683P3TJNY0,10275
85
85
  metalstack/api/v2/tenant_pb2_grpc.py,sha256=0QHbY6-5jsBQnalCUzvGGt8Ai0DYhCRfnj98Qyk3_aE,24145
86
- metalstack/api/v2/token_connecpy.py,sha256=o6Ic561Mph_x_JHTOIJazuYC1MHGBlkCMDAJARpBTPs,15509
87
- metalstack/api/v2/token_pb2.py,sha256=Hor17HkO25qzwnom9nBxJ4ArHpsITygFpZ1Pqq9SOWg,17439
88
- metalstack/api/v2/token_pb2.pyi,sha256=Rgky1v9J28Sl1lFbXGjomSJO77Vqih4SphVzfWv6aMA,9036
89
- metalstack/api/v2/token_pb2_grpc.py,sha256=kZAryVfRuhmlP4AZH7nNtb9Hyst9_nfxauDvxGo5WPQ,10454
86
+ metalstack/api/v2/token_connecpy.py,sha256=V7-YP7LBuhPtVgqwFP6V5aLT41b7wXhHcel6FWVAU3s,18398
87
+ metalstack/api/v2/token_pb2.py,sha256=9HMKMr5ujCEEhTW0GZNLGqCzGjrVrNqZXRvKbha1N5U,18210
88
+ metalstack/api/v2/token_pb2.pyi,sha256=rSmmUgMuehG-FReA0UtWsLuHHwjavvfzjUyVbcoCNxo,9461
89
+ metalstack/api/v2/token_pb2_grpc.py,sha256=VArROonKd0nlH2AtuKst4t_a8e4QGnbn8dx_t79ynO0,12425
90
90
  metalstack/api/v2/user_connecpy.py,sha256=JcvzSQWkOzep82vl_wsczq4Ib8k7ptprLVvAKD5EV5o,4078
91
91
  metalstack/api/v2/user_pb2.py,sha256=LnFvWlfgt8-DZ5mfEy1CaPNQFXHvvNq4iDVhe_QflaA,3511
92
92
  metalstack/api/v2/user_pb2.pyi,sha256=9TPWSzQ5bEGgeAvRxldSG6dK1lXo8Nt_5ihHmosILt8,1901
@@ -101,7 +101,7 @@ metalstack/infra/v2/bmc_connecpy.py,sha256=bSuJccboyftuFFZ63X1eMTv6Xngp9J5gGgPtK
101
101
  metalstack/infra/v2/bmc_pb2.py,sha256=maCH4C5cyDGHFt4SJg2ZBk9NeVf5eTGyAZkqx-LlQJM,2701
102
102
  metalstack/infra/v2/bmc_pb2.pyi,sha256=e4FGBnDQhg6K_zlhoC170lw-0OSlSdHK3So6r3Reh1E,444
103
103
  metalstack/infra/v2/bmc_pb2_grpc.py,sha256=3rDzkvuVS2cltmzRAvTo9f0vyR0ajgInCYixOmH5_7o,2927
104
- metal_stack_api-0.0.3.dist-info/METADATA,sha256=Z0kGG3w9wWvGipe7QuATf3ByWnkQgWX5ffeXusmxTsA,831
105
- metal_stack_api-0.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
106
- metal_stack_api-0.0.3.dist-info/top_level.txt,sha256=EVrYyUiIjmWi5LomfJxKYph7kX6cNdnKbpVLXUKG3M0,15
107
- metal_stack_api-0.0.3.dist-info/RECORD,,
104
+ metal_stack_api-0.0.4.dist-info/METADATA,sha256=UHObB_GHjgirqfAbXd5LgJjjfQ5MoIvFHw5wmUaaP9M,831
105
+ metal_stack_api-0.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
106
+ metal_stack_api-0.0.4.dist-info/top_level.txt,sha256=EVrYyUiIjmWi5LomfJxKYph7kX6cNdnKbpVLXUKG3M0,15
107
+ metal_stack_api-0.0.4.dist-info/RECORD,,
@@ -20,6 +20,7 @@ class TokenService(Protocol):
20
20
  async def Update(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse: ...
21
21
  async def List(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse: ...
22
22
  async def Revoke(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse: ...
23
+ async def Refresh(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse: ...
23
24
 
24
25
 
25
26
  class TokenServiceServer(ConnecpyServer):
@@ -67,6 +68,14 @@ class TokenServiceServer(ConnecpyServer):
67
68
  output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse,
68
69
  allowed_methods=("POST",),
69
70
  ),
71
+ "Refresh": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse](
72
+ service_name="TokenService",
73
+ name="Refresh",
74
+ function=getattr(service, "Refresh"),
75
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest,
76
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse,
77
+ allowed_methods=("POST",),
78
+ ),
70
79
  }
71
80
 
72
81
  def serviceName(self):
@@ -79,6 +88,7 @@ class TokenServiceSync(Protocol):
79
88
  def Update(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceUpdateResponse: ...
80
89
  def List(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceListResponse: ...
81
90
  def Revoke(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse: ...
91
+ def Refresh(self, req: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest, ctx: ServiceContext) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse: ...
82
92
 
83
93
 
84
94
  class TokenServiceServerSync(ConnecpyServer):
@@ -126,6 +136,14 @@ class TokenServiceServerSync(ConnecpyServer):
126
136
  output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse,
127
137
  allowed_methods=("POST",),
128
138
  ),
139
+ "Refresh": Endpoint[metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest, metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse](
140
+ service_name="TokenService",
141
+ name="Refresh",
142
+ function=getattr(service, "Refresh"),
143
+ input=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest,
144
+ output=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse,
145
+ allowed_methods=("POST",),
146
+ ),
129
147
  }
130
148
 
131
149
  def serviceName(self):
@@ -223,6 +241,24 @@ class TokenServiceClient(ConnecpyClient):
223
241
  **kwargs,
224
242
  )
225
243
 
244
+ def Refresh(
245
+ self,
246
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest,
247
+ *,
248
+ ctx: Optional[ClientContext] = None,
249
+ server_path_prefix: str = "",
250
+ **kwargs,
251
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse:
252
+ method = "POST"
253
+ return self._make_request(
254
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Refresh",
255
+ ctx=ctx,
256
+ request=request,
257
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse,
258
+ method=method,
259
+ **kwargs,
260
+ )
261
+
226
262
 
227
263
  class AsyncTokenServiceClient(AsyncConnecpyClient):
228
264
  async def Get(
@@ -324,3 +360,23 @@ class AsyncTokenServiceClient(AsyncConnecpyClient):
324
360
  session=session,
325
361
  **kwargs,
326
362
  )
363
+
364
+ async def Refresh(
365
+ self,
366
+ request: metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest,
367
+ *,
368
+ ctx: Optional[ClientContext] = None,
369
+ server_path_prefix: str = "",
370
+ session: Union[httpx.AsyncClient, None] = None,
371
+ **kwargs,
372
+ ) -> metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse:
373
+ method = "POST"
374
+ return await self._make_request(
375
+ url=f"{server_path_prefix}/metalstack.api.v2.TokenService/Refresh",
376
+ ctx=ctx,
377
+ request=request,
378
+ response_class=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse,
379
+ method=method,
380
+ session=session,
381
+ **kwargs,
382
+ )
@@ -28,7 +28,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
28
28
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
29
29
 
30
30
 
31
- 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\"\xba\x06\n\x05Token\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12#\n\x07user_id\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x06userId\x12,\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\x0b\x64\x65scription\x12P\n\x0bpermissions\x18\x04 \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\"\x82\x07\n\x19TokenServiceCreateRequest\x12,\n\x0b\x64\x65scription\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\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\x12\xc1\x01\n\rproject_roles\x18\x05 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceCreateRequest.ProjectRolesEntryB\\\xbaHY\x9a\x01V\"\x07r\x05\x10\x03\x18\x80\x01*K\xba\x01H\n\x0erole-specified\x12\x1eproject role must be specified\x1a\x16this >= 0 && this <= 3R\x0cprojectRoles\x12\xbd\x01\n\x0ctenant_roles\x18\x06 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceCreateRequest.TenantRolesEntryB[\xbaHX\x9a\x01U\"\x07r\x05\x10\x03\x18\x80\x01*J\xba\x01G\n\x0erole-specified\x12\x1dtenant role must be specified\x1a\x16this >= 0 && this <= 4R\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\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\"\xe2\x06\n\x19TokenServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x31\n\x0b\x64\x65scription\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x45\n\x0bpermissions\x18\x03 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionR\x0bpermissions\x12\xc1\x01\n\rproject_roles\x18\x04 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceUpdateRequest.ProjectRolesEntryB\\\xbaHY\x9a\x01V\"\x07r\x05\x10\x03\x18\x80\x01*K\xba\x01H\n\x0erole-specified\x12\x1eproject role must be specified\x1a\x16this >= 0 && this <= 3R\x0cprojectRoles\x12\xbd\x01\n\x0ctenant_roles\x18\x05 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceUpdateRequest.TenantRolesEntryB[\xbaHX\x9a\x01U\"\x07r\x05\x10\x03\x18\x80\x01*J\xba\x01G\n\x0erole-specified\x12\x1dtenant role must be specified\x1a\x16this >= 0 && this <= 4R\x0btenantRoles\x12J\n\nadmin_role\x18\x06 \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\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\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*S\n\tTokenType\x12\x1a\n\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eTOKEN_TYPE_API\x10\x01\x12\x16\n\x12TOKEN_TYPE_CONSOLE\x10\x02\x32\xa0\x04\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\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')
31
+ 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\"\xba\x06\n\x05Token\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12#\n\x07user_id\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x06userId\x12,\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\x0b\x64\x65scription\x12P\n\x0bpermissions\x18\x04 \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\"\x82\x07\n\x19TokenServiceCreateRequest\x12,\n\x0b\x64\x65scription\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02R\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\x12\xc1\x01\n\rproject_roles\x18\x05 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceCreateRequest.ProjectRolesEntryB\\\xbaHY\x9a\x01V\"\x07r\x05\x10\x03\x18\x80\x01*K\xba\x01H\n\x0erole-specified\x12\x1eproject role must be specified\x1a\x16this >= 0 && this <= 3R\x0cprojectRoles\x12\xbd\x01\n\x0ctenant_roles\x18\x06 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceCreateRequest.TenantRolesEntryB[\xbaHX\x9a\x01U\"\x07r\x05\x10\x03\x18\x80\x01*J\xba\x01G\n\x0erole-specified\x12\x1dtenant role must be specified\x1a\x16this >= 0 && this <= 4R\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\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\"\xe2\x06\n\x19TokenServiceUpdateRequest\x12\x1c\n\x04uuid\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\x31\n\x0b\x64\x65scription\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x02H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x45\n\x0bpermissions\x18\x03 \x03(\x0b\x32#.metalstack.api.v2.MethodPermissionR\x0bpermissions\x12\xc1\x01\n\rproject_roles\x18\x04 \x03(\x0b\x32>.metalstack.api.v2.TokenServiceUpdateRequest.ProjectRolesEntryB\\\xbaHY\x9a\x01V\"\x07r\x05\x10\x03\x18\x80\x01*K\xba\x01H\n\x0erole-specified\x12\x1eproject role must be specified\x1a\x16this >= 0 && this <= 3R\x0cprojectRoles\x12\xbd\x01\n\x0ctenant_roles\x18\x05 \x03(\x0b\x32=.metalstack.api.v2.TokenServiceUpdateRequest.TenantRolesEntryB[\xbaHX\x9a\x01U\"\x07r\x05\x10\x03\x18\x80\x01*J\xba\x01G\n\x0erole-specified\x12\x1dtenant role must be specified\x1a\x16this >= 0 && this <= 4R\x0btenantRoles\x12J\n\nadmin_role\x18\x06 \x01(\x0e\x32\x1c.metalstack.api.v2.AdminRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\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\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*S\n\tTokenType\x12\x1a\n\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0eTOKEN_TYPE_API\x10\x01\x12\x16\n\x12TOKEN_TYPE_CONSOLE\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')
32
32
 
33
33
  _globals = globals()
34
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -100,8 +100,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
100
100
  _globals['_TOKENSERVICE'].methods_by_name['List']._serialized_options = b'\330\363\030\003'
101
101
  _globals['_TOKENSERVICE'].methods_by_name['Revoke']._loaded_options = None
102
102
  _globals['_TOKENSERVICE'].methods_by_name['Revoke']._serialized_options = b'\330\363\030\003'
103
- _globals['_TOKENTYPE']._serialized_start=3377
104
- _globals['_TOKENTYPE']._serialized_end=3460
103
+ _globals['_TOKENSERVICE'].methods_by_name['Refresh']._loaded_options = None
104
+ _globals['_TOKENSERVICE'].methods_by_name['Refresh']._serialized_options = b'\330\363\030\003'
105
+ _globals['_TOKENTYPE']._serialized_start=3510
106
+ _globals['_TOKENTYPE']._serialized_end=3593
105
107
  _globals['_TOKEN']._serialized_start=179
106
108
  _globals['_TOKEN']._serialized_end=1005
107
109
  _globals['_TOKEN_PROJECTROLESENTRY']._serialized_start=800
@@ -138,6 +140,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
138
140
  _globals['_TOKENSERVICEGETREQUEST']._serialized_end=3300
139
141
  _globals['_TOKENSERVICEGETRESPONSE']._serialized_start=3302
140
142
  _globals['_TOKENSERVICEGETRESPONSE']._serialized_end=3375
141
- _globals['_TOKENSERVICE']._serialized_start=3463
142
- _globals['_TOKENSERVICE']._serialized_end=4007
143
+ _globals['_TOKENSERVICEREFRESHREQUEST']._serialized_start=3377
144
+ _globals['_TOKENSERVICEREFRESHREQUEST']._serialized_end=3405
145
+ _globals['_TOKENSERVICEREFRESHRESPONSE']._serialized_start=3407
146
+ _globals['_TOKENSERVICEREFRESHRESPONSE']._serialized_end=3508
147
+ _globals['_TOKENSERVICE']._serialized_start=3596
148
+ _globals['_TOKENSERVICE']._serialized_end=4252
143
149
  # @@protoc_insertion_point(module_scope)
@@ -173,3 +173,15 @@ class TokenServiceGetResponse(_message.Message):
173
173
  TOKEN_FIELD_NUMBER: _ClassVar[int]
174
174
  token: Token
175
175
  def __init__(self, token: _Optional[_Union[Token, _Mapping]] = ...) -> None: ...
176
+
177
+ class TokenServiceRefreshRequest(_message.Message):
178
+ __slots__ = ()
179
+ def __init__(self) -> None: ...
180
+
181
+ class TokenServiceRefreshResponse(_message.Message):
182
+ __slots__ = ("token", "secret")
183
+ TOKEN_FIELD_NUMBER: _ClassVar[int]
184
+ SECRET_FIELD_NUMBER: _ClassVar[int]
185
+ token: Token
186
+ secret: str
187
+ def __init__(self, token: _Optional[_Union[Token, _Mapping]] = ..., secret: _Optional[str] = ...) -> None: ...
@@ -40,6 +40,11 @@ class TokenServiceStub(object):
40
40
  request_serializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest.SerializeToString,
41
41
  response_deserializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse.FromString,
42
42
  _registered_method=True)
43
+ self.Refresh = channel.unary_unary(
44
+ '/metalstack.api.v2.TokenService/Refresh',
45
+ request_serializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest.SerializeToString,
46
+ response_deserializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse.FromString,
47
+ _registered_method=True)
43
48
 
44
49
 
45
50
  class TokenServiceServicer(object):
@@ -81,6 +86,13 @@ class TokenServiceServicer(object):
81
86
  context.set_details('Method not implemented!')
82
87
  raise NotImplementedError('Method not implemented!')
83
88
 
89
+ def Refresh(self, request, context):
90
+ """Refresh a token, this will create a new token with the exact same permissions as the calling token contains
91
+ """
92
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
93
+ context.set_details('Method not implemented!')
94
+ raise NotImplementedError('Method not implemented!')
95
+
84
96
 
85
97
  def add_TokenServiceServicer_to_server(servicer, server):
86
98
  rpc_method_handlers = {
@@ -109,6 +121,11 @@ def add_TokenServiceServicer_to_server(servicer, server):
109
121
  request_deserializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeRequest.FromString,
110
122
  response_serializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRevokeResponse.SerializeToString,
111
123
  ),
124
+ 'Refresh': grpc.unary_unary_rpc_method_handler(
125
+ servicer.Refresh,
126
+ request_deserializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest.FromString,
127
+ response_serializer=metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse.SerializeToString,
128
+ ),
112
129
  }
113
130
  generic_handler = grpc.method_handlers_generic_handler(
114
131
  'metalstack.api.v2.TokenService', rpc_method_handlers)
@@ -255,3 +272,30 @@ class TokenService(object):
255
272
  timeout,
256
273
  metadata,
257
274
  _registered_method=True)
275
+
276
+ @staticmethod
277
+ def Refresh(request,
278
+ target,
279
+ options=(),
280
+ channel_credentials=None,
281
+ call_credentials=None,
282
+ insecure=False,
283
+ compression=None,
284
+ wait_for_ready=None,
285
+ timeout=None,
286
+ metadata=None):
287
+ return grpc.experimental.unary_unary(
288
+ request,
289
+ target,
290
+ '/metalstack.api.v2.TokenService/Refresh',
291
+ metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshRequest.SerializeToString,
292
+ metalstack_dot_api_dot_v2_dot_token__pb2.TokenServiceRefreshResponse.FromString,
293
+ options,
294
+ channel_credentials,
295
+ insecure,
296
+ call_credentials,
297
+ compression,
298
+ wait_for_ready,
299
+ timeout,
300
+ metadata,
301
+ _registered_method=True)