【问题标题】:How to apply counter while creating AMI image如何在创建 AMI 映像时应用计数器
【发布时间】:2015-04-20 13:58:09
【问题描述】:
我正在编写脚本来创建正在运行的实例的图像,并且该实例具有保留计数和频率标签,然后将从该运行实例中选取该值,否则它将设置提供的默认值。创建的图像数量取决于频率。
但我得到了这个输出。
我已在脚本中将频率设置为,并应用了计数器,但不是增加计数的值,而是给出相同的值。目前保留计数可能会下降,因为我直到现在才使用它。
【问题讨论】:
标签:
python
python-2.7
amazon-web-services
boto
【解决方案1】:
import boto
import time
from boto import ec2
connection = ec2.connect_to_region('us-east-1')
count=0
reservations = connection.get_all_reservations(filters={ "tag-key" : "Automatic Backup" , "tag-value" : "True"})
A='Retention Count'
B='Frequency'
for reservation in reservations:
for instance in reservation.instances:
instance_tag=instance.tags
try:
rc=instance_tag[A];
except:
rc=30
try:
fq=instance_tags[B];
except:
fq=1
ID=instance.id
if fq <= '2':
curdate = time.strftime("%d/%m/%Y")
curtime=time.strftime("%H/%I/%M")
all_ami=connection.get_all_images(owners="xxxxxxxx")
for img in all_ami:
print img
val=img.description.find(curdate)
if val>0:
if count <= fq:
count=count+1
print count
connection.create_image(ID , name=ID+curdate+str(curtime), description=ID+curdate)
print "ami created"
if val < '0':
print count
connection.create_image(ID , name=ID+curdate+str(curtime), description=ID+curdate)