Beispiel #1
0
def host_command(host_id):
    logger.debug("host_command({host_id})".format(**locals()))
    if host_id not in Servers():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': Servers().command(host_id, command),
        'links': all_server_links(host_id, rel_to='server-command')
    }
    result['links'].append(server_link('get-servers'))
    return send_result(200, result)
def member_update(rs_id, member_id):
    logger.debug("member_update({rs_id}, {member_id})".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    ReplicaSets().member_update(rs_id, member_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(_build_member_parent_links(rs_id))
    result['links'].append(replica_set_link(
        'update-replica-set-member-config', rs_id, member_id, self_rel=True))
    return send_result(200, result)
def sh_command(cluster_id):
    logger.debug("sh_command({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': ShardedClusters().command(cluster_id, command),
        'links': all_sharded_cluster_links(cluster_id,
                                           rel_to='sharded-cluster-command')
    }
    return send_result(200, result)
def member_update(rs_id, member_id):
    logger.debug("member_update({rs_id}, {member_id})".format(**locals()))
    member_id = int(member_id)
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    ReplicaSets().member_update(rs_id, member_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(_build_member_parent_links(rs_id))
    result['links'].append(replica_set_link(
        'update-replica-set-member-config', rs_id, member_id, self_rel=True))
    return send_result(200, result)
def host_create():
    data = get_json(request.body)
    data = preset_merge(data, 'servers')
    result = _host_create(data)
    result['links'].extend([
        base_link('service'),
        base_link('get-releases'),
        server_link('get-servers'),
        server_link('add-server', self_rel=True),
        replica_set_link('get-replica-sets'),
        sharded_cluster_link('get-sharded-clusters')
    ])
    return send_result(200, result)
def member_add(rs_id):
    logger.debug("member_add({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    member_id = ReplicaSets().member_add(rs_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(
        _build_member_parent_links(rs_id, 'add-replica-set-member'))
    result['links'].append(
        replica_set_link('add-replica-set-member', self_rel=True))
    return send_result(200, result)
Beispiel #7
0
def host_create():
    data = get_json(request.body)
    data = preset_merge(data, 'servers')
    result = _host_create(data)
    result['links'].extend([
        base_link('service'),
        base_link('get-releases'),
        server_link('get-servers'),
        server_link('add-server', self_rel=True),
        replica_set_link('get-replica-sets'),
        sharded_cluster_link('get-sharded-clusters')
    ])
    return send_result(200, result)
def member_add(rs_id):
    logger.debug("member_add({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    data = get_json(request.body)
    member_id = ReplicaSets().member_add(rs_id, data)
    result = ReplicaSets().member_info(rs_id, member_id)
    result['links'] = _build_member_links(rs_id, result)
    result['links'].extend(
        _build_member_parent_links(rs_id, 'add-replica-set-member'))
    result['links'].append(
        replica_set_link('add-replica-set-member', self_rel=True))
    return send_result(200, result)
Beispiel #9
0
def rs_command(rs_id):
    logger.debug("rs_command({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': ReplicaSets().command(rs_id, command),
        'links': all_replica_set_links(rs_id, 'replica-set-command')
    }
    result['links'].append(
        replica_set_link('replica-set-command', self_rel=True))
    return send_result(200, result)
Beispiel #10
0
def sh_command(cluster_id):
    logger.debug("sh_command({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result':
        ShardedClusters().command(cluster_id, command),
        'links':
        all_sharded_cluster_links(cluster_id, rel_to='sharded-cluster-command')
    }
    return send_result(200, result)
def rs_command(rs_id):
    logger.debug("rs_command({rs_id})".format(**locals()))
    if rs_id not in ReplicaSets():
        return send_result(404)
    command = get_json(request.body).get('action')
    if command is None:
        raise RequestError('Expected body with an {"action": ...}.')
    result = {
        'command_result': ReplicaSets().command(rs_id, command),
        'links': all_replica_set_links(rs_id, 'replica-set-command')
    }
    result['links'].append(
        replica_set_link('replica-set-command', self_rel=True))
    return send_result(200, result)
def router_add(cluster_id):
    logger.debug("router_add({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    data = get_json(request.body)
    result = ShardedClusters().router_add(cluster_id, data)
    router_id = result['id']
    result['links'] = [
        server_link('get-server-info', router_id),
        sharded_cluster_link('add-router', cluster_id, self_rel=True),
        sharded_cluster_link('delete-router', cluster_id, router_id=router_id),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-routers', cluster_id),
    ]
    return send_result(200, result)
Beispiel #13
0
def router_add(cluster_id):
    logger.debug("router_add({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    data = get_json(request.body)
    result = ShardedClusters().router_add(cluster_id, data)
    router_id = result['id']
    result['links'] = [
        server_link('get-server-info', router_id),
        sharded_cluster_link('add-router', cluster_id, self_rel=True),
        sharded_cluster_link('delete-router', cluster_id, router_id=router_id),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-routers', cluster_id),
    ]
    return send_result(200, result)
def rs_create_by_id(rs_id):
    logger.debug("rs_create_by_id()")
    data = get_json(request.body)
    data = preset_merge(data, 'replica_sets')
    data['id'] = rs_id
    result = _rs_create(data)
    result['links'].extend([
        base_link('service'),
        base_link('get-releases'),
        sharded_cluster_link('get-sharded-clusters'),
        replica_set_link('get-replica-sets'),
        replica_set_link('add-replica-set'),
        replica_set_link('add-replica-set-by-id', rs_id, self_rel=True),
        server_link('get-servers')
    ])
    return send_result(200, result)
Beispiel #15
0
def rs_create_by_id(rs_id):
    logger.debug("rs_create_by_id()")
    data = get_json(request.body)
    data = preset_merge(data, 'replica_sets')
    data['id'] = rs_id
    result = _rs_create(data)
    result['links'].extend([
        base_link('service'),
        base_link('get-releases'),
        sharded_cluster_link('get-sharded-clusters'),
        replica_set_link('get-replica-sets'),
        replica_set_link('add-replica-set'),
        replica_set_link('add-replica-set-by-id', rs_id, self_rel=True),
        server_link('get-servers')
    ])
    return send_result(200, result)
Beispiel #16
0
def shard_add(cluster_id):
    logger.debug("shard_add({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    data = get_json(request.body)
    result = ShardedClusters().member_add(cluster_id, data)
    resource_id = result['_id']
    shard_id = result['id']
    result['links'] = [
        sharded_cluster_link('get-shard-info', cluster_id, shard_id),
        sharded_cluster_link('delete-shard', cluster_id, shard_id),
        sharded_cluster_link('add-shard', cluster_id, self_rel=True),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-shards', cluster_id)
    ]
    result['links'].append(_server_or_rs_link(result))
    return send_result(200, result)
def shard_add(cluster_id):
    logger.debug("shard_add({cluster_id})".format(**locals()))
    if cluster_id not in ShardedClusters():
        return send_result(404)
    data = get_json(request.body)
    result = ShardedClusters().member_add(cluster_id, data)
    resource_id = result['_id']
    shard_id = result['id']
    result['links'] = [
        sharded_cluster_link('get-shard-info', cluster_id, shard_id),
        sharded_cluster_link('delete-shard', cluster_id, shard_id),
        sharded_cluster_link('add-shard', cluster_id, self_rel=True),
        sharded_cluster_link('get-sharded-cluster-info', cluster_id),
        sharded_cluster_link('get-shards', cluster_id)
    ]
    result['links'].append(_server_or_rs_link(result))
    return send_result(200, result)