收到状态码400无效值' ipaddress'为no_key

时间:2016-09-22 22:13:41

标签: node.js express chef

我使用chef-api表达快递js,我只想得到节点的#ip地址"服务器1"来自厨师服务器

即时发送此类请求

代码:


chef.partialSearch("node", "name:server1",{"ip":"ipaddress"} ,function(err, res){

  if (err){console.log(error);}

  else{console.log(res);}

});

chef.partialSearch("node", { q: "name:server1"} ,{"ip":"ipaddress"} ,function(err, res){
....
});

=>回复:

received status code 400 invalid  value 'ipaddress' for no_key
代码源中的

函数:

partialSearch: function(index, qs, data, fn){
            http_methods.post([config.host_url, "search", index].join("/"), qs, data, function(err, response){
                return fn(err, response);
            });
        }

我无法理解来自官方网站doc api_chef_server的请求(http)的正确语法 你能用例子给出一个有效的语法吗? 感谢

2 个答案:

答案 0 :(得分:0)

你可能想要的是这样的:

chef.getNode('server1', function(err, node) {
    if(err) throw err;
    console.log(node.automatic.ipaddress);
});

答案 1 :(得分:0)

最后,我找到了两个请求的正确语法

简单搜索:

    chef.search("node", {q: "name:server1" }, function(err, res){

       if (err){console.log(error);}

       else{console.log(res);}

     });

部分搜索:

chef.partialSearch("node", "chef_environment:prod", { name: ['name'] , 'ipaddress': ['ipaddress'] }, function(err, res){

        if (err){console.log(error);}

        else{console.log(res);}


    });

希望这可以帮助仍在寻找的其他人。