def _describe_specific_item()

in ec2stack/providers/cloudstack/__init__.py [0:0]


def _describe_specific_item(args, keyname, not_found, prefix):
    """
    Describe a specific item based on args['id'] or args['name'].

    @param args: Arguments involved in the request.
    @param keyname: Keyname of the Cloudstack response.
    @param not_found: Function to call if the item is not found.
    @param prefix: Parameter prefix.
    @return: Response.
    """
    keys = helpers.get_request_parameter_keys(prefix)

    response = {keyname: []}

    for key in keys:
        name = helpers.get(key)

        if 'Id' in key:
            args['id'] = name
        elif 'Name' in key:
            args['name'] = name

        request = describe_item_request(args, keyname, not_found)
        response[keyname].append(request)

    return response