使用Jclouds在Google Compute Engine中找不到ImageId

时间:2015-08-17 22:50:23

标签: google-compute-engine jclouds

我正在使用jclouds在Google Compute Engine上创建实例,使用命令:

help_text

但错误如下:

Template template = context.getComputeService().templateBuilder().imageId("debian-7-wheezy-v20150710").build();

Set<? extends NodeMetadata> listNode = context.getComputeService().createNodesInGroup("teste", 1, template);

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您使用imageId(),则可能需要使用图像的完整路径。以下是如何找到它:

% gcloud compute images list --uri | grep debian-7

所示:

https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/backports-debian-7-wheezy-v20150710
https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20150710

所以你可以使用其中任何一个。以backports开头的那个包含较新版本的软件包,但仍然基于Debian 7 Wheezy。

或者,看起来jclouds能够自己创建这个URL,但不应使用imageId(),而应该使用(参见GitHub code example):

ComputeService compute = initComputeService(account, credentials);
[...]
TemplateBuilder templateBuilder = compute.templateBuilder();
templateBuilder.fromImage(compute
    .getImage("debian-7-wheezy-v20140408"));