コード例 #1
0
ファイル: api.py プロジェクト: tpot/dwarf
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)}
コード例 #2
0
ファイル: api.py プロジェクト: tpot/dwarf
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)}
コード例 #3
0
ファイル: api.py プロジェクト: tpot/dwarf
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)