def parse_subnets_by_tag(subnets, tag_key, tag_value, return_key='id'):
    """
    Args:
        subnets (list): List of dictionaries of the subnets that were created.
        tag_key (str): The tag key you are searching by.
        tag_value (str): The value of the tag you want to search by.

    Kwargs:
        return_key (str): The key you want returned.

    Basic Usage:
        >>> subnets = [
            {
                "az": "eu-west-1a",
                "cidr": "10.1.0.0/24",
                "id": "subnet-f6275193",
                "resource_tags": {
                    "Environment": "dev",
                    "Name": "dev_public",
                    "Tier": "public"
                }
            },
            {
                "az": "eu-west-1a",
                "cidr": "10.1.100.0/24",
                "id": "subnet-f1275194",
                "resource_tags": {
                    "Environment": "dev",
                    "Name": "dev_private",
                    "Tier": "private"
                }
            }
        ]
        >>> tag_key = "Name"
        >>> tag_value = "Development Private"
        >>> subnet_ids = parse_subnets_by_tag(subnets, tag_key, tag_value)

    Returns:
        List of vpc subnet ids
    """
    # return an attribute for all subnets that match
    subnet_values = []
    for item in subnets:
        for key, value in item['resource_tags'].iteritems():
            if key == tag_key and value == tag_value:
                subnet_values.append(item[return_key])
    subnet_values.sort()
    return subnet_values