我尝试使用它的名称在AWS上使用特定的AMI。
如果我设置imageNameRegex = region/image_name
,它会起作用,但如果我尝试以下任何一项,则会失败:
imageNameRegex = image_name
imageNameRegex = .*/image_name
imageNameRegex = .*image_name
imageNameRegex = /.*image_name/
这里的目的是我可以在多个地区复制AMI,让布鲁克林选择正确的AMI,而无需为该地区指定特定的图像ID。
看看布鲁克林的测试,我甚至不需要正则表达式 - 只要名称是全名的子字符串就应该有效。
我在brooklyn.properties
而不是yaml中设置了这一点,尽管我无法想象这会产生任何影响。
答案 0 :(得分:1)
jclouds将查询所有者的数量限制为更常见的所有者,以获得更好的响应时间。但是,如果要使用更开放的查询,可以在创建上下文时通过设置jclouds.ec2.ami-query
属性来覆盖默认查询。默认情况下,jclouds使用这个:
owner-id=137112412989,801119661308,063491364108,099720109477,411009282317;state=available;image-type=machine
答案 1 :(得分:0)
您可能还需要指定图片所有者。
我记得,jclouds对图像所有者做了一些令人惊讶的事情:如果你指定一个图像名称正则表达式,它只会查看少数图像所有者(而不是所有20,000多个图像,这可能需要60+在某些家庭网络上从AWS检索的秒数。)
如果您指定图片所有者,则应找到它,例如:
imageOwner = 411009282317
您还可以设置anyOwner
位置配置,但这会检查它可以找到的每个 AMI:
anyOwner = true