使用boto.authorize更新sg以从现有sg添加端口

时间:2014-10-10 09:03:35

标签: boto

我正在尝试更新安全组以从其他安全组添加端口 例如:sg.authorize('tcp', 22, 22, sg-123456)

但我收到以下错误

sg.authorize('sg-abcdef', 'tcp', 22, 22, 'sg-123456')

File "/usr/local/lib/python2.7/site-packages/boto/ec2/securitygroup.py", line 187, in authorize
    src_group_owner_id = src_group.owner_id
AttributeError: 'str' object has no attribute 'owner_id'

1 个答案:

答案 0 :(得分:3)

如果要使用authorize对象的SecurityGroup方法,则必须传入代表源安全组的另一个SecurityGroup对象。您似乎在传递包含安全组ID的字符串。

您还可以使用authorize_security_group对象的EC2Connection方法。这确实接受源安全组的字符串值:

ec2.authorize_security_group(group_id='sg-abcdef', ip_protocol='tcp', from_port=22, to_port=22, src_security_group_group_id='sg-123456', src_security_group_owner_id='123456789012')