Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)