2017-11-04 108 views
0

如何在刚刚产生用来取消固定节点

curl -k -X POST -H 'Content-Type: application/json' -d '{"login": "user", "password": "pass"}' https://server:4433/rbac-api/v1/auth/token

木偶令牌拨打上面的命令我用它来生成令牌,我需要下一个命令用它来运行以下

curl -X POST -H 'Content-Type: application/json' -H "X-Authentication:$token" -d '{"nodes": ["foo.tld", "bar.tld", "baz.tld"]}' https://$HOSTNAME:4433/classifier-api/v1/commands/unpin-from-all

我有是我手动一直在这个问题停止令牌解锁我的节点。我希望能够在Linux中生成令牌后调用该令牌,因此我不必每次都复制并粘贴该令牌。我需要添加什么命令才能执行此操作,如果可能的话,节点也是如此。

+0

您可以在几乎支持JSON解析和HTTP请求(这是大多数人的任何语言做到这一点:蟒蛇与urllib,红宝石与http,perl,js等是简单的解释性语言)。编写一行代码在第一行中创建请求,写第二行从json输出获取标记,然后编写第三行以在第二个请求中使用标记。 –

+0

@MattSchuchard请求在shell中是什么样的,这是我的问题。不知道如何从json输出中获取令牌。 – athlonxl

+1

用这三行代码编写脚本并执行它。 –

回答

0

不管你打算使用shell脚本还是手动命令,你都应该为标记使用标签。

puppet api docs

{ “登陆”: “你的PE用户名”, “密码”: “你的PE密码”, “标签”: “阿瓦的令牌”}

这使得令牌更容易调用

希望帮助

+0

我试着你的建议,并添加一个标签来调用令牌,但当我添加标签的部分,生成我的标签时,我尝试在第二个脚本中调用它没有任何反应,令牌已被撤销,但当我复制和粘贴它工作正常。 'curl -k -X POST -H'Content-Type:application/json'-d'{“login”:“user”,“password”:“pass”,“label”:“nodetoken”}'https://server:4433/rbac-api/v1/auth/token' – athlonxl

+0

curl -X POST -H'Content-Type:application/json'-H“X-Authentication:nodetoken”-d'{“nodes”:[ foo.tld“,”bar.tld“,”baz.tld“]}'https:// $ HOSTNAME:4433/classifier-api/v1/commands/unpin-from-all – athlonxl

+1

虽然这是合理的建议,但它对实际问题没有反应。评论比答案更合适。 –