我正在用boto创建一个VPC和安全组。如果我只是在脚本中创建和标记元素,我会不断收到错误,因为元素还没有准备好。我可以直接进行手动等待,但我更喜欢拉它们以确定它们是否真的准备好了。对于VPC或子网,我可以使用类似的东西:
import boto.vpc
v = boto.vpc.VPCConnection(
region=primary_region,
aws_access_key_id=aws_access_key,
aws_secret_access_key=aws_secret_key)
vpcs = v.get_all_vpcs()
print vpcs[0].state
使用更多逻辑和while循环来检查状态是available
,running
还是其他。这适用于大多数vpc / aws元素,但是某些元素(如安全组)在使用get_all_security_groups
返回时没有状态属性或等效。
人们如何检查这些元素是否可以使用?
答案 0 :(得分:1)
事实证明,对于没有州属性的元素,你必须发挥创意并编写一些可能脆弱的代码。
对于安全组的具体示例,我这样做:
当它开始失败时(我确定它会失败),我会再看看其他更好的方法,但到目前为止一直没有成功。