def get_instances(ids=None, state=None, tags=None, filters=None): ''' Get ec2 instances based on filters. ''' # apply filters based on arguments filter_list = [] if state: filter_list.append({'Name': 'instance-state-name', 'Values': utils.str_to_list(state)}) if tags: utils.add_tag_filters(tags, filter_list) if filters: utils.add_filters(filters, filter_list) # build collection filter arguments kwargs = {} if filter_list: kwargs['Filters'] = filter_list if ids: kwargs['InstanceIds'] = utils.str_to_list(ids) #return a collection of ec2 instances return CONN.instances.filter(**kwargs)
def get_amis(owner_ids, image_ids=None, tags=None, state=None, filters=None): ''' get AMIs based on filters ''' # apply filters based on arguments filter_list = [] if state: filter_list.append({'Name': 'state', 'Values': utils.str_to_list(state)}) if tags: utils.add_tag_filters(tags, filter_list) if filters: utils.add_filters(filters, filter_list) # build collection filter arguments kwargs = {} if filter_list: kwargs['Filters'] = filter_list if image_ids: kwargs['ImageIds'] = utils.str_to_list(image_ids) if owner_ids: kwargs['Owners'] = utils.str_to_list(owner_ids) #return a collection of ec2 instances return CONN.images.filter(**kwargs)