in footmark/ecs/connection.py [0:0]
def delete_instances(self, **kwargs):
"""
Delete the instances specified
:type instance_ids: list
:param instance_ids: A list of strings of the Instance IDs to terminate
:type force: bool
:param force: Forces the instance to stop
:rtype: list
:return: A list of the instance_ids terminated
"""
instance_ids = kwargs["instance_ids"]
kwargs = self.format_request_kwargs(**kwargs)
if instance_ids:
if isinstance(instance_ids, six.string_types):
instance_ids = [instance_ids]
for instance_id in instance_ids:
kwargs["instance_id"]= instance_id
retry = 10
while retry:
try:
self.get_status_new(self.build_request_params(kwargs))
break
except ServerException as e:
if e.error_code == "IncorrectInstanceStatus.Initializing":
time.sleep(5)
retry -= 1
continue
raise e
if retry <= 0:
self.get_status_new(self.build_request_params(kwargs))
while instance_ids:
if self.describe_instances(instance_ids=instance_ids):
continue
break
return True
return False