def _route_servers(dummy_tenant_id): """ Route: /v1.1/<dummy_tenant_id>/servers Method: GET, POST """ utils.show_request(bottle.request) # nova boot if bottle.request.method == 'POST': body = json.load(bottle.request.body) return {'server': SERVERS.boot(body['server'])} # nova list (no details) return {'servers': SERVERS.list(detail=False)}
def _route_servers_id(dummy_tenant_id, server_id): """ Route: /v1.1/<dummy_tenant_id>/servers/<server_id> Method: GET, DELETE """ utils.show_request(bottle.request) # nova delete <server_id> if bottle.request.method == 'DELETE': SERVERS.delete(server_id) return # nova list if server_id == 'detail': return {'servers': SERVERS.list()} # nova show <server_id> return {'server': SERVERS.show(server_id)}
def _route_servers_id_action(dummy_tenant_id, server_id): """ Route: /v1.1/<dummy_tenant_id>/servers/<server_id>/action Method: POST """ utils.show_request(bottle.request) body = json.load(bottle.request.body) # nova console-log if 'os-getConsoleOutput' in body: return {'output': SERVERS.console_log(server_id)} # nova reboot elif 'reboot' in body: hard = body['reboot']['type'].lower() == 'hard' SERVERS.reboot(server_id, hard) return bottle.abort(400)