我正在尝试使用jclouds从java代码启动谷歌计算实例。它主要是工作,但是我想使用我定义的项目范围的SSH密钥,而不是让jclouds生成新的用户/密钥凭证。
根据自述文件 - https://github.com/apache/jclouds/tree/master/providers/google-compute-engine:
对于要成为ssable的实例,必须执行以下操作之一:1 - 项目的元数据具有充分构建的“sshKeys”条目,并且在调用createNodesInGroup时,GoogleComputeEngineTemplateOptions中提供了相应的私钥。 2 - 提供具有足够公钥和私钥的GoogleComputeEngineTemplateOptions实例。
我正在努力做1)。我已经正确配置了项目的元数据(我可以使用它连接到没有jclouds生成的凭据的手动创建的实例),但我无法弄清楚如何将该密钥提供给GoogleComputeEngineTemplateOptions?
既不
GoogleComputeEngineTemplateOptions.Builder.installPrivateKey(String key)
或GoogleComputeEngineTemplateOptions.Builder.overrideLoginPrivateKey(String key)
似乎有用。
文档很稀疏 - 有谁知道怎么做?
答案 0 :(得分:0)
TemplateOptions opts = computeService.templateOptions()
.as(GoogleComputeEngineTemplateOptions.class)
.overrideLoginPrivateKey(privateKey)
.autoCreateKeyPair(false);