add GET of individual token or list of all tokens of resource
This commit is contained in:
parent
11ffb5ca95
commit
fb1b88f5af
|
@ -58,9 +58,16 @@ class ApiClient:
|
|||
def release_usage_token(self, resource: str, token: str):
|
||||
return self._rest_get('/resource/%s/token/%s/release' % (resource, token))
|
||||
|
||||
def show_usage_token(self, resource: str, token: str):
|
||||
return self._rest_get('/resource/%s/token/%s' % (resource, token))
|
||||
|
||||
def list_resources(self):
|
||||
return self._rest_get('/resource')
|
||||
|
||||
def list_usage_tokens(self, resource:str):
|
||||
return self._rest_get('/resource/%s/token' % (resource))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
|
@ -85,9 +92,18 @@ if __name__ == "__main__":
|
|||
relut_p.add_argument("-r", "--resource", help="name of resource", required=True)
|
||||
relut_p.set_defaults(operation="release-usage-token")
|
||||
|
||||
shtok_p = subp.add_parser("show-usage-token")
|
||||
shtok_p.add_argument("-r", "--resource", help="name of resource", required=True)
|
||||
shtok_p.add_argument("-t", "--token", help="Usage token (previously obtained)", required=True)
|
||||
shtok_p.set_defaults(operation="show-usage-token")
|
||||
|
||||
lsres_p = subp.add_parser("list-resources")
|
||||
lsres_p.set_defaults(operation="list-resources")
|
||||
|
||||
lstok_p = subp.add_parser("list-tokens")
|
||||
lstok_p.add_argument("-r", "--resource", help="name of resource", required=True)
|
||||
lstok_p.set_defaults(operation="list-tokens")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
api = ApiClient(args.host, args.port)
|
||||
|
@ -98,7 +114,11 @@ if __name__ == "__main__":
|
|||
api.obtain_usage_token(args.resource, args.user_name, args.usage, args.duration)
|
||||
elif args.operation == "release-usage-token":
|
||||
api.release_usage_token(args.resource, args.token)
|
||||
elif args.operation == "show-usage-token":
|
||||
api.show_usage_token(args.resource, args.token)
|
||||
elif args.operation == "list-resources":
|
||||
api.list_resources()
|
||||
elif args.operation == "list-tokens":
|
||||
api.list_usage_tokens(args.resource)
|
||||
else:
|
||||
raise Exception("Unknown/Unsupported operation")
|
||||
|
|
|
@ -80,6 +80,27 @@ class PwrMgmtRestServer:
|
|||
set_headers(request)
|
||||
return json.dumps(token.to_dict())
|
||||
|
||||
@app.route('/api/v1/resource/<resrc>/token', methods=['GET'])
|
||||
def token_list(self, request, resrc):
|
||||
resource = self.resources[resrc]
|
||||
token_list = [t.to_dict() for t in resource.usage_tokens.values()]
|
||||
set_headers(request)
|
||||
request.setResponseCode(200)
|
||||
return json.dumps(token_list)
|
||||
|
||||
|
||||
@app.route('/api/v1/resource/<resrc>/token/<token_uuid>', methods=['GET'])
|
||||
def token_get(self, request, resrc, token_uuid):
|
||||
resource = self.resources[resrc]
|
||||
# find token within resource
|
||||
token = resource.usage_token_find(token_uuid)
|
||||
if not token:
|
||||
request.setResponseCode(404)
|
||||
return
|
||||
set_headers(request)
|
||||
request.setResponseCode(200)
|
||||
return json.dumps(token.to_dict())
|
||||
|
||||
@app.route('/api/v1/resource/<resrc>/token/<token_uuid>/release', methods=['GET'])
|
||||
def token_release(self, request, resrc, token_uuid):
|
||||
resource = self.resources[resrc]
|
||||
|
|
Loading…
Reference in New Issue