在 OpenNebula 5.4 中,我可以使用 Curl 从服务模板实例化服务,但我不知道如何提供服务名称。该网站示例按预期工作:
curl http://127.0.0.1:2474/service_template/4/action -u 'oneadmin:opennebula' -v -X POST --data '{
"action": {
"perform":"instantiate"
}
}'
创建与服务模板同名的服务。但是,如果我运行相同的尝试为该实例添加一个参数action
(就像对给定服务执行操作时所做的那样),例如:
curl http://127.0.0.1:2474/service_template/4/action -u 'oneadmin:opennebula' -v -X POST --data '{
"action": {
"perform":"instantiate",
"params" : {
"name" : "new_name"
}
}
}'
它忽略了该参数,导致与运行前面提到的网站示例时相同...我尝试使用'name'、'service-name'、'service_name',但结果相同...你知道怎么做吗, 请?我认为它可能受到支持(就像在他们的 Java API 中一样),但没有记录(与许多其他功能一样)。
提前,非常感谢和欢呼
在办公室里,我们找到了一种解决方法:
似乎尚不支持发送参数,因此,必须执行后续操作以使用新的服务 ID 更新新创建的服务(完整的服务 JSON 在前一个请求的正文中返回):例如:如果实例化的新服务的 ID 为 85,它将是: