0

我正在尝试使用其名称在 AWS 上使用特定的 AMI。

如果我设置它会起作用,imageNameRegex = region/image_name但如果我尝试以下任何一种方法就会失败:

imageNameRegex = image_name
imageNameRegex = .*/image_name
imageNameRegex = .*image_name
imageNameRegex = /.*image_name/

这里的目的是我可以跨多个区域复制 AMI,并让布鲁克林选择正确的,而无需为该区域指定特定的图像 ID。

看看布鲁克林测试,我什至不需要正则表达式——只要名称是全名的子字符串,它就可以工作。

我将其设置在brooklyn.propertiesnot the yaml all 中,尽管我无法想象这有什么不同。

4

2 回答 2

1

jclouds 将被查询的所有者数量限制为更常见的所有者以获得更好的响应时间。但是,如果您想要一个更开放的查询,您可以通过jclouds.ec2.ami-query在创建上下文时设置属性来覆盖默认查询。默认情况下,jclouds 使用这个:

owner-id=137112412989,801119661308,063491364108,099720109477,411009282317;state=available;image-type=machine

于 2015-03-31T07:38:29.467 回答
0

您可能还需要指定图像所有者。

我记得,jclouds 对图像所有者做了一些令人惊讶的事情:如果您指定图像名称正则表达式,它只会查看少数图像所有者(而不是所有 20,000 多张图像,这可能需要 60 多秒才能检索来自某些家庭网络上的 AWS)。

如果您指定图像所有者,那么它应该会找到它,例如:

imageOwner = 411009282317

您还可以设置anyOwner位置配置,但这将检查它可以找到的每个AMI:

anyOwner = true
于 2015-03-28T15:46:02.940 回答