我正在使用雾来运行实例创建一个ami:
@fog = Fog::Compute.new(
:provider => 'AWS',
:region => 'us-west-2',
:aws_access_key_id => aws_access_key,
:aws_secret_access_key => aws_secret_key
)
@fog.create_image(instance.identity,image_name,image_description)
我可以使用雾来公开这个吗?
答案 0 :(得分:1)
我已经找到了如何操作,我需要在上面的代码中添加一行:
@fog.modify_image_attribute(image_id,{'Add.Group' => ['all']}
如果图片有状态'待定' (就像我的情况一样),它会抛出一个异常,所以最后的修改是:
@fog = Fog::Compute.new(
:provider => 'AWS',
:region => 'us-west-2',
:aws_access_key_id => aws_access_key,
:aws_secret_access_key => aws_secret_key
)
data = @fog.create_image(instance.identity,image_name,image_description)
image_id = data.body['imageId']
print 'Waiting ami to come up'
begin
@fog.modify_image_attribute(image_id,{'Add.Group' => ['all']})
rescue
print(".")
sleep(10)
retry
end
puts 'READY!'
答案 1 :(得分:-1)
我不知道雾的语法,但为了公开您的AMI图像,您可以在AMI图像上使用ec2:ModifyImageAttribute
操作。
http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html
在这种情况下,您可以指定您的AMI图像ID以及添加"启动权限"到了#34;所有"基。
AWS CLI中modify-image-attribute
的文档中有一个公开设置AMI图像的示例:
http://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html
aws ec2 modify-image-attribute --image-id ami-5731123e
--launch-permission "{\"Add\": [{\"Group\":\"all\"}]}"