def get_filter_value(self, filter_name):
        if filter_name in ['cidr', 'cidrBlock', 'cidr-block']:
            return self.cidr_block
        elif filter_name == 'vpc-id':
            return self.vpc_id
        elif filter_name == 'subnet-id':
            return self.id
        elif filter_name == 'availabilityZone':
            return self.availability_zone
        elif filter_name == 'defaultForAz':
            return self.defaultForAz

        filter_value = super(Subnet, self).get_filter_value(filter_name)

        if filter_value is None:
            self.ec2_backend.raise_not_implemented_error("The filter '{0}' for DescribeSubnets".format(filter_name))

        return filter_value
API Version 2014-10-01 defines the following filters for DescribeSubnets:
dataset/ETHPy150Open spulec/moto/moto/ec2/models.py/Subnet.get_filter_value